Commit 501959b
fix(pm): derive dispatch-gates --ran NOT-MEASURED from a recorded exit code (#17312)
The `--ran` headline read `0 NOT-MEASURED` whenever the runner had not
annotated, which is the RUNNER's silence rather than a measurement: across
four consecutive deliveries the tool printed a zero while 2, 2, 1 and 2
gates respectively had exited 3, the truth carried only by each seat's prose
beside the tool's own line. Worse, the silent record produced a CLEANER line
than an honest one, so the format rewarded not annotating.
The ran-file now takes an OPTIONAL `<command> :: exit <code>` tail. When it
is there the NOT-MEASURED class is DERIVED from the code — read against
EXIT_PREREQUISITE_NOT_MET, imported from the module that declares it rather
than respelled here — and cannot be left undeclared. When it is not, every
count this mode prints says CLAIMED in the same stroke, on the verdict line
and beside the counts. The claim-with-a-reason path survives untouched for
what an exit code cannot express.
Additive by construction: a record written before this field parses
byte-identically (no derived command contains the separator, measured over
150 of them), and a record written WITH it fails loud rather than green on a
tool that predates it.
Claude-Session: https://claude.ai/code/session_012zTkyNHJ7TkuN2oXtP5x37
Co-authored-by: Claude <noreply@anthropic.com>1 parent 9ca49eb commit 501959b
1 file changed
Lines changed: 530 additions & 18 deletions
0 commit comments