forked from mosaicstack/stack
validate-973.sh produces the complete evidence chain in one run:
0 instrument self-test (microtest, now C1-C11) before any evidence
1 expected set: 261 coordinates from the frozen denominator artifact
(+3 header shift), count declared BEFORE any suite runs
2 static inventory re-derived from SOURCE TEXT == expected set — the
ledger is an execution trace, not an inventory, so the inventory leg
comes from the text (mos-dt amendment ONE)
3 green instrumented run: ten suites, per-suite pinned sentinels
(preimage's divergent format included), exit codes reported per file
4 trace arithmetic on coordinate SETS: trace-minus-expected must be
empty; expected-minus-trace (converted-but-never-executed) is
enumerated and every entry must match a row in the committed
unexecuted-sites-dispositions.txt, with stale dispositions rejected
symmetrically
5 21 forced-error arms (19 denominator canaries + E-form store-ack:736,
the A6 $(count_lines) shape + F-form quarantine:563, the multi-grep
pipeline capture): each must emit ARMED, abort naming the site, exit
non-zero, emit NO sentinel, and have its ledger row already landed
6 residual sweep with the denominator's own classifier: zero unconverted
verdict greps, six per-form plants found in the same run
The nine unexecuted sites are the FAILED-branch summary lines, structurally
unreachable in a green run; microtest C11 executes the exact template on a
deterministically red mini-suite so their dispositions cite a measured
execution, not an inference.
First full run: OK — 252 executed + 9 dispositioned = 261, all arms fired,
sweep clean.
Written-by: pepper (sb-it-1-dt)
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NsKce8iZuSuRnu3gVMCBKB