Skip to content

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

Part of capability-graph — One capability graph, two projections, and no second inventory of what this repository can do.

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

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.