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:
+8
-6
@@ -125,12 +125,14 @@ committed as normal code** (they are consumer test assets — suggested
|
||||
subject `fieldtest: <cycle> — <N> examples, <K> findings`), while the
|
||||
**fieldtest spec is a git-ignored working file that is never committed**.
|
||||
|
||||
The fieldtest spec is written at cycle N's close but is an **input to
|
||||
the next cycle's `planner`**, so it belongs to cycle N+1, not N: the
|
||||
cycle-close sweep spares it (its `fieldtest-` filename prefix is the
|
||||
discriminator) and it is shell-`rm`'d at N+1's close alongside N+1's own
|
||||
spec and plan. If the consuming cycle closes without a `planner` (e.g. a
|
||||
milestone close), the orchestrator discards it explicitly.
|
||||
The fieldtest spec is written **after** cycle N's audit-close (fieldtest
|
||||
runs only once audit is clean), so N's cycle-close sweep has already run
|
||||
and cannot touch it — it survives naturally as an **input to the next
|
||||
cycle's `planner`**. It is shell-`rm`'d at N+1's audit-close, whose sweep
|
||||
removes every working-tree spec and plan (N+1's own, plus this spent
|
||||
fieldtest spec). The `fieldtest-` prefix only marks it in the working
|
||||
tree as the next cycle's input; it plays no part in the delete decision
|
||||
(the sweep removes everything present).
|
||||
|
||||
## Handoff Contract
|
||||
|
||||
|
||||
Reference in New Issue
Block a user