Development record
2026-07-08 — Post-review recording follows fix-the-detector: findings are
decisiondcn-2607080000000015
2026-07-08 — Post-review recording follows fix-the-detector: findings are captured as clustered issues (iss-29..49), each naming the detector (gate, lint rule, or test convention) that catches its class and carrying its instances as the detector's acceptance corpus; instances drain behind the armed detector, never hand-fixed ahead of it. Ten principles recorded from the 2026-07-08 multi-agent review; distillation in research/notes.
Frontmatter
| id | dcn-2607080000000015 |
|---|---|
| type | decision |
| date | 2026-07-08 |
.abcd/work/decisions/dcn-2607080000000015-post-review-recording-follows.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-29fail-closed capture surface: a misspelled capture subcommand (e.g. capture resovle) is swallowed as capture text and files a NEW issue instead of erroring (internal/surface/cli/cli.go:455) — a typo becomes a ledger mutation; --json errors emit raw Go text, not JSON (internal/surface/cli/cli.go:165), and abcd docs lint without a config surfaces a raw file error. Detector (per unrecognized-input-never-writes): a surface test convention where every mutating verb has a malformed-input case asserting an error, a did-you-mean for near-misses, and no write occurred, plus a --json error-shape contract test. Acceptance corpus: the three instances above — the detector is proven when it flags all three.