5.1 KiB
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.