feat(fieldtest): bundle findings into collective issues; document the harvest sweep

Encode the tracker-growth practice ratified in the aura field run:

- fieldtest/SKILL.md — tracker filing defaults to bundling: one
  collective issue per fieldtest for related friction/spec_gap
  findings, consolidate-before-filing ahead of ANY new issue,
  per-issue filing only for real bugs (low-severity may wait in
  the collective issue). The fieldtester's per-finding report is
  unchanged; this is an orchestrator-side filing rule.
- docs/pipeline.md — new § Harvest sweep: the recognised batch
  shape for draining settled single-issue backlog (issue bodies
  as spec source, sequential implementer batches of 2-3, one
  non-removable independent whole-diff review, audit close,
  compact fieldtest under its normal skip rules). Registered as
  the specify/planner exception under § Skip rules.
- specify/SKILL.md, planner/SKILL.md — codify the sweep as a
  named alternative / skip case, per "skipping is codified per
  skill, not ad hoc".
- docs/conventions.md — register the noun in § Vocabulary.

closes #36
This commit is contained in:
2026-07-24 20:33:28 +02:00
parent 0951d1f14c
commit b2c92db725
5 changed files with 82 additions and 3 deletions
+1
View File
@@ -104,6 +104,7 @@ The pipeline's nouns are fixed:
| **cycle** | One round in the pipeline graph (`brainstorm → specify → planner → implement → audit → [fieldtest]`). NOT the top-level container. |
| **iteration** | A sub-unit of a cycle. |
| **milestone** | Tracker container spanning many cycles; closes only when complete AND functional (see `pipeline.md` § Milestone-close gate). |
| **harvest sweep** | Batch shape draining accumulated settled single-issue backlog in one pass (see `pipeline.md` § Harvest sweep). |
| **contract** | A single design-ledger entry. |
When a project declares a glossary (in its CLAUDE.md project facts),
+44 -3
View File
@@ -114,6 +114,43 @@ close stays a deliberate human / orchestrator act — the
tracker's own milestone-close action (on Gitea, `tea milestone
close`); no skill performs it automatically.
## Harvest sweep
A recognised batch shape for draining settled single-issue
backlog. When small, settled items accumulate on the tracker
(bundled fieldtest findings, absorbed leftovers, mechanical
one-offs), one full pipeline cycle per item is structurally
uneconomical; a harvest sweep drains them in one batch:
- the settled issue bodies stand in for spec and plan — each
item is already ratified and bite-sized, so `specify` and
`planner` are skipped by design (the exception is registered
in § Skip rules);
- the implementer works in sequential batches of 2-3 items —
direct `implementer` dispatches (the `implement-loop` carrier
needs a plan the sweep deliberately lacks), with no per-task
review pair; the whole-diff review below replaces it;
- the sweep closes with one **independent diff review over the
whole sweep** — an ad-hoc fresh-context reviewer over the
sweep's full diff, independent of the orchestrator and the
implementers (the per-task reviewer carriers do not fit a
whole-sweep diff) — then the mandatory `audit` close, and one
compact `fieldtest` under its normal skip rules (a
zero-surface sweep skips it).
The whole-diff review is **not removable**. Unlike a planned
cycle, where the task is the unit of review (`planner`'s
decomposition discipline), the sweep amortises review over the
batch — and in the consumer-project sweep this shape was
ratified from (recorded on issue #36), that one review caught
the only substantive error, which originated from orchestrator
+ fieldtest consensus, not from the implementers.
A sweep is orchestrator-decided at queue selection — a
judgement call like the `fieldtest` / `docwriter` dispatches,
not an arm of the selector cascade; the trigger is observed
accumulation of settled single-issue items.
## Phase descriptions
### brainstorm
@@ -285,11 +322,15 @@ documents what the skill skips and under what conditions:
gate before `planner`. `brainstorm` is the *optional* discovery stage
before it: skipped when the design is already settled in the sources
(the work enters through `specify` directly), run when a load-bearing
decision is still open.
decision is still open. The one batch exception is the harvest sweep
(§ Harvest sweep): its settled issue bodies are the ratified spec
source, so no new spec is written.
- `planner` is never skipped at iteration start, except for the
side paths that carry no prose plan: the bug-driven
`debug → implement (mini)` path and the `compiler-driven` path
(whose "plan" is the type-checker's enumeration of edit sites).
`debug → implement (mini)` path, the `compiler-driven` path
(whose "plan" is the type-checker's enumeration of edit sites),
and the harvest sweep (whose items are already bite-sized —
§ Harvest sweep).
- `implement` is the iteration body; not skippable.
- `audit` is mandatory at cycle close.
- `debug` is mandatory RED-first for any observable bug — first in