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
+9 -5
View File
@@ -68,11 +68,15 @@ Two rules govern who touches git history and how:
## Spec/plan artefacts are ephemeral
`docs/specs/` and `docs/plans/` hold only the active cycle's spec and
plan, and they stay **git-tracked** — do not git-ignore them. Each is
committed while its cycle is live and `git rm`'d at cycle close, so it
is transient in the repo: present for its own cycle, then gone from
`HEAD` while git history keeps the full text (see
`~/dev/skills/docs/conventions.md` § Lifecycle).
plan, and they are **git-ignored** — never committed (the plugin ignores
them globally via `~/.config/git/ignore`; a project may add its own
`.gitignore` entry instead). Each is a working file: present on disk for
its own cycle, read across sessions from the working tree, and
shell-`rm`'d at cycle close by `audit` — never `git rm`'d, since it was
never tracked, so no git-history copy survives. The durable record of a
past cycle is the design ledger only, and no durable artefact cites a
spec/plan by number or path (see `~/dev/skills/docs/conventions.md`
§ Lifecycle).
## Design rationale ≠ implementation effort