forked from mosaicstack/stack
Mechanical conversion driven by the frozen denominator artifact (validate-973/convert-973.py, committed for auditability): every row is byte-verified against the worktree BEFORE any edit — a conversion applied to a line the denominator did not measure would be the umbrella defect wearing the converter's clothes — then 233 sites become has_match and 28 grep -c sites become count_lines, and each suite gains three header lines (source _wake-common.sh + wake_assert_init) directly after its SCRIPT_DIR line, a uniform +3 shift for every site coordinate. Env prefixes are kept (LC_ALL=C has_match — the prefix reaches the grep child, microtest C8). The two multi-grep pipeline sites (digest-quarantine:560, install:420) convert BOTH greps: each element is measurement-bearing, and under pipefail an rc=2 on the left is masked by an rc=1 on the right — the same defect one pipe deeper. Call-site 2>/dev/null redirects (the preimage canaries) are kept: ordinary grep noise stays suppressed, while an abort writes to the wake_assert_init-saved real stderr. Diff arithmetic: +291/-261 = 261 one-for-one line replacements + 30 header lines (10 suites x 3). Nothing in this commit is not the conversion. All ten suites run green after conversion. Per the review pre-registration (A9) that green is NON-EVIDENCE for this change: a suite that was green before conversion and green after witnesses nothing about whether the sites were converted — the counted-ledger equality in the validation harness is the evidence. Written-by: pepper (sb-it-1-dt) Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NsKce8iZuSuRnu3gVMCBKB