Files
stack/docs/reports/quality/1099-pipefail-sweep.md
T
2026-08-07 03:58:35 -05:00

5.1 KiB

#1099 pipefail + early-exit sweep

Baseline: df4c591ab42aa1ae62c12935fdc0e772684864a0

This is a site inventory, not a risk count. FIXED means the early-exiting consumer no longer has a piped upstream process whose SIGPIPE can become the result under pipefail. NOT-LOAD-BEARING means the pipeline status is explicitly discarded. UNREACHABLE-AND-WHY describes designed input, not a payload-size safety claim.

Tranche 1 — runtime and general scripts

Baseline site Verdict Construction / reason
tools/matrix-presence-harness/run.sh:38 FIXED nullglob array selects the first path; no pipeline
tools/e2e-install-test.sh:139 FIXED capture help completely, then grep via redirection
tools/install.sh:312 FIXED NUL mapfile reads all roots; count != 1 reaches the named malformed-archive diagnostic
scripts/analysis/reflect-board-history.sh:76 FIXED capture Git history completely, then grep via redirection
scripts/analysis/reflect-git-history.sh:67 FIXED grep reads from a here-string
scripts/analysis/reflect-git-history.sh:69 FIXED grep reads from a here-string
packages/mosaic/framework/tools/authentik/user-create.sh:72 FIXED jq first(...) reads the response directly
packages/mosaic/framework/tools/git/mutate-push-guard.sh:87 FIXED grep -m1 reads the file directly; downstream cut consumes its complete scalar output
packages/mosaic/framework/tools/orchestrator/session-resume.sh:94 FIXED mapfile plus bounded indexed loop replaces head pipeline
packages/mosaic/framework/tools/prdy/prdy-status.sh:69 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:172 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:173 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:174 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:175 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:176 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:177 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/reflect-stop-hook.sh:178 FIXED grep reads from a here-string
packages/mosaic/framework/tools/qa/typecheck-hook.sh:16 FIXED Bash regex extracts the first field without a pipeline
packages/mosaic/framework/tools/qa/typecheck-hook.sh:56 FIXED grep and bounded sed each read from a here-string
packages/mosaic/framework/tools/tmux/send-message.sh:113 FIXED grep reads from a here-string
packages/mosaic/framework/tools/tmux/send-message.sh:124 FIXED grep reads from a here-string
packages/mosaic/framework/tools/wake/detector.sh:126 FIXED one awk reads the manifest directly and exits after the first exact key
packages/mosaic/framework/tools/wake/detector.sh:270 FIXED grep reads from a here-string
packages/mosaic/framework/tools/wake/detector.sh:278 FIXED grep reads from a here-string
packages/mosaic/framework/tools/wake/digest.sh:647 FIXED capture complete locator output, then select first line by parameter expansion
packages/mosaic/framework/tools/wake/reconcile.sh:149 FIXED one awk reads the manifest directly and exits after the first exact key

Explicit withdrawn / non-load-bearing sites

Baseline site Verdict Reason
tools/install.sh:182 NOT-LOAD-BEARING `
tools/install.sh:356 UNREACHABLE-AND-WHY pnpm pack writes one matching CLI tarball into a fresh directory immediately before lookup; citation withdrawn in #1099
tools/install.sh:357 UNREACHABLE-AND-WHY same fresh-directory invariant for gateway tarball; citation withdrawn in #1099
tools/install.sh:627 NOT-LOAD-BEARING `
scripts/agent/session-start.sh:70 NOT-LOAD-BEARING optional scratchpad lookup has `
packages/mosaic/framework/templates/repo/scripts/agent/session-start.sh:58 NOT-LOAD-BEARING optional scratchpad lookup has `
packages/mosaic/framework/tools/qa/qa-hook-stdin.sh:25 UNREACHABLE-AND-WHY withdrawn in #1099 after designed-input reachability measurement; preserved without re-litigation
packages/mosaic/framework/tools/qa/qa-hook-stdin.sh:27 UNREACHABLE-AND-WHY same withdrawn designed-input finding
packages/mosaic/framework/tools/qa/qa-hook-stdin.sh:30 UNREACHABLE-AND-WHY same withdrawn designed-input finding
packages/mosaic/framework/tools/qa/qa-hook-stdin.sh:32 UNREACHABLE-AND-WHY same withdrawn designed-input finding
packages/mosaic/framework/tools/qa/qa-hook-stdin.sh:34 UNREACHABLE-AND-WHY same withdrawn designed-input finding

Remaining test and wake-validation sites are intentionally deferred to later review-sized tranches and are not yet assigned a safety verdict here.