Files
stack/packages/mosaic/framework/tools/wake/validate-973/unexecuted-sites-dispositions.txt
T
Jason WoltjeandClaude Fable 5 5020c41749
ci/woodpecker/pr/ci Pipeline was successful
fix(wake): #984 fatal source guard + #985 absorb re-scan — #973 follow-up batch
Four changes, one coordinate shift:

1. #984: the ten suites sourced _wake-common.sh with `. file && wake_assert_init`
   under no set -e — a failed source left every helper undefined, every
   AND-polarity canary silently green, and the suite exiting 0 having run ZERO
   wake assertions. The source is now guarded alone in an explicit block that
   echoes a wake-authored diagnostic to real stderr and exits 97; init runs on
   its own line. Negative test: a copied suite without _wake-common.sh exits 97
   with the diagnostic.

2. #985: the sweep absorb branch keyed on helper-token presence alone, so a
   converted line that ALSO ran a raw grep verdict (has_match ... && grep -q
   SECRET ... && fail) was absorbed as benign. The absorb decision now re-scans
   the line remainder for grep in command position (RX_GREP_CMD, quote-unaware
   by design — errs toward loud), and is factored into residual_sites(), the
   ONE path both sweep legs share: leg 2 previously used raw classify() and
   never exercised the absorb branch at all. Plants G (helper+raw-grep, must
   stay residual) and H (grep only in pattern argument, must absorb as note)
   prove both directions; SWEEP-PLANTS is now 8/8.

3. validate-973.sh arms loop: the sentinel check was the one AND-polarity grep
   in the file — a grep error (rc>=2) read as "no sentinel" and passed toward
   green. Converted to the three-valued idiom with its own loud error arm.

4. Dead polarity() deleted from check-973.py (unreferenced since the frozen
   derivation was ported).

The #984 guard is +4 lines uniformly above every site in all ten suites, so
HEADER_SHIFT moves 3 -> 7 and the nine disposition rows shift +4; the frozen
artifact is untouched. Verified: expected==static (261 rows), full
validate-973.sh terminal-green (10 suites, 21 arms at shifted coordinates,
dispositions none-stale, sweep clean 8/8).

Written-by: pepper (sb-it-1-dt)
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NsKce8iZuSuRnu3gVMCBKB
2026-07-31 04:42:37 -05:00

38 lines
3.3 KiB
Plaintext

# unexecuted-sites-dispositions.txt — #973 validation, amendment ONE leg 3.
#
# The ledger is an execution trace, not an inventory: a green instrumented run
# cannot execute a site that only lives on a suite's red path. Every converted
# site that did NOT appear in the green-run trace is enumerated here with an
# individual disposition; validate-973.sh fails if any unexecuted site lacks a
# row here, and ALSO fails if a row here names a site that DID execute (stale
# disposition). Key = first two whitespace-separated fields; text after "—" is
# the adjudication.
#
# All nine sites below are the same structural shape, adjudicated one by one
# from source text: the suite's FAILED-branch summary line,
# echo "wake <name> harness: FAILED ($(count_lines . "$FAILFILE") assertion(s))" >&2
# guarded by `if [ -s "$FAILFILE" ]` — structurally unreachable while every
# assertion passes, which is precisely the state a green validation run is
# required to be in. (The tenth suite, test-wake-preimage.sh, uses its own
# X/Y summary format with no grep in the red branch, so it has no row here.)
#
# The disposition is NOT "it would work": the exact template is EXECUTED red
# in microtest C11 (deterministically failed mini-suite, same
# count_lines-in-substitution summary shape → right count, exit 1, ledger row
# at the summary coordinate), and the E-in-substitution abort path is proven
# by microtest C5 plus the forced-error arm at test-wake-store-ack.sh:736.
# Each site's conversion text is independently verified by the static
# inventory (check-973.py static == expected, all 261 rows).
#
# Verified guard per site (line numbers at branch tip, +3 header shift):
count_lines test-wake-beacon.sh:354 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 353; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-detector.sh:706 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 705; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-digest-hmac.sh:438 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 437; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-digest-quarantine.sh:588 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 587; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-fn-oracle.sh:136 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 135; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-install.sh:438 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 437; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-reconcile.sh:393 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 392; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-store-ack.sh:745 — red-path summary; guard `[ -s "$FAILFILE" ]` at line 744; template execution measured by microtest C11; text verified by static inventory
count_lines test-wake-store-enqueue-race.sh:212 — red-path summary (with "#927 TOCTOU reproduced (RED)" tail); guard `[ -s "$FAILFILE" ]` at line 211; template execution measured by microtest C11; text verified by static inventory