task-pipeline-skill 1.44.0 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.45.0
4
+
5
+ ### Changed
6
+
7
+ - **The body went 367 lines / 7514 tokens to 338 / 6088** — measured with
8
+ `cl100k`. The reference routing existed **three times**: a 36-row "Built-in
9
+ doctrine" table, a flat `## References` catalogue below it, and again in the
10
+ stage table's `Invoke` column. One home now — the routing table, keyed by the
11
+ stage that sends you there — and the four files that lived only in the flat
12
+ list gained rows so nothing lost its trigger.
13
+
14
+ - **The description is 970 chars**, exactly the 5% headroom the canon asks for,
15
+ down from 1010. Getting there took three attempts: the validator locks the
16
+ `Not for:` exclusions and the verbs `adopt`/`harden` against the NOTRIG evals
17
+ from the 2026-08-03 design, and refused two rewordings before accepting one
18
+ in text nothing had locked.
19
+
20
+ ### Known gap
21
+
22
+ - **The body is still 6088 tokens against a 5000 cap.** What remains is a
23
+ 36-entry routing table and a five-step operating procedure, and both are what
24
+ the skill *is* — a body that indexes 32 references cannot be smaller than its
25
+ index. Cutting further would mean removing the routing this skill exists to
26
+ do. Recorded rather than papered over: the number is real and the canon's cap
27
+ does not have a clause for a skill whose body is a router.
28
+
3
29
  ## v1.44.0 — six lessons other projects paid for, carried home by the mechanism that exists for it
4
30
 
5
31
  `retro.publish` sends a skill-level lesson upstream as an issue. Six arrived in one day
package/SKILL-CARD.md CHANGED
@@ -12,7 +12,7 @@ harmless.
12
12
  |---|---|
13
13
  | **Purpose** | Runs a substantial task through ten gated delivery stages — intake grill, docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs+registers, acceptance — refusing to advance until each gate passes |
