Skip to content

R14: persist the plan-vs-topology comparison (B was collecting nothing) - #34

Merged
LeoLin990405 merged 1 commit into
mainfrom
r14/plandiff
Aug 3, 2026
Merged

LeoLin990405 merged 1 commit into
mainfrom
r14/plandiff

Conversation

@LeoLin990405

Copy link
Copy Markdown
Owner

engine/v5/plan-diff.mjs shipped with two exported functions and zero callers.
The comparison between the coordinator's voluntary plan and its declared
topology — B's entire dependent variable — was never computed and never stored.

Found by running the E2 calibration cell rather than by a test: all ten arms
recorded dispatchPlan, none recorded planDiff. Had the full 150-arm run gone
ahead, it would have measured A and collected nothing for B.

Third occurrence of the same shape in this project: judge() computed
biasReport and the manifest discarded it; selectTranscript reported what it
kept and not what it dropped; plan-diff was never called at all. Each time the
analysis code exists, the wiring does not, and every unit test passes.

run-v5 now computes the comparison beside the plan and writes both to
meta.json; tournament carries it into the manifest. A regime without
topology.json yields an explicit comparison_available: false with a reason,
so an impossible comparison stays distinguishable from one never attempted.

Revert-verified: dropping planDiff from writeMeta reddens the new test.

CI: 521 backend + 25 frontend + 57 regimes + end-to-end smoke.

engine/v5/plan-diff.mjs shipped with two exported functions and zero callers.
The comparison between the coordinator's voluntary plan and its declared
topology — B's entire dependent variable — was never computed and never
written down. The E2 calibration cell surfaced it: all ten arms recorded
dispatchPlan and not one recorded planDiff, i.e. a run that measures A and
silently collects nothing for B.

This is the third time in this project a computed-or-computable measurement was
dropped before it reached storage: judge() produced biasReport and the manifest
discarded it; selectTranscript recorded what it kept and not what it dropped;
now plan-diff was never called at all. The pattern is always the same shape —
the analysis code exists, the wiring does not, and every unit test passes.

run-v5 now computes it beside the plan and writes both to meta.json; tournament
carries it into the manifest. A regime without topology.json yields an explicit
comparison_available: false with a reason, so an impossible comparison stays
distinguishable from one that was never attempted.

Revert-verified: dropping planDiff from writeMeta reddens the new test.

CI: 521 backend + 25 frontend + 57 regimes + smoke.
@LeoLin990405
LeoLin990405 merged commit 1987ef9 into main Aug 3, 2026
3 checks passed
@LeoLin990405
LeoLin990405 deleted the r14/plandiff branch August 3, 2026 08:24
LeoLin990405 pushed a commit that referenced this pull request Aug 6, 2026
LeoLin990405 added a commit that referenced this pull request Aug 6, 2026
#34)

engine/v5/plan-diff.mjs shipped with two exported functions and zero callers.
The comparison between the coordinator's voluntary plan and its declared
topology — B's entire dependent variable — was never computed and never
written down. The E2 calibration cell surfaced it: all ten arms recorded
dispatchPlan and not one recorded planDiff, i.e. a run that measures A and
silently collects nothing for B.

This is the third time in this project a computed-or-computable measurement was
dropped before it reached storage: judge() produced biasReport and the manifest
discarded it; selectTranscript recorded what it kept and not what it dropped;
now plan-diff was never called at all. The pattern is always the same shape —
the analysis code exists, the wiring does not, and every unit test passes.

run-v5 now computes it beside the plan and writes both to meta.json; tournament
carries it into the manifest. A regime without topology.json yields an explicit
comparison_available: false with a reason, so an impossible comparison stays
distinguishable from one that was never attempted.

Revert-verified: dropping planDiff from writeMeta reddens the new test.

CI: 521 backend + 25 frontend + 57 regimes + smoke.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant