Repository navigation
Commit 66ecc50
fix(pm): reconcile dispatch-gates' family sections with a total a harvest can be asserted against (#14221)
* fix(pm): reconcile dispatch-gates' family sections with a total a harvest can be asserted against
The human rendering places a card's runnable answer in two differently
shaped sections — a path-derived matched block and a kind-derived
convention block — and nothing in it stated the union. Two independent
devs each harvested one section, ran it green, and reddened CI on a
family the other named; a third reader misread the same output a third
way. Both machine-readable modes already existed, so the gap was not a
missing mode but a missing control: a partial harvest was plausible
rather than detectable.
- familyReconciliation derives the total and its parts from the SAME two
expressions commandsFor unions, so a family added to either input moves
the section and the count together. The closure identity is asserted
and refuses rather than printing an untrustworthy total.
- familyReconciliationLines prints it on every completed derivation,
including at zero, with the arithmetic tying it to both sections and
the --commands escape hatch named inline.
- spellingFooterLines no longer spells its matched-block subtotal as
`N families`: that was the line a dropped-section harvest reconciled
against, successfully, on the wrong list. It now names its scope and
forward-points to the total when families sit outside its block.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WLJQhde67SeTccsmnBVarV
* test(pm): require the reconciliation CONTROL to have read a number before claiming detection
Measured while ablating the call site out of derive(): with no line printed
reconTotal is NaN, and `NaN !== convBlock.length` is TRUE — so the case
asserting that the total detects a short harvest passed while the remedy
was absent. That is the instrument-cannot-fail-toward-its-target shape this
card is about, inside the pin for it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WLJQhde67SeTccsmnBVarV
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 37f13d1 commit 66ecc50
1 file changed
Lines changed: 385 additions & 6 deletions
0 commit comments