14
14
  | **Owner** | ssheleg ([github.com/ssheleg/task-pipeline](https://github.com/ssheleg/task-pipeline)) |
15
- | **Version** | 1.44.0 |
15
+ | **Version** | 1.45.0 |
16
16
  | **Surface** | Claude Code (filesystem skill + plugin) and the vercel `skills` CLI. **Not** uploaded to the Skills API; custom Skills do not sync across surfaces |
17
17
  | **Dependencies** | None required. Optional: `context7` (MCP), `figma` (MCP), super-ux, agent-sync, graphify, obsidian-wiki. Every stage's doctrine ships in-repo; the one conditional requirement is super-ux for the stage-3 UX track on a user-facing task |
18
18
  | **Evaluation status** | Suite authored, 5 categories. One recorded run, **self-observed by the author**; **zero blind runs on zero of three models** — the split, and the numbers, live in [`evals/RESULTS.md`](evals/RESULTS.md) and are computed by `evals/run.py` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "task-pipeline-skill",
3
- "version": "1.44.0",
3
+ "version": "1.45.0",
4
4
  "description": "Full-cycle delivery pipeline for coding agents: a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine ships inside the skill — no companion plugin required. This package is the installer CLI.",
5
5
  "bin": {
6
6
  "task-pipeline": "bin/task-pipeline.js"
@@ -2,7 +2,7 @@
2
2
  "name": "task-pipeline",
3
3
  "displayName": "Task Pipeline",
4
4
  "description": "Runs a substantial task through a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine is built into the skill — no companion plugin required — with typed auto/manual gates, a frozen requirement spine that closes with evidence, a work board and a verification ledger that outlive a run, an exposure line naming what shipped unconfirmed, a progress rail computed from the project's own config, a loop guard whose review ceiling measures rather than stops, and stage-3 tracks for what a product does, how it sounds and how it looks. Two modes need no task: `checkup` (what is unverified) and `setup` (audit existing docs). Retro insights can publish upstream as issues, opt-in and redacted.",
5
- "version": "1.44.0",
5
+ "version": "1.45.0",
6
6
  "author": {
7
7
  "name": "ssheleg",
8
8
  "url": "https://x.com/sshlg93"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: task-pipeline
3
- description: "Runs a substantial task through a full delivery pipeline: an intake grill that locks the request into a brief, then docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy check, docs/wiki sync and acceptance. Use when work changes the repository — a feature, fix, refactor, migration, integration, rewrite, adoption or hardening; фича, фикс, рефактор, миграция, интеграция, доработать, починить, внедрить, перевести — or when the output is a finding that lands in it: audit/аудит, bug hunt/проверь ошибки, production check/проверь прод, PR review/ревью PR — or on 'run this through the pipeline' / 'прогони по конвейеру', 'the full cycle' / 'полный цикл', /task-pipeline. Two modes need no task at all: 'checkup' / 'чекап' reports what has shipped without a person confirming it and what to look at first; 'setup' audits the documentation a project already has. Not for: answering a question, explaining code, a typo or a one-line edit — say 'без пайплайна' / 'quick' to opt out."
3
+ description: "Runs a substantial task through a full delivery pipeline: an intake grill that locks the request into a brief, then docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy check, docs/wiki sync and acceptance. Use when work changes the repository — a feature, fix, refactor, migration, integration, rewrite, adoption or hardening; фича, фикс, рефактор, миграция, интеграция, доработать, починить, внедрить, перевести — or when the output is a finding that lands in it: audit/аудит, bug hunt/проверь ошибки, production check/проверь прод, PR review/ревью PR — or on 'run this through the pipeline' / 'прогони по конвейеру', 'the full cycle' / 'полный цикл', /task-pipeline. Two modes need no task at all: 'checkup' / 'чекап' reports what shipped unconfirmed and what to look at first; 'setup' audits existing documentation. Not for: answering a question, explaining code, a typo or a one-line edit — say 'без пайплайна' / 'quick' to opt out."
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -46,32 +46,32 @@ gate stops until it is installed.
46
46
 
47
47
  | Stage | Built-in doctrine |
48
48
  |---|---|
49
- | 0 + 9 + any settled decision · The documentation system | [`references/documentation.md`](references/documentation.md) |
50
- | any claim that will be read as true · The canons, and where each is enforced | [`evidence-docs`](../evidence-docs/SKILL.md) — the sibling skill in this plugin |
51
- | 6–10 + any check you write · Gates | [`references/gates.md`](references/gates.md) |
52
- | 7–8 · Deploy targets | [`references/deploy-targets.md`](references/deploy-targets.md) |
53
- | any agent-time enforcement · Hooks | [`references/hooks.md`](references/hooks.md) |
54
- | 0 Knowledge harvest (pre-grill) | [`references/knowledge-sources.md`](references/knowledge-sources.md) |
55
- | 0 + 9 The code graph (graphify — recommended, never required) | [`references/knowledge-graph.md`](references/knowledge-graph.md) |
56
- | 0 Intake grill | [`references/grill.md`](references/grill.md) |
57
- | 2 Brainstorm | [`references/brainstorm.md`](references/brainstorm.md) |
58
- | 2 Decompose (platforms only) | [`references/decomposition.md`](references/decomposition.md) |
59
- | 3 Spec | [`references/spec.md`](references/spec.md) |
60
- | 4 Plan | [`references/planning.md`](references/planning.md) |
61
- | 5 Build (worktree, subagents, fix loop) | [`references/build.md`](references/build.md) + [`references/review.md`](references/review.md) |
62
- | 5–6 TDD + suite gate | [`references/tdd.md`](references/tdd.md) |
63
- | 10 Acceptance (REQ close-out) | [`references/acceptance.md`](references/acceptance.md) |
64
- | 10 Retrospective (the run's last act) | [`references/retrospective.md`](references/retrospective.md) |
65
- | 10 + any audit (what's *missing*) | [`references/audit.md`](references/audit.md) |
66
- | **first run in a project** (new or existing) | [`references/adoption.md`](references/adoption.md) |
67
- | **first run · the entry audit** (offered once) | [`references/setup.md`](references/setup.md) |
68
- | **what travels with the bundle vs stays in a project** | [`references/portability.md`](references/portability.md) |
69
- | any repeating loop | [`references/loop-guard.md`](references/loop-guard.md) |
70
- | run-wide · what the run **prints about itself** — the rail, the iteration line | [`references/progress.md`](references/progress.md) |
71
- | run-wide · how a run keeps going (the loop mode + the context budget) | [`references/continuity.md`](references/continuity.md) |
72
- | run-wide · the work-list **between** runs, and how its priority is computed | [`references/backlog.md`](references/backlog.md) |
73
- | run-wide · whether a **human** ever confirmed what shipped, and when | [`references/verification.md`](references/verification.md) |
74
- | run-wide · how much unconfirmed work has piled up, and what to look at first | [`references/exposure.md`](references/exposure.md) |
49
+ | 0, 9 · The documentation system | `references/documentation.md` |
50
+ | any stage · The canons, and where each is enforced | [`evidence-docs`](../evidence-docs/SKILL.md) — the sibling skill in this plugin |
51
+ | 6–10 · Gates | `references/gates.md` |
52
+ | 7–8 · Deploy targets | `references/deploy-targets.md` |
53
+ | any stage · Hooks | `references/hooks.md` |
54
+ | 0 Knowledge harvest (pre-grill) | `references/knowledge-sources.md` |
55
+ | 0, 9 The code graph (graphify — recommended, never required) | `references/knowledge-graph.md` |
56
+ | 0 Intake grill | `references/grill.md` |
57
+ | 2 Brainstorm | `references/brainstorm.md` |
58
+ | 2 Decompose (platforms only) | `references/decomposition.md` |
59
+ | 3 Spec | `references/spec.md` |
60
+ | 4 Plan | `references/planning.md` |
61
+ | 5 Build (worktree, subagents, fix loop) | `references/build.md` + `references/review.md` |
62
+ | 5–6 TDD + suite gate | `references/tdd.md` |
63
+ | 10 Acceptance (REQ close-out) | `references/acceptance.md` |
64
+ | 10 Retrospective (the run's last act) | `references/retrospective.md` |
65
+ | 10 + any audit (what's *missing*) | `references/audit.md` |
66
+ | **first run in a project** (new or existing) | `references/adoption.md` |
67
+ | **first run · the entry audit** (offered once) | `references/setup.md` |
68
+ | **what travels with the bundle vs stays in a project** | `references/portability.md` |
69
+ | any repeating loop | `references/loop-guard.md` |
70
+ | run-wide · what the run **prints about itself** — the rail, the iteration line | `references/progress.md` |
71
+ | run-wide · how a run keeps going (the loop mode + the context budget) | `references/continuity.md` |
72
+ | run-wide · the work-list **between** runs, and how its priority is computed | `references/backlog.md` |
73
+ | run-wide · whether a **human** ever confirmed what shipped, and when | `references/verification.md` |
74
+ | run-wide · how much unconfirmed work has piled up, and what to look at first | `references/exposure.md` |
75
75
 
76
76
  **Optional bridge.** If the operator already runs an equivalent skill set (e.g.
77
77
  `superpowers:brainstorming` / `writing-plans` / `subagent-driven-development` /
@@ -101,7 +101,7 @@ workflow for the WHY→UI→scenario chain (`/ux`, `ux-foundation`, `ux-flows`,
101
101
  it — install before stage 3, otherwise stop and ask the operator to install.
102
102
 
103
103
  **The grill is built in — no companion skill, nothing to install.** Stage 0 ships
104
- with this skill: the full doctrine lives in [`references/grill.md`](references/grill.md)
104
+ with this skill: the full doctrine lives in `references/grill.md`
105
105
  (interview loop, domain awareness, autonomy sweep, output). It is **mandatory** —
106
106
  no "clear enough task" exemption, no starting stage 1 without a committed,
107
107
  operator-confirmed brief. The one sanctioned bypass is the entry-from-super-ux
@@ -113,17 +113,17 @@ stage 4's gate is a mechanical set-comparison against them, and **stage 10 accou
113
113
  for every one** — which is what turns the pipeline from a funnel into a circle.
114
114
 
115
115
  **Harvest before you ask.** Stage 0 opens with a **knowledge harvest**
116
- ([`references/knowledge-sources.md`](references/knowledge-sources.md)), not a
116
+ (`references/knowledge-sources.md`), not a
117
117
  question: pull what the project already knows about this task from the code, the
118
118
  **code graph** if one is built
119
- ([`references/knowledge-graph.md`](references/knowledge-graph.md) — graphify;
119
+ (`references/knowledge-graph.md` — graphify;
120
120
  recommended, never required),
121
121
  `CLAUDE.md`, `CONTEXT.md`/ADRs, **the decision register**, `docs/` + `docs/ux/`,
122
122
  past pipeline briefs, **the retro's standing instructions and run stamps** —
123
123
  `docs/superpowers/retro.md`, read in full because they *bind* this run and are
124
124
  bounded by construction (ten rows; one line per run), while its **recent log** and the
125
125
  archive under `docs/superpowers/retro/` are **queried** by the task's nouns
126
- ([`references/retrospective.md`](references/retrospective.md))
126
+ (`references/retrospective.md`) —
127
127
  the **knowledge wiki** if one is installed
128
128
  ([obsidian-wiki](https://github.com/ar9av/obsidian-wiki) — recommended, never
129
129
  required) and any **other repo or hosted doc system the project names as its
@@ -138,11 +138,11 @@ queries first, so a stale one is a false premise carrying the authority of a
138
138
  machine. Refreshing it also buys the **graph↔docs divergence check**: a hub no
139
139
  document names, an edge the docs deny, a doc naming a module the graph no longer
140
140
  has. Doc-side findings are fixed at stage 9; absences become REQ rows at stage 10
141
- ([`references/knowledge-graph.md`](references/knowledge-graph.md),
142
- [`references/audit.md`](references/audit.md)).
141
+ (`references/knowledge-graph.md`,
142
+ `references/audit.md`).
143
143
 
144
144
  **Documentation is a deliverable, and it has a gate**
145
- ([`references/documentation.md`](references/documentation.md)). Stage 0's harvest
145
+ (`references/documentation.md`). Stage 0's harvest
146
146
  reads what the project knows; a second phase asks the four questions that make it a
147
147
  *system* — where settled things live, what each fact's single home is, what a change
148
148
  of type X obliges, and what proves it — and writes them to `docs/DOCMAP.md`. From
@@ -157,7 +157,7 @@ plus a stable id, never a second act of thinking.
157
157
  *this* run and blind across runs, so the same class of failure can be caught, fixed
158
158
  and forgotten five times with nothing noticing it is the same one. The last act of
159
159
  stage 10 is therefore the **retrospective**
160
- ([`references/retrospective.md`](references/retrospective.md), written to
160
+ (`references/retrospective.md`, written to
161
161
  `docs/superpowers/retro.md`): **stamp the run first** — one line, and the only thing
162
162
  that makes the next step computable — **then prune**, every standing instruction
163
163
  checked against its retirement triggers (it became a check · its surface is gone · it
@@ -170,7 +170,7 @@ a gate criterion and not a good intention: a rule nobody reads to the end is wor
170
170
  than no rule, because everyone believes it is covered. **The order is load-bearing,
171
171
  not stylistic** — one retirement trigger counts firings across the last five run
172
172
  stamps, so a prune placed ahead of the stamp reads a counter its own stage writes
173
- afterwards and can never run on real data ([`references/learned.md`](references/learned.md) rule 21).
173
+ afterwards and can never run on real data (`references/learned.md` rule 21).
174
174
 
175
175
  Three things the grill does beyond clarifying the request:
176
176
  - **Domain awareness.** It reads the project's own `CONTEXT.md` / `docs/adr/` and
@@ -183,6 +183,10 @@ Three things the grill does beyond clarifying the request:
183
183
  mid-flight (test/lint/deploy commands, branch policy, log locations, docs
184
184
  targets, the model decision, deploy authorization). Autonomy is bought here or
185
185
  not at all — an unasked question is a scheduled interruption.
186
+ | any stage · Where each artifact belongs | `references/artifacts.md` |
187
+ | preflight · Companion skills and their fallbacks | `references/companion-skills.md` |
188
+ | 6–10 · How the host project's CLAUDE.md is read | `references/conventions.md` |
189
+ | preflight · Model map, ids and the override | `references/model-tiering.md` |
186
190
 
187
191
  ## How to run
188
192
 
@@ -261,19 +265,19 @@ Three things the grill does beyond clarifying the request:
261
265
  All stages run on the **one model confirmed at preflight** (default: the most
262
266
  capable available — see `references/model-tiering.md`).
263
267
 
264
- | # | Stage | Invoke | Gate | Type |
265
- |---|---|---|---|---|
266
- | 0 | Intake grill — **mandatory** | built in: [`references/knowledge-sources.md`](references/knowledge-sources.md) (harvest) → [`references/grill.md`](references/grill.md) (interview) | source ledger written; **the documentation inventory answered into `docs/DOCMAP.md`** — registers, single homes, the propagation matrix, the gate command — and **intent reconciled against as-built**, every divergence resolved ([`references/documentation.md`](references/documentation.md)); the retro read in full and its archive queried; shared understanding reached; autonomy sweep covered; brief locked + confirmed | manual |
267
- | 1 | Docs study | `context7` (resolve-library-id → get-library-docs) / `context7-docs` | contracts grounded on fetched docs | auto |
268
- | 2 | Brainstorm + decompose | built in: [`references/brainstorm.md`](references/brainstorm.md) + **UI detection** + [`references/decomposition.md`](references/decomposition.md) for platforms | design approved; UI verdict recorded; every REQ answered; platform: module map approved | manual |
269
- | 3 | Spec | built in: [`references/spec.md`](references/spec.md) — **UI → super-ux chain first** (`/ux` → `ux-foundation` CJM → `ux-flows` screens → `ux-scenarios` → `/ux-lint`), then spec `docs/superpowers/specs/…-design.md` | committed + reviewed; UI: chain validated, linter green, scenarios/`SCR-` traced | manual |
270
- | 4 | Plan | built in: [`references/planning.md`](references/planning.md) → `docs/superpowers/plans/…md` | parallel-ready, DoD per task | auto |
271
- | 5 | Dev | built in: [`references/build.md`](references/build.md) (worktree → subagent per task → review loop → integrate) + [`references/tdd.md`](references/tdd.md) | tasks DONE, TDD green per task, branch integrated per the brief; **anything generated passes its own checks, and local infrastructure does not publish the host's default ports** ([`references/learned.md`](references/learned.md)) | auto |
272
- | 6 | Tests | host test runner + built-in [`references/tdd.md`](references/tdd.md) + [`references/learned.md`](references/learned.md) | full suite green; new/changed code covered; **every new check probed both ways and asserted on its exit code**, and the suite run once against a cold environment ; **on a web front end the surface is checked in a browser, not in the diff** — a green suite cannot see a component that renders under a fixed header, a request that 404s past its mock, or a console error (`chrome-devtools`, [`references/companion-skills.md`](references/companion-skills.md); absent → say *verified by reading the diff* and record it as the weaker claim it is) | auto |
273
- | 7 | Lint + deploy | host lint → deploy per host convention | lint clean + suite green before deploy; deploy needs a go (or the brief's specific standing authorization) | manual |
274
- | 8 | Post-deploy | tail deploy logs / health-check | clean boot or honest degradation report; **a deployed web target is opened, not curled** — a `200` proves the server answered and says nothing about a 404'd bundle or a console full of errors on load (`chrome-devtools`; absent → call it an HTTP response, which is its honest name) | auto |
275
- | 9 | Docs + wiki | host module docs/runbook rules → `wiki-update` ([obsidian-wiki](https://github.com/ar9av/obsidian-wiki), recommended) → `/graphify . --update` ([`references/knowledge-graph.md`](references/knowledge-graph.md), recommended) | every stale row of the stage-0 source ledger updated; **the propagation matrix walked for every change type this run produced** — the ledger names what you read, the matrix names what you owe — every settled thing recorded with an id, every answered question resolved, and **the documentation gate green with its ratchet counts printed**; docs synced; wiki synced; **the code graph refreshed where one exists** and checked against the docs (a hub no doc names, a doc naming a node the graph lost); **every number computed rather than restated, every named command or file resolvable** ([`references/learned.md`](references/learned.md)); the carry-over count printed beside the verdict | auto |
276
- | 10 | **Acceptance** | built in: [`references/audit.md`](references/audit.md) (ladder walk) → [`references/acceptance.md`](references/acceptance.md) (coverage table) → [`references/retrospective.md`](references/retrospective.md) (retro: stamp, prune, entry) | ladder walk ran, its absences became REQ rows; every REQ accounted for with evidence from a check seen failing once; ledger has no unresolved row; **axis rotation recorded** (new findings vs self-inflicted, rule 1 of [`references/learned.md`](references/learned.md)), **every closure verified against the artefact rather than the document describing it**, **each correction swept across its class**, **every deferral a printed ratchet rather than a TODO**; **in a multi-repository project, every repository is clean, pushed and pointed at** (below); **the hand-back is written** — the request quoted as given, progress against it, what was solved, what surfaced unasked, waiting decisions asked here, and the ambiguity count computed ([`references/progress.md`](references/progress.md)); operator signs off; **every check this close-out leans on — the documentation gate included — has been seen failing once against a planted defect, and its ratchet counts are printed beside the verdict**; **the retrospective written last, and in order — the run stamped with its commit FIRST (the cold-retirement trigger reads that stamp), then the prune with the list at or under its cap and every deletion logged, then the entry; every deletion and every entry carrying its commit, entries older than five stamps rotated into the archive, counts printed** ; **both disclosures printed beside the verdict** — `abstained` (what the run declined to claim) and `unlooked` (what a check never looked at), neither a ratchet, neither with a floor, neither ever a target ([`references/gates.md`](references/gates.md) → *Disclosures*) | manual |
268
+ | # | Stage | Gate | Type |
269
+ |---|---|---|---|
270
+ | 0 | Intake grill — **mandatory** | source ledger written; **the documentation inventory answered into `docs/DOCMAP.md`** — registers, single homes, the propagation matrix, the gate command — and **intent reconciled against as-built**, every divergence resolved ([`references/documentation.md`](references/documentation.md)); the retro read in full and its archive queried; shared understanding reached; autonomy sweep covered; brief locked + confirmed | manual |
271
+ | 1 | Docs study | contracts grounded on fetched docs | auto |
272
+ | 2 | Brainstorm + decompose | design approved; UI verdict recorded; every REQ answered; platform: module map approved | manual |
273
+ | 3 | Spec | committed + reviewed; UI: chain validated, linter green, scenarios/`SCR-` traced | manual |
274
+ | 4 | Plan | parallel-ready, DoD per task | auto |
275
+ | 5 | Dev | tasks DONE, TDD green per task, branch integrated per the brief; **anything generated passes its own checks, and local infrastructure does not publish the host's default ports** ([`references/learned.md`](references/learned.md)) | auto |
276
+ | 6 | Tests | full suite green; new/changed code covered; **every new check probed both ways and asserted on its exit code**, and the suite run once against a cold environment ; **on a web front end the surface is checked in a browser, not in the diff** — a green suite cannot see a component that renders under a fixed header, a request that 404s past its mock, or a console error (`chrome-devtools`, [`references/companion-skills.md`](references/companion-skills.md); absent → say *verified by reading the diff* and record it as the weaker claim it is) | auto |
277
+ | 7 | Lint + deploy | lint clean + suite green before deploy; deploy needs a go (or the brief's specific standing authorization) | manual |
278
+ | 8 | Post-deploy | clean boot or honest degradation report; **a deployed web target is opened, not curled** — a `200` proves the server answered and says nothing about a 404'd bundle or a console full of errors on load (`chrome-devtools`; absent → call it an HTTP response, which is its honest name) | auto |
279
+ | 9 | Docs + wiki | every stale row of the stage-0 source ledger updated; **the propagation matrix walked for every change type this run produced** — the ledger names what you read, the matrix names what you owe — every settled thing recorded with an id, every answered question resolved, and **the documentation gate green with its ratchet counts printed**; docs synced; wiki synced; **the code graph refreshed where one exists** and checked against the docs (a hub no doc names, a doc naming a node the graph lost); **every number computed rather than restated, every named command or file resolvable** ([`references/learned.md`](references/learned.md)); the carry-over count printed beside the verdict | auto |
280
+ | 10 | **Acceptance** | ladder walk ran, its absences became REQ rows; every REQ accounted for with evidence from a check seen failing once; ledger has no unresolved row; **axis rotation recorded** (new findings vs self-inflicted, rule 1 of [`references/learned.md`](references/learned.md)), **every closure verified against the artefact rather than the document describing it**, **each correction swept across its class**, **every deferral a printed ratchet rather than a TODO**; **in a multi-repository project, every repository is clean, pushed and pointed at** (below); **the hand-back is written** — the request quoted as given, progress against it, what was solved, what surfaced unasked, waiting decisions asked here, and the ambiguity count computed ([`references/progress.md`](references/progress.md)); operator signs off; **every check this close-out leans on — the documentation gate included — has been seen failing once against a planted defect, and its ratchet counts are printed beside the verdict**; **the retrospective written last, and in order — the run stamped with its commit FIRST (the cold-retirement trigger reads that stamp), then the prune with the list at or under its cap and every deletion logged, then the entry; every deletion and every entry carrying its commit, entries older than five stamps rotated into the archive, counts printed** ; **both disclosures printed beside the verdict** — `abstained` (what the run declined to claim) and `unlooked` (what a check never looked at), neither a ratchet, neither with a floor, neither ever a target ([`references/gates.md`](references/gates.md) → *Disclosures*) | manual |
277
281
 
278
282
 
279
283
  ### Stage 10 in a project of several repositories
@@ -331,41 +335,8 @@ automation is on — `pipeline.schema.json` is the only contract.
331
335
 
332
336
  ## References
333
337
 
334
- - `pipeline.schema.json` the universal pipeline config contract (stages + release)
335
- - `pipeline.example.json` this plugin's default flow (stage 0 + 1→10) + release, as config
336
- - `references/knowledge-sources.md` stage-0 phase 1: the source list, the wiki, the ledger, the stage-9 loop-back
337
- - `references/knowledge-graph.md` the code graph (graphify): install line, stage-0 reach queries, the stage-9 refresh, the graph↔docs divergence check
338
- - `references/grill.md` — the built-in stage-0 grill: loop, domain awareness, autonomy sweep
339
- - `references/acceptance.md` — the built-in stage-10 close-out: REQ coverage, evidence, sign-off
340
- - `references/retrospective.md` — stage 10's last act: the project retro (`docs/superpowers/retro.md`), the three grades of fix, the mandatory prune and its cap of ten
341
- - `references/documentation.md` — cross-cutting: the doc inventory, registers and ids, SSOT, the Doc Loop, supersede semantics, the propagation matrix, intent vs as-built
342
- - `references/gates.md` — cross-cutting: the three axes, the promotion ladder, gate anatomy, the probe recipe, ratchet floors, where a gate runs
343
- - `references/deploy-targets.md` — stages 7–8: writing the runbook when there is none, the template, per-platform deploy and log verbs, and the verification trio
344
- - `references/hooks.md` — agent-time enforcement: the PreToolUse contract, the fail-open hazard, placement, and the Claude-Code-only limit
345
- - `references/audit.md` — cross-cutting: the L0→L7 ladder and its seams (what was never written), axis rotation, ratchets, proven checks
346
- - `references/learned.md` — cross-cutting: rules earned by failure on a real multi-repository build, each with the incident behind it, its check and its exit criterion; plus the two that no check can decide. The table is the count — a number written here is a number that goes stale on the next rule
347
- - `references/brainstorm.md` — stage 2: design dialogue, approaches, UI detection, hard gate
348
- - `references/spec.md` — stage 3: UX track order, the spec contract, self-review, review gate
349
- - `references/planning.md` — stage 4: zero-context plan format, parallel groups, no placeholders
350
- - `references/build.md` — stage 5: isolation, ledger, subagent task loop, fix loop, final review
351
- - `references/review.md` — the review rubric, diff packages and the three reviewer prompts
352
- - `references/tdd.md` — stages 5–6: the iron law, red/green/refactor, the suite gate
353
- - `references/stages.md` — per-stage detail + exact gate criteria + gate types
354
- - `references/model-tiering.md` — model map, ids, the `/model` reminder mechanic, override
355
- - `references/setup.md` — the entry audit: seven passes over the docs you already
356
- have, offered once, output as a fix plan; plus the inward check for rules that
357
- belong upstream
358
- - `references/portability.md` — the manifest of workflow decisions and their homes
359
- inside the bundle, and the boundary against a project's own answers
360
- - `references/adoption.md` — the first run in a project: greenfield seeding, and the
361
- brownfield walkthrough whose third step baselines the ratchets at today
362
- - `references/continuity.md` — run-wide pacing: the loop mode (`run.loop`, default
363
- off, and it never collapses a manual gate), how it is armed on Claude Code and
364
- what that costs, and the context budget — which fires on a harness signal, never
365
- on an estimate
366
- - `references/conventions.md` — how stages 6–10 read the host project's CLAUDE.md
367
- - `references/companion-skills.md` — companion skills, install lines, preflight recommendation
368
- - `references/artifacts.md` — the canonical document/artifact layout per stage
369
- - `templates/` — skeletons seeded into the host project: `brief.md` (stage 0),
370
- `carryover.md` (seeded at 0, appended by every stage, read in full at 10),
371
- `context.md` and `adr.md` (format references the grill writes lazily)
338
+ Every reference is routed from the **Built-in doctrine** table above, keyed by
339
+ the stage that sends you there one home for that mapping rather than two. The
340
+ two config contracts sit beside this file: `pipeline.schema.json` (the universal
341
+ stages + release contract) and `pipeline.example.json` (this plugin's default
342
+ flow as config).