8d30bd3c
retro: an empty grep is not the same as no callers
a73x 2026-08-23 11:42
Commit message
RETRO.md
| Old | New | ||
|---|---|---|---|
| @@ -52,3 +52,12 @@ One line per push to `main`: what slowed the work down. Enforced by | |||
| 52 | mutation silently ate the uncommitted comment deletions sitting in the same | 52 | mutation silently ate the uncommitted comment deletions sitting in the same |
| 53 | file — mutation-test rounds and unstaged edits do not share a working tree. | 53 | file — mutation-test rounds and unstaged edits do not share a working tree. |
| 54 | Stage before mutating, and restore with an explicit --source=HEAD. | 54 | Stage before mutating, and restore with an explicit --source=HEAD. |
| 55 | - Wrong comments: verifying cost more than fixing. Every line number in the | ||
| 56 | filed issue was stale — the audit branch had already moved the files, and two | ||
| 57 | of the eleven were fixed in passing there — so each site had to be found by | ||
| 58 | content and then re-proved against the tree rather than trusted. Worse, the | ||
| 59 | callers grep to disprove "the snapshot path uses FreezeCAs" printed `no | ||
| 60 | matches found` because zsh expanded --include=*.go, not because there were no | ||
| 61 | callers. A negative that arrives as a shell error reads exactly like a | ||
| 62 | negative that arrives as an answer. Quote the glob, and treat an empty result | ||
| 63 | as a claim to check rather than a claim to make. | ||