I1008 — The two projections are proved to be the same model
Test that the static and runtime representations of the graph are equal once runtime-only fields are removed, so the published site and the running server cannot become alternate realities.
BLOCKED wave 4 · p0 · implementation profile · parallel safe
Blocked. This issue cannot start until I1006, I1007 are done. The status is derived from that, not declared.
Objective
Test that the static and runtime representations of the graph are equal once runtime-only fields are removed, so the published site and the running server cannot become alternate realities.
Why
Two renderings of one model diverge silently, and the divergence is discovered by a person who trusted the wrong one. A parity test is the only thing that keeps them honest.
Current state
Only one projection exists today, so there is nothing to compare.
Desired state
One test builds both, strips the runtime-only fields and asserts equality, and it fails when either projection grows a field the other does not know about.
Scope
- test/cases
Out of scope
- Asserting equality of rendered markup rather than of the model
Dependencies
- I1006READY The runtime reads the graph through the registry, like every other read
- I1007READY The site renders the same graph, generated once
Acceptance criteria
- The comparison is over the normalised model, not over HTML
- Runtime-only fields are removed by an explicit list that the test owns, so adding one to either side without declaring it fails
- The test runs in CI on every change
Validation
- bash test/run.sh
Evidence required
- parity_tested
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 parity test that strips too much passes trivially. The stripped list is small, explicit and reviewed.
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/I1008.yaml. Read it back with majordomus plan show I1008.