| 1 |
Deletion candidate built from a weak name signal |
Inspect name, bundle-id, and fallback globs |
[Deletion evidence and final sink](references/deletion-evidence-and-final-sink.md) |
| 2 |
Existence or idleness decided by one probe |
Enumerate every legitimate location and unknown outcome |
[Deletion evidence and final sink](references/deletion-evidence-and-final-sink.md) |
| 3 |
Guard present on only one branch |
Diff dry-run, real, direct, fallback, and final-sink paths |
[Deletion evidence and final sink](references/deletion-evidence-and-final-sink.md) |
| 4 |
Unbounded external command |
Count producer, consumer, inner-loop, and action bounds |
[Bounds, Shell, TTY, and parsing](references/shell-and-test-pitfalls.md) |
| 5 |
Bash 3.2, errexit, or pipefail trap |
Check empty arrays, `fn |
|
handler`, and optional actions |
[Bounds, Shell, TTY, and parsing](references/shell-and-test-pitfalls.md) |
| 6 |
TTY, stdin, or process-group theft |
Inspect background workers and commands that may prompt |
[Bounds, Shell, TTY, and parsing](references/shell-and-test-pitfalls.md) |
| 7 |
System output parsed as a stable API |
Force locale and validate shape before accepting data |
[Bounds, Shell, TTY, and parsing](references/shell-and-test-pitfalls.md) |
| 8 |
Persisted derived data outlives its algorithm |
Trace schema, TTL, evidence fingerprint, and mutations |
[State, accounting, and progress](references/state-accounting-and-progress.md) |
| 9 |
Two paths compute one number differently |
Find every producer and choose one definition |
[State, accounting, and progress](references/state-accounting-and-progress.md) |
| 10 |
Slow work looks frozen |
Find operations over roughly one second outside feedback |
[State, accounting, and progress](references/state-accounting-and-progress.md) |
| 11 |
Regression test cannot fail |
Prove positive control and pre-fix red state |
[Test validity and refusal diagnostics](references/test-validity-and-refusal-diagnostics.md) |
| 12 |
Gate cannot explain why it refused |
Map each reason code to one cause and next action |
[Test validity and refusal diagnostics](references/test-validity-and-refusal-diagnostics.md) |
| 13 |
Mutation target is also accepted as a discovery container |
Compare the recursive scan-root namespace with every purge target basename |
[Deletion evidence and final sink](references/deletion-evidence-and-final-sink.md) |
| 14 |
Owner metadata is treated as a complete, atomic inventory |
Identify who writes it, whether absence is authoritative, and what locks mutation |
[Deletion evidence and final sink](references/deletion-evidence-and-final-sink.md) |
| 15 |
Cancellation stops one helper but later work continues |
Trace 124 and signal statuses across loops, subshells, workers, and section orchestration |
[Bounds, Shell, TTY, and parsing](references/shell-and-test-pitfalls.md) |
| 16 |
Async or cached data has no generation or freshness contract |
Bind results to a request epoch and keep each sample's time, stale, and completeness fields together |
[State, accounting, and progress](references/state-accounting-and-progress.md) |
| 17 |
Publication gate trusts ambiguous or pre-existing state |
Require exact source/tag equality, one generated target, and an expected-absence ref lease |
[Test validity and refusal diagnostics](references/test-validity-and-refusal-diagnostics.md) |