fix(pipeline): complete the gitignored-specs refactor (review gaps)

An adversarial review of 08bc2aa found three gaps:

- templates/CLAUDE.md.fragment still described the OLD git-tracked /
  git-rm-at-close model verbatim — the worst place to miss it, since new
  projects import this fragment into their CLAUDE.md. Rewritten to the
  gitignored / shell-rm / ledger-only model.
- INSTALL.md still cited "4-digit naming" — now slug-only.
- The fieldtest cross-cycle deletion rule was self-defeating: it keyed
  the spare/delete decision on the permanent fieldtest- prefix, which
  cannot encode "spare once, then delete." Because fieldtest runs only
  AFTER audit closes, the fresh fieldtest spec never exists at the
  cycle-close sweep, so the rule is simply "audit discards every
  working-tree spec/plan"; the spent fieldtest spec present at N+1's
  close was already consumed and goes with the rest. The prefix is now
  only a working-tree label, not a delete discriminator. Reconciled
  across audit, conventions, pipeline, fieldtest, fieldtester.
This commit is contained in:
2026-07-02 11:46:29 +02:00
parent 9ca2c8ab87
commit 2bc0cf025f
7 changed files with 40 additions and 31 deletions
+2 -2
View File
@@ -212,8 +212,8 @@ not merged.
### Phase 5 — Write the spec, hand back
Write the fieldtest spec under `docs/specs` named
`fieldtest-slug.md` (the `fieldtest-` prefix is mandatory — it is the
discriminator that spares the spec from the cycle-close sweep; no numeric
`fieldtest-slug.md` (the `fieldtest-` prefix is mandatory — it marks the
spec in the working tree as the next cycle's planning input; no numeric
prefix, see `docs/conventions.md` § Naming). Use the spec
template below. Leave all artefacts in the working tree as unstaged
changes. You do NOT commit — the orchestrator commits the **fixtures**