-- Where each module came from, and whether what the mesh holds is still current. -- -- novox/hq ADR 0010: delivery is a comparison, not a pipeline. The control plane holds what -- source exists and what has been built from it, and builds the difference. So both halves have -- to be written down, and *is this current?* is a question about two columns rather than -- something you find out by building. alter table module add column source text; -- where it comes from alter table module add column ref text; -- the branch followed there alter table module add column built_from text; -- the commit this manifest was read at alter table module add column source_head text; -- the newest commit the source is known to have -- When the mesh last learned the source had moved. Kept apart from `registered`, which is when -- the manifest last changed: a source that moved and was never built is exactly the state this -- exists to make visible, and one timestamp could not show it. alter table module add column source_seen timestamptz; -- A module with no source is not a fault. It was handed over directly -- which is how every -- module got here before this existed, and how a one-off still arrives. It is simply never out -- of date, because there is nothing it could be behind.