task-pipeline-skill 0.10.0 → 0.17.1
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 +401 -0
- package/LICENSE +85 -0
- package/README.md +211 -84
- package/cursor/rules/task-pipeline.mdc +135 -20
- package/package.json +3 -3
- package/plugins/task-pipeline/.claude-plugin/plugin.json +15 -4
- package/plugins/task-pipeline/commands/task-pipeline.md +16 -8
- package/plugins/task-pipeline/skills/task-pipeline/SKILL.md +139 -57
- package/plugins/task-pipeline/skills/task-pipeline/pipeline.example.json +41 -27
- package/plugins/task-pipeline/skills/task-pipeline/pipeline.schema.json +1 -1
- package/plugins/task-pipeline/skills/task-pipeline/references/acceptance.md +118 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/artifacts.md +32 -6
- package/plugins/task-pipeline/skills/task-pipeline/references/brainstorm.md +106 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/build.md +364 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/companion-skills.md +73 -21
- package/plugins/task-pipeline/skills/task-pipeline/references/conventions.md +11 -1
- package/plugins/task-pipeline/skills/task-pipeline/references/decomposition.md +139 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/grill.md +169 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/loop-guard.md +100 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/model-tiering.md +55 -22
- package/plugins/task-pipeline/skills/task-pipeline/references/planning.md +193 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/review.md +173 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/spec.md +144 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/stages.md +184 -48
- package/plugins/task-pipeline/skills/task-pipeline/references/tdd.md +110 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/README.md +11 -3
- package/plugins/task-pipeline/skills/task-pipeline/templates/adr.md +64 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/brief.md +49 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/carryover.md +36 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/context.md +87 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,406 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.17.1 — 2026-07-28
|
|
4
|
+
|
|
5
|
+
A full-repo consistency audit. v0.16.0 added a third review verdict and a tenth
|
|
6
|
+
stage; several surfaces never heard about either. An agent reads one surface, not
|
|
7
|
+
all of them, so a stage that is `three verdicts` in the config and `both verdicts`
|
|
8
|
+
in the prompt that actually runs simply produces two.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **The third review verdict now exists where reviews are actually dispatched.**
|
|
12
|
+
`references/review.md`'s task-review prompt asked for *"two verdicts"* — so the
|
|
13
|
+
REQ-satisfaction verdict the stage-5 gate requires was never returned. It now asks
|
|
14
|
+
for three (spec compliance → **REQ satisfied** → code quality), with the REQ one
|
|
15
|
+
judged against the requirement's quoted statement rather than the task's
|
|
16
|
+
instructions. Same correction in `build.md` (§4.4 and its gate), `planning.md`'s
|
|
17
|
+
plan header, `stages.md` and the Cursor rule.
|
|
18
|
+
- **Stage-5's gate now names the ledger harvest.** `build.md`'s gate omitted
|
|
19
|
+
"every parked finding and implementer concern harvested into the carry-over
|
|
20
|
+
ledger" — the one thing that must happen before the scratch workspace is deleted.
|
|
21
|
+
- **Three gates in the doctrine files were weaker than the same gates in
|
|
22
|
+
`stages.md`:** `planning.md` didn't state the REQ **set-equality** check (the
|
|
23
|
+
brief→plan seam), `spec.md` didn't require `covers: REQ-…` per section, and
|
|
24
|
+
`brainstorm.md` didn't require every REQ answered by the design or the module map
|
|
25
|
+
approved for a platform. All three now match.
|
|
26
|
+
- **Descriptions listed the flow wrong.** npm, the marketplace entry, the plugin
|
|
27
|
+
manifest: `…post-deploy, acceptance, docs/wiki` — eleven items for ten stages,
|
|
28
|
+
with the final stage listed second-to-last. The `/task-pipeline` command's
|
|
29
|
+
description and `SKILL.md`'s frontmatter stopped at docs/wiki and never named
|
|
30
|
+
acceptance at all.
|
|
31
|
+
- **Built-in doctrine tables were missing rows** for stage 10 acceptance
|
|
32
|
+
(`SKILL.md`, `README.md`, `companion-skills.md`), stage-2 decomposition and the
|
|
33
|
+
loop guard (`README.md`, `companion-skills.md`) — files that ship, are reachable,
|
|
34
|
+
and were absent from the very tables that say what ships.
|
|
35
|
+
- Smaller drift: the Cursor rule's stage 9 dropped the wiki sync; four gate checks
|
|
36
|
+
in `pipeline.example.json` had v0.16.0 sentences concatenated without punctuation;
|
|
37
|
+
`stages.md` wrote `implements:` where the plan format writes `Implements:`;
|
|
38
|
+
`artifacts.md` had the acceptance artifact listed before the spec and the ledger
|
|
39
|
+
attributed to stages `0→9`; the v0.1.0 design snapshot's disclaimer still
|
|
40
|
+
described the live shape as nine stages.
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
- **Three validator guards, each with a CI negative self-test**, so this class of
|
|
44
|
+
drift fails instead of shipping:
|
|
45
|
+
1. every human-facing description (npm, marketplace, plugin, `SKILL.md`, the
|
|
46
|
+
command, the Cursor rule, `README.md`) must name the flow's **final stage**,
|
|
47
|
+
and must not list it before the stage it runs after — derived from
|
|
48
|
+
`pipeline.example.json`, not hardcoded;
|
|
49
|
+
2. no shipped surface may say *two/both verdicts* while the dev gate declares
|
|
50
|
+
three;
|
|
51
|
+
3. each stage doctrine file's own `GATE (auto|manual)` must match that stage's
|
|
52
|
+
gate type in the config.
|
|
53
|
+
|
|
54
|
+
## v0.17.0 — 2026-07-28
|
|
55
|
+
|
|
56
|
+
Two mechanisms stop being files nobody walks and become operational doctrine: a
|
|
57
|
+
platform is cut into bricks before it is specced, and a loop that starts undoing
|
|
58
|
+
itself is broken instead of endured.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
- **Decomposition is stage 2's second half**, wired end to end —
|
|
62
|
+
`references/decomposition.md` now reached from `SKILL.md`'s doctrine table, the
|
|
63
|
+
stage-2 gate in `stages.md`, the example config, the Cursor rule, the command and
|
|
64
|
+
the README. A brief that describes a *platform* — several independent
|
|
65
|
+
capabilities, several separately shippable surfaces, REQs no single deliverable
|
|
66
|
+
satisfies — is cut into **modules** before any spec exists: by capability, never
|
|
67
|
+
by layer, and a candidate is a brick only when it is independently specifiable,
|
|
68
|
+
buildable and testable, owns its entities, talks through declared contracts only,
|
|
69
|
+
and can land while leaving the system working. The module map carries build order
|
|
70
|
+
— **walking skeleton first**, then topological, no cycles — with every REQ mapped
|
|
71
|
+
to exactly one module. Single-module work records `single module: <name>`: a
|
|
72
|
+
skipped decomposition is a decision, never an omission.
|
|
73
|
+
- **The module dossier** (`spec.md`): for a decomposed platform the spec has nine
|
|
74
|
+
required sections — purpose and boundary, architecture, entities and ownership,
|
|
75
|
+
contracts in and out **with their behavior when the other side is down**,
|
|
76
|
+
business rules in the domain's language, edge and failure cases, UI/Figma chain,
|
|
77
|
+
non-functional limits, and open questions with a decide-by moment. A skipped
|
|
78
|
+
section says why in one line; silence is not a skip.
|
|
79
|
+
- **The loop guard binds every repeating loop** — `references/loop-guard.md` is now
|
|
80
|
+
referenced from `SKILL.md`'s cross-cutting rules, a `stages.md` section, the
|
|
81
|
+
stage-5 fix loop, the Cursor rule and the command. Every repeating pass logs one
|
|
82
|
+
line per touched file with the reason that forced it ("cleanup" is not a reason).
|
|
83
|
+
It trips on revert-oscillation, a file edited twice for the same reason, a
|
|
84
|
+
resurrected finding, a third entry into one stage, or two loops editing one file,
|
|
85
|
+
plus hard caps (5 fix rounds per task, 2 re-entries per stage, 3 passes per
|
|
86
|
+
module). On a trip: stop editing, name shape A and shape B with their evidence,
|
|
87
|
+
escalate to the layer that owns the conflict, re-plan the check as an ordered
|
|
88
|
+
checklist with one verification command per item, then go through it one at a
|
|
89
|
+
time. **A higher-layer conflict is never settled inside a lower loop.**
|
|
90
|
+
- **Two autonomy-sweep rows** (grill + brief template): platform-or-single-module
|
|
91
|
+
with the deploy cadence it implies, and who signs off acceptance plus where
|
|
92
|
+
deferred REQs are tracked.
|
|
93
|
+
- **`conventions.md` gains the issue tracker** stage 10 needs — read the host's
|
|
94
|
+
convention, never invent a tracker, never close a run on "we'll remember it".
|
|
95
|
+
- `artifacts.md` gains the module map and the run-level ledger
|
|
96
|
+
(`.task-pipeline/run.md`) the loop guard writes to.
|
|
97
|
+
|
|
98
|
+
### Tests
|
|
99
|
+
- **The stage list is cross-checked across all three surfaces it is published on** —
|
|
100
|
+
`SKILL.md`'s table, `references/stages.md` and `pipeline.example.json`: identical
|
|
101
|
+
ids in identical order, matching names, matching gate types, and every stage in
|
|
102
|
+
`stages.md` carrying a `**GATE (auto|manual)**` line. Drift between surfaces is
|
|
103
|
+
invisible in review and lethal at runtime — a stage manual on one surface and auto
|
|
104
|
+
on another.
|
|
105
|
+
- `decomposition.md` and `loop-guard.md` join the stub-rejected doctrine set.
|
|
106
|
+
- Three negative self-tests against a mutated copy: a flipped gate type, a removed
|
|
107
|
+
GATE line and a deleted doctrine file each fail the validator.
|
|
108
|
+
|
|
109
|
+
## v0.16.1 — 2026-07-28
|
|
110
|
+
|
|
111
|
+
### Fixed
|
|
112
|
+
- **v0.16.0 added a tenth stage and left "1→9" in fifteen places** — the skill
|
|
113
|
+
description, the command, the Cursor rule, `stages.md`, `grill.md`, the brief
|
|
114
|
+
template, the example config and the README all still promised nine. The
|
|
115
|
+
package, marketplace and plugin descriptions said "9 gated stages" too, which
|
|
116
|
+
is what npm and the marketplace show. All re-synced to ten, and the plan
|
|
117
|
+
filename now uses the same slug as the brief and the spec.
|
|
118
|
+
|
|
119
|
+
## v0.16.0 — 2026-07-28
|
|
120
|
+
|
|
121
|
+
Scope stops leaking. The request becomes an addressable list of requirements, the
|
|
122
|
+
ids are traced through every stage, and a new final stage accounts for all of them.
|
|
123
|
+
|
|
124
|
+
The failure this fixes: every gate up to now asked *"is this artifact good?"* and
|
|
125
|
+
none asked *"does this still contain everything that was asked for?"* Scope doesn't
|
|
126
|
+
leak inside a stage — it leaks on the **seams**, because brief → spec → plan → task
|
|
127
|
+
briefs is four rewrites by a model and nothing compared the lists.
|
|
128
|
+
|
|
129
|
+
### Added
|
|
130
|
+
- **The REQ spine.** The grill's second hard output is a requirement table in the
|
|
131
|
+
brief — one row per *independently verifiable* deliverable, each naming **how it
|
|
132
|
+
is verified** (test name, `file:line`, command + expected output, scenario id). A
|
|
133
|
+
requirement you can't say how to verify is a badly-stated requirement, and gets
|
|
134
|
+
split during the grill rather than discovered at the end. One REQ = one
|
|
135
|
+
deliverable, not one per sentence: an inflated table is ignored, and an ignored
|
|
136
|
+
table protects nothing.
|
|
137
|
+
- **Traceability through the run.** Spec sections carry `covers: REQ-…`; plan tasks
|
|
138
|
+
carry `Implements: REQ-…`; the implementer's task brief quotes the requirement
|
|
139
|
+
statement **verbatim**, so it optimises the requirement and not just the
|
|
140
|
+
instruction; the review rubric gains a verdict beside spec-compliance and
|
|
141
|
+
code-quality — **does this satisfy its REQ?**
|
|
142
|
+
- **Stage 10 — Acceptance** (`references/acceptance.md`, manual gate). Closes the
|
|
143
|
+
circle: every REQ gets `verified` / `partial` / `deferred` / `dropped`, written to
|
|
144
|
+
`specs/<topic>-acceptance.md`. `verified` **requires evidence** — a passing test
|
|
145
|
+
name, a `file:line`, a command and its output. "Done" without evidence is
|
|
146
|
+
downgraded to `partial`, never upgraded. Then the operator is asked the closing
|
|
147
|
+
question out loud, list in hand: *here's what you asked for, here's what shipped,
|
|
148
|
+
here's what's deferred and where it lives — what's missing?* Asked even when the
|
|
149
|
+
table is green. Manual by design: an automated check can prove the table is
|
|
150
|
+
well-formed; only the person who asked can confirm it is what they asked for.
|
|
151
|
+
- **The carry-over ledger** (`templates/carryover.md`) — append-only, seeded at
|
|
152
|
+
stage 0, written by every stage, read in full at stage 10. Implementer concerns
|
|
153
|
+
and parked review findings are harvested into it before the scratch workspace is
|
|
154
|
+
deleted. The rule: **deferred out loud is forgotten** — a row with no home
|
|
155
|
+
(issue, backlog, or an agreed `dropped`) blocks the acceptance gate.
|
|
156
|
+
|
|
157
|
+
### Changed
|
|
158
|
+
- **The brief→plan seam is now mechanical.** Stage 4's gate is **set equality**
|
|
159
|
+
between the brief's REQ ids and the union of `Implements:` across plan tasks. A
|
|
160
|
+
non-empty difference fails the gate and is reported as the explicit list of
|
|
161
|
+
dropped requirements — a comparison, not a judgement call.
|
|
162
|
+
- **No silent narrowing.** The REQ list is frozen once confirmed: adding mid-run is
|
|
163
|
+
free, **removing or narrowing needs the operator's explicit agreement**, recorded
|
|
164
|
+
in the ledger. Quietly restating the task smaller is the subtlest loss, because
|
|
165
|
+
every later gate then passes honestly on a task that shrank without anyone
|
|
166
|
+
deciding it should.
|
|
167
|
+
- **Gates tightened** — stage 0 requires the REQ table and a seeded ledger; stage 2
|
|
168
|
+
requires the design to answer every REQ (or an operator-agreed drop); stage 3
|
|
169
|
+
requires `covers:` on every section; stage 5 harvests concerns into the ledger;
|
|
170
|
+
**stage 7 refuses to deploy while any REQ is still `open`** (a `partial` ships only
|
|
171
|
+
with explicit acceptance — a gap is cheapest to close before it ships).
|
|
172
|
+
|
|
173
|
+
### Fixed
|
|
174
|
+
- **`decomposition.md` and `loop-guard.md` shipped unreachable.** Both linked only
|
|
175
|
+
to each other; nothing in `SKILL.md` pointed at either, so under progressive
|
|
176
|
+
disclosure an agent would never load them — two contracts that existed, passed
|
|
177
|
+
every check, and were dead context. Wired into the doctrine table (stage 2 for
|
|
178
|
+
decomposition, cross-cutting for the loop guard), and the validator now walks the
|
|
179
|
+
link graph from `SKILL.md` and fails on any reference nothing reaches.
|
|
180
|
+
|
|
181
|
+
### Tests
|
|
182
|
+
- `references/acceptance.md` joins the built-in doctrine set (stub-rejected);
|
|
183
|
+
`templates/carryover.md` required; the brief template must carry
|
|
184
|
+
`## Requirements`, a `REQ-NNN` row and the verification column; the shipped flow's
|
|
185
|
+
last stage must be `acceptance` with a **manual** gate whose check demands
|
|
186
|
+
evidence; the plan gate must state the set comparison.
|
|
187
|
+
- Nine new invariants, each verified to fail on a broken copy; four added to CI as
|
|
188
|
+
negative self-tests.
|
|
189
|
+
|
|
190
|
+
## v0.15.0 — 2026-07-28
|
|
191
|
+
|
|
192
|
+
Coherence pass over the v0.13.0 port: three contradictions resolved, three gaps
|
|
193
|
+
closed, and the config's gate text re-synced with the doctrine.
|
|
194
|
+
|
|
195
|
+
### Fixed
|
|
196
|
+
- **Model policy contradicted itself.** `build.md` and `review.md` told the final
|
|
197
|
+
whole-branch review to run "on the most capable model available" while
|
|
198
|
+
`model-tiering.md` promises **one** model per run. Both now default to the run's
|
|
199
|
+
confirmed model; when the run sits below the top tier, escalation for that single
|
|
200
|
+
review (and for fix-loop rounds 4–5) is **offered out loud**, never switched
|
|
201
|
+
silently, and only the operator's recorded override map authorizes a cheaper tier.
|
|
202
|
+
- **Parallel groups were planned and then forbidden.** `planning.md` mandates
|
|
203
|
+
dependency-ordered parallel groups with exclusive file ownership; `build.md` said
|
|
204
|
+
"never dispatch implementers in parallel". New §4.2 states the real rule: default
|
|
205
|
+
sequential, fan out only when the tasks share a group, own disjoint files **and**
|
|
206
|
+
each implementer gets its own worktree; integrate the worktrees one at a time; any
|
|
207
|
+
merge conflict means the plan's ownership was wrong — fall back to sequential and
|
|
208
|
+
record it. The fix loop never fans out.
|
|
209
|
+
- **Scratch dirs could land in a task's diff.** The isolation snippet now ignores
|
|
210
|
+
**and commits** both `.worktrees/` and `.task-pipeline/` before anything is
|
|
211
|
+
created.
|
|
212
|
+
|
|
213
|
+
### Added
|
|
214
|
+
- **Stage 5 now ends with integration.** Sync with the base branch, re-run the full
|
|
215
|
+
suite on the merged result (green-in-isolation is not green), land it the
|
|
216
|
+
project's way — merge, or a PR, which is outward and needs a go — never
|
|
217
|
+
force-push a shared branch, never land on `main` when the brief forbids it, then
|
|
218
|
+
remove the worktree. Stages 7–9 lint, deploy and document the integrated result,
|
|
219
|
+
so "leave it unmerged" is allowed but must be recorded. The stage-5 gate, the
|
|
220
|
+
stage table, the Cursor rule and the example config carry the new condition.
|
|
221
|
+
- **Inline execution mode.** A harness without subagents (or a plan too small to be
|
|
222
|
+
worth dispatching) runs the same loop inline: same isolation, ledger, TDD and
|
|
223
|
+
review rubric applied to your own diff — declared out loud, since a self-review is
|
|
224
|
+
weaker evidence than a fresh reviewer's. Replaces the capability that
|
|
225
|
+
`superpowers:executing-plans` used to cover.
|
|
226
|
+
- **Grill + brief sweep row for integration** — how the branch lands (merge / PR +
|
|
227
|
+
approver / "leave it") and whether parallel fan-out is wanted, so stage 5 never
|
|
228
|
+
stops to ask.
|
|
229
|
+
|
|
230
|
+
### Changed
|
|
231
|
+
- The implementer contract spells the TDD loop out inline instead of pointing a
|
|
232
|
+
zero-context subagent at a file it can't resolve, and the plan header no longer
|
|
233
|
+
cites a skill-internal path.
|
|
234
|
+
- `pipeline.example.json` gate text for stages 4, 5 and 6 re-synced with
|
|
235
|
+
`references/stages.md`; stage 4's gate now also names type/name consistency and
|
|
236
|
+
the per-task DoD.
|
|
237
|
+
- `review.md` defines `$WORKSPACE` where it first uses it; `build.md` §4 subsections
|
|
238
|
+
renumbered after the insert.
|
|
239
|
+
|
|
240
|
+
## v0.14.0 — 2026-07-28
|
|
241
|
+
|
|
242
|
+
### Fixed
|
|
243
|
+
- Skill front-matter was **1039 characters**, over the 1024 canon limit, and the
|
|
244
|
+
validator did not check it. Description tightened to 996 and the limit is now
|
|
245
|
+
enforced.
|
|
246
|
+
|
|
247
|
+
### Changed
|
|
248
|
+
- Triggers restructured English-first — `'run this through the pipeline' /
|
|
249
|
+
'прогони по конвейеру'` — in both the skill and the Cursor rule.
|
|
250
|
+
- README is English-only, with a plain statement of what the pipeline gives you
|
|
251
|
+
and an author/links block.
|
|
252
|
+
|
|
253
|
+
### Added
|
|
254
|
+
- Validator enforces the description canon: `Use when` opening, Russian trigger
|
|
255
|
+
aliases present, front-matter under 1024 characters.
|
|
256
|
+
|
|
257
|
+
## v0.13.0 — 2026-07-28
|
|
258
|
+
|
|
259
|
+
The last external dependency is gone. Every stage now runs on doctrine that ships
|
|
260
|
+
inside the skill — the pipeline installs and runs with nothing else present.
|
|
261
|
+
|
|
262
|
+
- **superpowers is no longer a prerequisite.** The preflight no longer resolves
|
|
263
|
+
`superpowers:*`, the "install this or stop" branch is deleted, and no stage can
|
|
264
|
+
fail because a companion plugin is missing. `Prerequisites` in SKILL.md and the
|
|
265
|
+
README now read "none required".
|
|
266
|
+
- **Six new built-in references carry stages 2→6:**
|
|
267
|
+
- `references/brainstorm.md` — stage 2: read the brief first, explore, scope-check
|
|
268
|
+
for decomposition, one question at a time, 2–3 approaches with a recommendation,
|
|
269
|
+
YAGNI, design approved section by section. The **hard gate** (no code, no
|
|
270
|
+
scaffolding before approval, including on "obviously simple" tasks) is explicit.
|
|
271
|
+
- `references/spec.md` — stage 3: UX-track order, what the spec must lock (types,
|
|
272
|
+
schemas, signatures, file layout) plus the **Global Constraints** block stages
|
|
273
|
+
4–5 consume verbatim, the self-review pass, the operator-review gate.
|
|
274
|
+
- `references/planning.md` — stage 4: zero-context task format, dependency graph,
|
|
275
|
+
parallel groups with exclusive file ownership, required plan header and task
|
|
276
|
+
structure, the no-placeholders list, the self-review checklist.
|
|
277
|
+
- `references/build.md` — stage 5: worktree detection (submodule guard, native
|
|
278
|
+
tool first, ignored-directory check, baseline tests), a git-ignored ledger at
|
|
279
|
+
`.task-pipeline/build/<plan>/progress.md` that survives compaction, the
|
|
280
|
+
file-based dispatch contract, the four implementer statuses, the five-round fix
|
|
281
|
+
loop with its breaker and adjudication rules, and the single final fix wave.
|
|
282
|
+
- `references/review.md` — the review rubric (spec compliance, correctness,
|
|
283
|
+
constraints, test honesty, degradation, boundaries, security, docs-same-change),
|
|
284
|
+
severity ladder, controller rules ("never pre-judge a reviewer"), and the three
|
|
285
|
+
reviewer prompts. External helper scripts are replaced by plain git commands, so
|
|
286
|
+
the doctrine works on any agent.
|
|
287
|
+
- `references/tdd.md` — stages 5–6: the iron law, red/green/refactor with both
|
|
288
|
+
mandatory verifications, honest-test rules, the stage-6 full-suite gate, and the
|
|
289
|
+
rationalization table.
|
|
290
|
+
- **Ported, not depended on.** Stages 2–6 are adapted from `brainstorming`,
|
|
291
|
+
`writing-plans`, `using-git-worktrees`, `subagent-driven-development`,
|
|
292
|
+
`test-driven-development` and `requesting-code-review` in
|
|
293
|
+
[obra/superpowers](https://github.com/obra/superpowers) (MIT) and rewritten for
|
|
294
|
+
this pipeline's stages, gates, artifacts and single-model policy. `LICENSE` gains
|
|
295
|
+
a second *Third-party* section with Jesse Vincent's copyright notice covering the
|
|
296
|
+
six files.
|
|
297
|
+
- **Optional bridge, not a dependency.** An operator who already runs an equivalent
|
|
298
|
+
skill set can substitute it on stages 2/4/5/6 via `pipeline.json` → `skills[]`.
|
|
299
|
+
Nothing detects, recommends or waits for it; the gates still govern; providers are
|
|
300
|
+
never mixed inside one stage.
|
|
301
|
+
- **Config:** `pipeline.example.json` stages now name `task-pipeline:brainstorm`,
|
|
302
|
+
`task-pipeline:spec`, `task-pipeline:plan`, `task-pipeline:build` +
|
|
303
|
+
`task-pipeline:review`, and `host:test-runner` + `task-pipeline:tdd`.
|
|
304
|
+
- **Every channel updated** — SKILL.md (built-in doctrine table, stage table,
|
|
305
|
+
references list), `references/stages.md`, `references/companion-skills.md` (matrix
|
|
306
|
+
split into built-in vs optional, superpowers moved to a struck-through
|
|
307
|
+
"not a dependency" row), `references/artifacts.md` (new files in the repo map, the
|
|
308
|
+
`.task-pipeline/` scratch workspace, and a note that `docs/superpowers/` is a
|
|
309
|
+
retained directory *name*, not a dependency), the `/task-pipeline` command, the
|
|
310
|
+
Cursor rule (now carrying the design gate, plan format, build loop and TDD rules
|
|
311
|
+
inline) and the README in both languages.
|
|
312
|
+
- **Validator:** requires all six doctrine files and rejects stubs (<1.5 KB), and
|
|
313
|
+
fails the build if the shipped default flow names an external provider
|
|
314
|
+
(`superpowers:*`, `grill-me`, `grilling`) in any stage's `skills[]`.
|
|
315
|
+
- **Artifact paths unchanged** — briefs, specs and plans still live under
|
|
316
|
+
`docs/superpowers/{specs,plans}` so existing projects need no migration; the name
|
|
317
|
+
is now documented as historical convention only.
|
|
318
|
+
|
|
319
|
+
## v0.12.0 — 2026-07-27
|
|
320
|
+
|
|
321
|
+
The grill stops being someone else's skill. It is ported in, in full, and gains
|
|
322
|
+
the domain-awareness half it was missing.
|
|
323
|
+
|
|
324
|
+
- **The intake grill is now BUILT IN — zero external dependency.** New
|
|
325
|
+
`references/grill.md` carries the whole doctrine: the interview loop, domain
|
|
326
|
+
awareness, the autonomy sweep and the output contract. No companion skill to
|
|
327
|
+
install, no provider to resolve, no fallback path, no version skew with someone
|
|
328
|
+
else's repo. `grill-me` / `grilling` are gone from the companion matrix,
|
|
329
|
+
the preflight block and every channel's docs.
|
|
330
|
+
- **Ported from [mattpocock/skills](https://github.com/mattpocock/skills)** — the
|
|
331
|
+
`grilling` / `grill-with-docs` interview loop and its domain discipline, MIT,
|
|
332
|
+
adapted to this pipeline's flow. `LICENSE` gains a *Third-party* section with
|
|
333
|
+
Matt Pocock's copyright notice covering the three affected files.
|
|
334
|
+
- **New: domain awareness during the grill.** The grill now reads the project's
|
|
335
|
+
own `CONTEXT.md` / `CONTEXT-MAP.md` / `docs/adr/` and holds the operator to
|
|
336
|
+
them — challenging terms that conflict with the glossary, sharpening vague or
|
|
337
|
+
overloaded words into canonical ones, stress-testing relationships with concrete
|
|
338
|
+
edge-case scenarios, and surfacing contradictions between the code and what was
|
|
339
|
+
just said. Resolved terms are written to `CONTEXT.md` inline as they land, never
|
|
340
|
+
batched.
|
|
341
|
+
- **New: ADR discipline.** An ADR is offered only when a decision is hard to
|
|
342
|
+
reverse **and** surprising without context **and** the result of a real
|
|
343
|
+
trade-off; any one missing, skip it. Files are created lazily, numbered
|
|
344
|
+
sequentially in `docs/adr/`.
|
|
345
|
+
- **New templates** `templates/context.md` and `templates/adr.md` — the formats
|
|
346
|
+
those two artifacts follow, shipped on every install channel alongside
|
|
347
|
+
`brief.md`. `references/artifacts.md` now maps `CONTEXT.md` and `docs/adr/` into
|
|
348
|
+
the canonical layout.
|
|
349
|
+
- **Validator:** requires `references/grill.md` and all three templates; the
|
|
350
|
+
broken-relative-link check now strips fenced code blocks first, so illustrative
|
|
351
|
+
paths inside examples stop being false failures (verified it still catches real
|
|
352
|
+
broken links outside fences).
|
|
353
|
+
|
|
354
|
+
## v0.11.0 — 2026-07-27
|
|
355
|
+
|
|
356
|
+
The intake grill becomes mandatory, autonomy becomes something the grill actively
|
|
357
|
+
buys, and the model stops being a hardcoded per-stage tier list.
|
|
358
|
+
|
|
359
|
+
- **Stage 0 is now MANDATORY — the stage, not a particular skill.** No "clear
|
|
360
|
+
enough task" exemption, no starting stage 1 without a committed,
|
|
361
|
+
operator-confirmed brief (the entry-from-super-ux short-circuit remains the one
|
|
362
|
+
sanctioned bypass, and still demands a scope confirmation). The **provider** is
|
|
363
|
+
what's swappable: `grill-me`/`grilling` when that chain resolves, otherwise the
|
|
364
|
+
orchestrator's own grill loop — both implement the same **grill contract**, and
|
|
365
|
+
the loop is explicitly no longer described as a "fallback".
|
|
366
|
+
- **Grill-provider reality documented.** `grill-me` typically ships
|
|
367
|
+
`disable-model-invocation: true` (so the orchestrator can't call it — the
|
|
368
|
+
operator runs `/grill-me`) and is usually a thin wrapper delegating to
|
|
369
|
+
`/grilling`; if that delegate doesn't resolve the chain is dangling and the
|
|
370
|
+
built-in loop runs. The install line was also wrong — corrected to
|
|
371
|
+
`/plugin marketplace add alirezarezvani/claude-skills` →
|
|
372
|
+
`/plugin install engineering-advanced-skills@claude-code-skills`, with
|
|
373
|
+
`npx skills add mattpocock/skills` noted as the upstream origin.
|
|
374
|
+
- **New: the autonomy sweep.** The grill no longer only resolves the *task*; a
|
|
375
|
+
mandatory pass walks stages 1→9 and pre-resolves everything that would otherwise
|
|
376
|
+
interrupt the run — docs sources, branch/tracker policy, the test command and
|
|
377
|
+
what "green" means, the lint command, deploy target + release toggle + deploy
|
|
378
|
+
authorization, log/health locations, docs and wiki targets, the model. Each row
|
|
379
|
+
gets an answer or an explicit "stop and ask here"; an unasked question is a
|
|
380
|
+
scheduled interruption. Stages 5–9 read the brief instead of asking.
|
|
381
|
+
`templates/brief.md` gains the matching `## Autonomy` table.
|
|
382
|
+
- **Deploy authorization has a hard floor.** The brief can carry a standing
|
|
383
|
+
authorization for the manual stage-7 gate **only if it is specific** (named
|
|
384
|
+
target + named preconditions). A vague "just do everything" does not authorize an
|
|
385
|
+
outward, irreversible action.
|
|
386
|
+
- **Model policy replaces model tiering.** One model for the whole run, confirmed
|
|
387
|
+
**once at preflight** instead of a reminder at every stage boundary. Default
|
|
388
|
+
recommendation: *the most capable reasoning model the environment offers* — a
|
|
389
|
+
**tier, not a string**. Vendor ids are gone from everything shipped: they go
|
|
390
|
+
stale as generations ship and the operator may be on another provider entirely.
|
|
391
|
+
Stage configs use provider-agnostic tokens (`default` / `inherit`), resolved at
|
|
392
|
+
runtime; stage-5 subagents are pinned to the confirmed model; an unavailable tier
|
|
393
|
+
degrades honestly instead of blocking.
|
|
394
|
+
- **Validator gains four enforced invariants** (each with a CI negative self-test
|
|
395
|
+
proving it can fail): no hardcoded vendor model id anywhere shipped (skill,
|
|
396
|
+
references, cursor rule, command, README); stage `model` must be a
|
|
397
|
+
provider-agnostic token; the intake-grill gate must stay `manual` and declare
|
|
398
|
+
itself mandatory; `templates/brief.md` must keep its autonomy sweep.
|
|
399
|
+
- Docs realigned across every channel — SKILL.md, `references/stages.md`,
|
|
400
|
+
`references/model-tiering.md`, `references/companion-skills.md`,
|
|
401
|
+
`pipeline.schema.json`, `pipeline.example.json`, the `/task-pipeline` command,
|
|
402
|
+
the Cursor rule, and the README in both languages.
|
|
403
|
+
|
|
3
404
|
## v0.10.0 — 2026-07-25
|
|
4
405
|
|
|
5
406
|
Review pass — doc drift and a distribution defect found by an adversarial audit.
|
package/LICENSE
CHANGED
|
@@ -19,3 +19,88 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
================================================================================
|
|
25
|
+
Third-party
|
|
26
|
+
================================================================================
|
|
27
|
+
|
|
28
|
+
1) Intake grill (stage 0)
|
|
29
|
+
-------------------------
|
|
30
|
+
|
|
31
|
+
The built-in intake grill (stage 0) is adapted from the `grilling` /
|
|
32
|
+
`grill-with-docs` skills in https://github.com/mattpocock/skills — specifically
|
|
33
|
+
its interview loop and its domain-awareness discipline (glossary challenges,
|
|
34
|
+
CONTEXT.md, ADR criteria). Affected files:
|
|
35
|
+
|
|
36
|
+
plugins/task-pipeline/skills/task-pipeline/references/grill.md
|
|
37
|
+
plugins/task-pipeline/skills/task-pipeline/templates/context.md
|
|
38
|
+
plugins/task-pipeline/skills/task-pipeline/templates/adr.md
|
|
39
|
+
|
|
40
|
+
Those portions are used under the following license:
|
|
41
|
+
|
|
42
|
+
MIT License
|
|
43
|
+
|
|
44
|
+
Copyright (c) 2026 Matt Pocock
|
|
45
|
+
|
|
46
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
47
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
48
|
+
in the Software without restriction, including without limitation the rights
|
|
49
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
50
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
51
|
+
furnished to do so, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
The above copyright notice and this permission notice shall be included in all
|
|
54
|
+
copies or substantial portions of the Software.
|
|
55
|
+
|
|
56
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
57
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
58
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
59
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
60
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
61
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
62
|
+
SOFTWARE.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
2) Stage doctrine (stages 2-6)
|
|
66
|
+
------------------------------
|
|
67
|
+
|
|
68
|
+
The built-in doctrine for stages 2-6 is adapted from the `brainstorming`,
|
|
69
|
+
`writing-plans`, `using-git-worktrees`, `subagent-driven-development`,
|
|
70
|
+
`test-driven-development` and `requesting-code-review` skills in
|
|
71
|
+
https://github.com/obra/superpowers — specifically the design-dialogue and
|
|
72
|
+
design-approval discipline, the zero-context plan format, the worktree isolation
|
|
73
|
+
procedure, the subagent task/review/fix loop with its ledger and breaker, the
|
|
74
|
+
reviewer contracts, and the red-green-refactor rules. Rewritten for this
|
|
75
|
+
pipeline's stages, gates, artifacts and single-model policy. Affected files:
|
|
76
|
+
|
|
77
|
+
plugins/task-pipeline/skills/task-pipeline/references/brainstorm.md
|
|
78
|
+
plugins/task-pipeline/skills/task-pipeline/references/spec.md
|
|
79
|
+
plugins/task-pipeline/skills/task-pipeline/references/planning.md
|
|
80
|
+
plugins/task-pipeline/skills/task-pipeline/references/build.md
|
|
81
|
+
plugins/task-pipeline/skills/task-pipeline/references/review.md
|
|
82
|
+
plugins/task-pipeline/skills/task-pipeline/references/tdd.md
|
|
83
|
+
|
|
84
|
+
Those portions are used under the following license:
|
|
85
|
+
|
|
86
|
+
MIT License
|
|
87
|
+
|
|
88
|
+
Copyright (c) 2025 Jesse Vincent
|
|
89
|
+
|
|
90
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
91
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
92
|
+
in the Software without restriction, including without limitation the rights
|
|
93
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
94
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
95
|
+
furnished to do so, subject to the following conditions:
|
|
96
|
+
|
|
97
|
+
The above copyright notice and this permission notice shall be included in all
|
|
98
|
+
copies or substantial portions of the Software.
|
|
99
|
+
|
|
100
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
101
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
102
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
103
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
104
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
105
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
106
|
+
SOFTWARE.
|