You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(devx): the durability-log-level self-test handshake asserts "ran to the end", pass or fail (#15504)
`selfTest()` set `selfTestReachedVerdict` on its SUCCESS path only, and the
dispatch read that flag BETWEEN the two batteries. A genuine red therefore
printed its own verdict line and was then reported as
"selfTest() returned without reaching its verdict" — false, since the verdict
had just been printed — and the process exited before `selfTestReadSeams()`
ran at all, which is exactly what the comment above the dispatch forbids
("a red one must not hide the other"). Exit 1 either way, so no false green;
the cost was a misleading diagnostic plus half the self-test coverage lost on
the red path.
Both halves of the repair:
- the flag is now set at BOTH verdict sites of each battery, adjacent to the
line it certifies, so it can only be true if a verdict was really printed;
the returned status keeps carrying pass/fail;
- the dispatch runs BOTH batteries first and reads both handshakes after, then
exits with the combined status.
An early `return` above either verdict still trips that battery's own named
diagnostic — the property the handshake was landed for is unchanged.
`scripts/check-dispatcher-error-vocabulary.mjs` ships the same landed shape and
is deliberately untouched: its failure path calls `process.exit(1)` inside the
self-test, so its flag is never consulted on a red.
Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments