I1022 — Drift in any derived surface fails the build
Extend the generation check to cover every artifact this milestone introduces — the graph, the static projection, the navigation, the indexes, the search data — so a stale committed projection cannot merge.
BLOCKED wave 4 · p0 · implementation profile · parallel safe
Blocked. This issue cannot start until I1007 is done. The status is derived from that, not declared.
Objective
Extend the generation check to cover every artifact this milestone introduces — the graph, the static projection, the navigation, the indexes, the search data — so a stale committed projection cannot merge.
Why
Generation without a check is a suggestion. This is the mechanism that makes every derived surface in this milestone actually derived.
Current state
The generation check covers the existing target set.
Desired state
The new artifacts are in the same set, and a drift failure names the source to change rather than the file that differs.
Scope
- apps/majordomus-cli/src/generate.rs
Out of scope
- A separate drift script for the new artifacts
Dependencies
What waits on this
Acceptance criteria
- Every new artifact is part of the canonical target set and its check
- A drift failure names the authoritative source to change, not only the generated file that differs
- Generation is deterministic, so an unchanged repository never reports drift
- CI executes the check on every change
Validation
- majordomus generate --check
- bash test/run.sh
Evidence required
- drift_covered
- source_named
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
A non-deterministic generator turns this check into noise within a day, and the response to noise is to disable the check.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1022.yaml. Read it back with majordomus plan show I1022.