mandrel 1.59.0 → 1.60.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.
Files changed (240) hide show
  1. package/.agents/README.md +14 -14
  2. package/.agents/docs/SDLC.md +129 -134
  3. package/.agents/docs/configuration.md +16 -16
  4. package/.agents/docs/workflows.md +6 -8
  5. package/.agents/instructions.md +12 -11
  6. package/.agents/personas/architect.md +1 -1
  7. package/.agents/personas/product.md +1 -1
  8. package/.agents/personas/project-manager.md +14 -14
  9. package/.agents/personas/technical-writer.md +1 -1
  10. package/.agents/rules/changelog-style.md +5 -5
  11. package/.agents/rules/git-conventions.md +3 -3
  12. package/.agents/schemas/agentrc.schema.json +3 -3
  13. package/.agents/schemas/dispatch-manifest.json +4 -4
  14. package/.agents/schemas/epic-spec.schema.json +15 -45
  15. package/.agents/schemas/lifecycle/README.md +1 -1
  16. package/.agents/schemas/lifecycle/story.dispatch.end.schema.json +1 -1
  17. package/.agents/schemas/lifecycle/story.dispatch.start.schema.json +1 -1
  18. package/.agents/schemas/lifecycle/story.heartbeat.schema.json +1 -1
  19. package/.agents/schemas/validation-evidence.schema.json +1 -1
  20. package/.agents/scripts/README.md +1 -1
  21. package/.agents/scripts/acceptance-eval.js +1 -1
  22. package/.agents/scripts/acceptance-spec-reconciler.js +2 -2
  23. package/.agents/scripts/analyze-execution.js +2 -2
  24. package/.agents/scripts/audit-to-stories.js +1 -1
  25. package/.agents/scripts/check-doc-links.js +2 -3
  26. package/.agents/scripts/diagnose-friction.js +1 -1
  27. package/.agents/scripts/dispatcher.js +2 -2
  28. package/.agents/scripts/drain-pending-cleanup.js +1 -1
  29. package/.agents/scripts/epic-audit-prepare.js +3 -3
  30. package/.agents/scripts/epic-deliver-note-intervention.js +2 -2
  31. package/.agents/scripts/epic-deliver-preflight.js +6 -6
  32. package/.agents/scripts/epic-deliver-prepare.js +1 -1
  33. package/.agents/scripts/epic-execute-record-wave.js +4 -4
  34. package/.agents/scripts/epic-plan-healthcheck.js +6 -10
  35. package/.agents/scripts/epic-plan-spec-validate.js +1 -1
  36. package/.agents/scripts/epic-reconcile.js +11 -29
  37. package/.agents/scripts/evidence-gate.js +1 -1
  38. package/.agents/scripts/generate-workflows-doc.js +1 -1
  39. package/.agents/scripts/hierarchy-gate.js +7 -11
  40. package/.agents/scripts/lib/ITicketingProvider.js +1 -1
  41. package/.agents/scripts/lib/audit-suite/selector.js +1 -1
  42. package/.agents/scripts/lib/audit-to-stories/seed-epic-from-findings.js +2 -2
  43. package/.agents/scripts/lib/baseline-snapshot.js +7 -7
  44. package/.agents/scripts/lib/bdd-runner-detect.js +1 -1
  45. package/.agents/scripts/lib/bdd-scenario-scanner.js +3 -3
  46. package/.agents/scripts/lib/bootstrap/baselines-layout-migration.js +1 -1
  47. package/.agents/scripts/lib/bootstrap/branch-protection.js +1 -1
  48. package/.agents/scripts/lib/bootstrap/ci-workflow-template.js +1 -1
  49. package/.agents/scripts/lib/bootstrap/commit-push.js +2 -2
  50. package/.agents/scripts/lib/codebase-snapshot.js +1 -1
  51. package/.agents/scripts/lib/config/explain.js +1 -1
  52. package/.agents/scripts/lib/config/runners.js +2 -2
  53. package/.agents/scripts/lib/config/runtime.js +1 -1
  54. package/.agents/scripts/lib/config/temp-paths.js +2 -2
  55. package/.agents/scripts/lib/config-settings-schema-delivery.js +2 -2
  56. package/.agents/scripts/lib/config-settings-schema-quality.js +1 -1
  57. package/.agents/scripts/lib/config-settings-schema.js +3 -3
  58. package/.agents/scripts/lib/duplicate-search.js +1 -1
  59. package/.agents/scripts/lib/dynamic-workflow/capability.js +1 -1
  60. package/.agents/scripts/lib/epic-plan-clarity.js +1 -1
  61. package/.agents/scripts/lib/epic-plan-ideation.js +1 -1
  62. package/.agents/scripts/lib/feedback-loop/memory-freshness.js +1 -1
  63. package/.agents/scripts/lib/feedback-loop/prior-feedback-fetcher.js +1 -1
  64. package/.agents/scripts/lib/findings/classify-finding.js +1 -1
  65. package/.agents/scripts/lib/findings/promote-finding.js +10 -10
  66. package/.agents/scripts/lib/label-constants.js +3 -4
  67. package/.agents/scripts/lib/label-taxonomy.js +3 -8
  68. package/.agents/scripts/lib/orchestration/acceptance-eval-decision.js +1 -1
  69. package/.agents/scripts/lib/orchestration/code-review.js +5 -5
  70. package/.agents/scripts/lib/orchestration/context-hydration-engine.js +8 -9
  71. package/.agents/scripts/lib/orchestration/dependency-analyzer.js +3 -3
  72. package/.agents/scripts/lib/orchestration/detectors-phase.js +2 -2
  73. package/.agents/scripts/lib/orchestration/dispatch-engine.js +30 -38
  74. package/.agents/scripts/lib/orchestration/dispatch-pipeline.js +9 -25
  75. package/.agents/scripts/lib/orchestration/epic-cleanup.js +1 -1
  76. package/.agents/scripts/lib/orchestration/epic-deliver-lease-guard.js +8 -8
  77. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/creation.js +1 -1
  78. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/dag.js +7 -21
  79. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/diagnostics.js +3 -3
  80. package/.agents/scripts/lib/orchestration/epic-plan-lease-guard.js +26 -13
  81. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/plan-epic.js +1 -1
  82. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/prompts.js +1 -1
  83. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/run-spec-phase.js +2 -2
  84. package/.agents/scripts/lib/orchestration/epic-plan-state-store.js +1 -1
  85. package/.agents/scripts/lib/orchestration/epic-run-state-store.js +3 -3
  86. package/.agents/scripts/lib/orchestration/epic-runner/concurrency-gate.js +4 -4
  87. package/.agents/scripts/lib/orchestration/epic-runner/deliver-phases.js +3 -3
  88. package/.agents/scripts/lib/orchestration/epic-runner/phases/build-wave-dag.js +6 -21
  89. package/.agents/scripts/lib/orchestration/epic-runner/phases/snapshot.js +7 -7
  90. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/composition.js +1 -1
  91. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/signals.js +2 -2
  92. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/transport.js +4 -4
  93. package/.agents/scripts/lib/orchestration/epic-runner/story-launcher.js +4 -4
  94. package/.agents/scripts/lib/orchestration/epic-runner/story-run-progress-writer.js +8 -8
  95. package/.agents/scripts/lib/orchestration/epic-runner/sub-agent-return.js +4 -4
  96. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-apply.js +7 -15
  97. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-diff.js +72 -41
  98. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-ops.js +2 -4
  99. package/.agents/scripts/lib/orchestration/file-assumptions.js +2 -2
  100. package/.agents/scripts/lib/orchestration/finalize/close-planning-tickets.js +1 -1
  101. package/.agents/scripts/lib/orchestration/finalize/open-or-locate-pr.js +2 -2
  102. package/.agents/scripts/lib/orchestration/finalize/sanitize-skip-ci.js +1 -1
  103. package/.agents/scripts/lib/orchestration/lease-guard-shared.js +3 -3
  104. package/.agents/scripts/lib/orchestration/lifecycle/emit-story-dispatch-end.js +1 -1
  105. package/.agents/scripts/lib/orchestration/lifecycle/emit-story-heartbeat.js +1 -1
  106. package/.agents/scripts/lib/orchestration/lifecycle/listeners/README.md +1 -1
  107. package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-armer.js +1 -1
  108. package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-predicate.js +1 -1
  109. package/.agents/scripts/lib/orchestration/lifecycle/listeners/branch-cleaner.js +1 -1
  110. package/.agents/scripts/lib/orchestration/lifecycle/listeners/finalizer.js +1 -1
  111. package/.agents/scripts/lib/orchestration/lifecycle/listeners/index.js +1 -1
  112. package/.agents/scripts/lib/orchestration/lifecycle/listeners/merge-watcher.js +1 -1
  113. package/.agents/scripts/lib/orchestration/lifecycle/listeners/notify-dispatcher.js +1 -1
  114. package/.agents/scripts/lib/orchestration/lifecycle/listeners/watcher.js +1 -1
  115. package/.agents/scripts/lib/orchestration/manifest-builder.js +5 -5
  116. package/.agents/scripts/lib/orchestration/parked-follow-ons.js +2 -2
  117. package/.agents/scripts/lib/orchestration/plan-runner/plan-router.js +5 -5
  118. package/.agents/scripts/lib/orchestration/post-merge/phases/ticket-closure.js +3 -3
  119. package/.agents/scripts/lib/orchestration/preflight-cache.js +1 -1
  120. package/.agents/scripts/lib/orchestration/recurring-failure-detector.js +1 -1
  121. package/.agents/scripts/lib/orchestration/retro/phases/compose-body.js +1 -1
  122. package/.agents/scripts/lib/orchestration/retro/phases/gather-signals.js +2 -2
  123. package/.agents/scripts/lib/orchestration/retro-runner.js +3 -3
  124. package/.agents/scripts/lib/orchestration/review-depth.js +1 -1
  125. package/.agents/scripts/lib/orchestration/single-story-close/phases/wrong-tree-guard.js +1 -1
  126. package/.agents/scripts/lib/orchestration/spec-freshness.js +1 -1
  127. package/.agents/scripts/lib/orchestration/spec-renderer.js +36 -73
  128. package/.agents/scripts/lib/orchestration/spec-section-validator.js +1 -1
  129. package/.agents/scripts/lib/orchestration/story-close/baseline-friction-body.js +1 -1
  130. package/.agents/scripts/lib/orchestration/story-close/phases/locked-pipeline.js +2 -2
  131. package/.agents/scripts/lib/orchestration/task-body-validator.js +6 -6
  132. package/.agents/scripts/lib/orchestration/ticket-lease.js +1 -1
  133. package/.agents/scripts/lib/orchestration/ticket-validator-conflicts.js +2 -2
  134. package/.agents/scripts/lib/orchestration/ticket-validator-sizing.js +1 -10
  135. package/.agents/scripts/lib/orchestration/ticket-validator.js +25 -70
  136. package/.agents/scripts/lib/orchestration/ticketing/bulk.js +5 -12
  137. package/.agents/scripts/lib/orchestration/ticketing/reads.js +8 -8
  138. package/.agents/scripts/lib/orchestration/ticketing/state.js +3 -3
  139. package/.agents/scripts/lib/orchestration/wave-record-notifications.js +2 -2
  140. package/.agents/scripts/lib/orchestration/wave-record-projection.js +1 -1
  141. package/.agents/scripts/lib/plan-phase-cleanup.js +1 -1
  142. package/.agents/scripts/lib/preflight-runner.js +1 -1
  143. package/.agents/scripts/lib/presentation/dispatch-manifest-render.js +4 -5
  144. package/.agents/scripts/lib/presentation/manifest-builder.js +28 -34
  145. package/.agents/scripts/lib/presentation/manifest-formatter.js +3 -4
  146. package/.agents/scripts/lib/presentation/manifest-helpers.js +1 -1
  147. package/.agents/scripts/lib/presentation/manifest-procedures.js +4 -4
  148. package/.agents/scripts/lib/presentation/manifest-render-waves.js +4 -23
  149. package/.agents/scripts/lib/presentation/manifest-renderer.js +1 -1
  150. package/.agents/scripts/lib/presentation/manifest-story-views.js +2 -11
  151. package/.agents/scripts/lib/signals/schema.js +1 -1
  152. package/.agents/scripts/lib/spec/index.js +1 -1
  153. package/.agents/scripts/lib/spec/loader.js +2 -2
  154. package/.agents/scripts/lib/spec/state.js +7 -16
  155. package/.agents/scripts/lib/story-init/context-resolver.js +3 -3
  156. package/.agents/scripts/lib/story-init/state-transitioner.js +2 -2
  157. package/.agents/scripts/lib/story-init/task-graph-builder.js +7 -7
  158. package/.agents/scripts/lib/story-lifecycle.js +8 -8
  159. package/.agents/scripts/lib/story-plan.js +1 -1
  160. package/.agents/scripts/lib/templates/decomposer-prompts.js +59 -52
  161. package/.agents/scripts/lib/wave-runner/tick.js +1 -1
  162. package/.agents/scripts/lifecycle-emit-story-dispatch.js +1 -1
  163. package/.agents/scripts/lifecycle-emit.js +1 -1
  164. package/.agents/scripts/providers/github/board-add.js +1 -1
  165. package/.agents/scripts/providers/github/errors.js +1 -1
  166. package/.agents/scripts/providers/github/mappers.js +2 -2
  167. package/.agents/scripts/providers/github/tickets.js +4 -4
  168. package/.agents/scripts/resync-status-column.js +1 -1
  169. package/.agents/scripts/retro-run.js +2 -2
  170. package/.agents/scripts/run-lint.js +1 -1
  171. package/.agents/scripts/single-story-init.js +1 -1
  172. package/.agents/scripts/stories-wave-tick.js +5 -5
  173. package/.agents/scripts/story-close.js +1 -1
  174. package/.agents/scripts/story-init.js +13 -16
  175. package/.agents/scripts/story-phase.js +5 -5
  176. package/.agents/scripts/story-plan.js +3 -3
  177. package/.agents/scripts/sync-branch-from-base.js +1 -1
  178. package/.agents/scripts/validate-docs-freshness.js +1 -1
  179. package/.agents/scripts/wave-tick.js +1 -1
  180. package/.agents/skills/core/analyze-execution/SKILL.md +2 -2
  181. package/.agents/skills/core/epic-plan-consolidate/SKILL.md +21 -26
  182. package/.agents/skills/core/epic-plan-decompose-author/SKILL.md +23 -56
  183. package/.agents/skills/core/epic-plan-spec-author/SKILL.md +4 -4
  184. package/.agents/skills/core/hydrate-context/SKILL.md +2 -2
  185. package/.agents/skills/core/idea-refinement/SKILL.md +4 -4
  186. package/.agents/skills/core/knowledge-transfer/SKILL.md +2 -2
  187. package/.agents/skills/core/planning-and-task-breakdown/SKILL.md +1 -1
  188. package/.agents/skills/core/scope-triage/SKILL.md +9 -10
  189. package/.agents/skills/core/using-agent-skills/SKILL.md +1 -1
  190. package/.agents/skills/skills.index.json +7 -7
  191. package/.agents/templates/agent-protocol.md +2 -2
  192. package/.agents/workflows/agents-update.md +2 -2
  193. package/.agents/workflows/audit-architecture.md +2 -2
  194. package/.agents/workflows/audit-clean-code.md +2 -2
  195. package/.agents/workflows/audit-dependencies.md +1 -1
  196. package/.agents/workflows/audit-devops.md +1 -1
  197. package/.agents/workflows/audit-documentation.md +2 -2
  198. package/.agents/workflows/audit-lighthouse.md +1 -1
  199. package/.agents/workflows/audit-performance.md +2 -2
  200. package/.agents/workflows/audit-privacy.md +1 -1
  201. package/.agents/workflows/audit-quality.md +2 -2
  202. package/.agents/workflows/audit-security.md +2 -2
  203. package/.agents/workflows/audit-seo.md +1 -1
  204. package/.agents/workflows/audit-sre.md +1 -1
  205. package/.agents/workflows/audit-to-stories.md +10 -10
  206. package/.agents/workflows/audit-ux-ui.md +1 -1
  207. package/.agents/workflows/deliver.md +85 -0
  208. package/.agents/workflows/explain.md +3 -3
  209. package/.agents/workflows/git-merge-pr.md +1 -1
  210. package/.agents/workflows/git-pr-all.md +13 -10
  211. package/.agents/workflows/git-push.md +6 -3
  212. package/.agents/workflows/helpers/_merge-conflict-template.md +1 -1
  213. package/.agents/workflows/helpers/acceptance-self-eval.md +1 -1
  214. package/.agents/workflows/helpers/code-review.md +5 -5
  215. package/.agents/workflows/{epic-deliver.md → helpers/deliver-epic.md} +43 -43
  216. package/.agents/workflows/{story-deliver.md → helpers/deliver-stories.md} +25 -25
  217. package/.agents/workflows/helpers/diagnose.md +1 -1
  218. package/.agents/workflows/helpers/epic-audit.md +6 -6
  219. package/.agents/workflows/helpers/epic-deliver-story.md +13 -13
  220. package/.agents/workflows/helpers/epic-plan-decompose.md +23 -23
  221. package/.agents/workflows/helpers/epic-plan-spec.md +6 -6
  222. package/.agents/workflows/helpers/epic-testing.md +3 -3
  223. package/.agents/workflows/helpers/parallel-tooling.md +1 -1
  224. package/.agents/workflows/{epic-plan.md → helpers/plan-epic.md} +84 -84
  225. package/.agents/workflows/{story-plan.md → helpers/plan-story.md} +43 -43
  226. package/.agents/workflows/helpers/signals.md +1 -1
  227. package/.agents/workflows/helpers/single-story-deliver.md +11 -11
  228. package/.agents/workflows/helpers/worktree-lifecycle.md +18 -18
  229. package/.agents/workflows/onboard.md +17 -17
  230. package/.agents/workflows/plan.md +89 -0
  231. package/.agents/workflows/qa-explore.md +1 -1
  232. package/.agents/workflows/qa-run-harness.md +1 -1
  233. package/README.md +4 -12
  234. package/docs/CHANGELOG.md +1149 -0
  235. package/lib/cli/__tests__/update-changelog-surface.test.js +357 -0
  236. package/lib/cli/__tests__/update-reexec.test.js +513 -0
  237. package/lib/cli/init.js +31 -29
  238. package/lib/cli/update.js +413 -52
  239. package/package.json +2 -1
  240. package/.agents/scripts/lib/orchestration/reconciler.js +0 -137
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: >-
3
3
  Helper — not a slash command. Execute one Epic-attached Story end-to-end on
4
- behalf of `/epic-deliver`. Calls `story-init.js`, `cd`s into the worktree,
4
+ behalf of `/deliver`. Calls `story-init.js`, `cd`s into the worktree,
5
5
  runs the Story-implementation phase against the inline acceptance[] /
6
6
  verify[] arrays, writes a `story-run-progress` snapshot per transition, and
7
7
  finally calls `story-close.js` to merge into the Epic branch and reap the
@@ -13,19 +13,19 @@ caller: epic-deliver.md
13
13
 
14
14
  > **Not a slash command.** This file lives in `helpers/` and is not projected
15
15
  > into the mandrel plugin command tree. It is invoked exclusively by the
16
- > [`/epic-deliver`](../epic-deliver.md) per-wave fan-out via an `Agent` tool
17
- > call (`subagent_type: general-purpose`). Run `/epic-deliver <epicId>` from
16
+ > [`/deliver`](deliver-epic.md) per-wave fan-out via an `Agent` tool
17
+ > call (`subagent_type: general-purpose`). Run `/deliver <epicId>` from
18
18
  > the operator surface, not this helper directly.
19
19
 
20
20
  ## Overview
21
21
 
22
22
  `epic-deliver-story` is the **single-Story worker** for Epic-attached Stories.
23
- It sits below [`/epic-deliver`](../epic-deliver.md) (which fans out one Story
23
+ It sits below [`/deliver`](deliver-epic.md) (which fans out one Story
24
24
  sub-agent per slot, per wave) and runs one Story from init to close in one
25
25
  invocation.
26
26
 
27
27
  ```text
28
- /epic-deliver <epicId>
28
+ /deliver <epicId>
29
29
  → for each wave N:
30
30
  Agent tool × concurrencyCap parallel calls (one assistant turn):
31
31
  helpers/epic-deliver-story <storyId>
@@ -36,10 +36,10 @@ invocation.
36
36
  ```
37
37
 
38
38
  The argument is always a **Story ID** (`type::story`). Epic IDs go through
39
- [`/epic-deliver`](../epic-deliver.md).
39
+ [`/deliver`](deliver-epic.md).
40
40
 
41
41
  **Standalone Stories** (no `Epic: #N` in body) use
42
- [`/story-deliver`](../story-deliver.md) instead — that workflow's helper
42
+ [`/deliver`](deliver-stories.md) instead — that workflow's helper
43
43
  branches from `main`, opens its PR directly to `main`, and skips the
44
44
  Epic-scoped machinery (cascade, dispatch manifest, dashboard regen). This
45
45
  helper requires a parent Epic and will refuse to initialize a Story that lacks
@@ -56,7 +56,7 @@ the `Epic: #N` reference.
56
56
 
57
57
  ## Non-interactive execution contract
58
58
 
59
- `epic-deliver-story` runs as a sub-agent of `/epic-deliver`'s per-wave fan-out
59
+ `epic-deliver-story` runs as a sub-agent of `/deliver`'s per-wave fan-out
60
60
  (common case) or interactively for a single Story. Sub-agent runs share
61
61
  the parent's permissions but have **no input channel** mid-run.
62
62
 
@@ -93,7 +93,7 @@ node .agents/scripts/story-init.js --story <storyId>
93
93
  > prevention is cheaper: just give Bash the 10-minute timeout and block.
94
94
 
95
95
  The script validates `type::story`, checks blockers, traces the
96
- Feature → Epic → PRD/Tech-Spec hierarchy, seeds `story-<id>` from the
96
+ Epic → PRD/Tech-Spec hierarchy, seeds `story-<id>` from the
97
97
  Epic branch, and (when worktree isolation is on) runs `git worktree add`
98
98
  at `.worktrees/story-<id>/`. The Story flips to `agent::executing`. A
99
99
  `story-init` structured comment is upserted with the Story's inline
@@ -130,7 +130,7 @@ The Step 0 result envelope carries a `prepare.renderedBody` field — the
130
130
  markdown body for the initial Story-phase table. **Relay it verbatim to
131
131
  chat** so operators see the initial progress block before the first commit
132
132
  lands. Do the same after every transition in Step 1 / Step 3 (the body is
133
- the Story-level rollup the parent `/epic-deliver` aggregator reads).
133
+ the Story-level rollup the parent `/deliver` aggregator reads).
134
134
 
135
135
  ---
136
136
 
@@ -291,7 +291,7 @@ When run as a sub-agent, return one JSON object:
291
291
  > existing `storyId` / `branchDeleted` / `phase` / `detail` /
292
292
  > `renderedBody` fields — do **not** add new envelope fields). Do not
293
293
  > narrate the steps you took to get there, and do not prescribe how
294
- > `/epic-deliver`'s aggregator should do its job downstream. The parent
294
+ > `/deliver`'s aggregator should do its job downstream. The parent
295
295
  > reads structured state from this envelope and the `story-run-progress`
296
296
  > snapshot; prose process commentary only bloats the hydrated prompt
297
297
  > (`delivery.maxTokenBudget` elision).
@@ -307,7 +307,7 @@ regardless of the reap status.
307
307
  `renderedBody` is the **most recent** `renderedBody` returned by
308
308
  `story-phase.js` (typically the `phase: 'done'` snapshot at close,
309
309
  or the `phase: 'blocked'` snapshot on a blocker). The parent
310
- `/epic-deliver` may inline a digest of this in its wave-level Notable
310
+ `/deliver` may inline a digest of this in its wave-level Notable
311
311
  section. When run interactively (no parent), omit it — the chat already
312
312
  has the latest body relayed during Step 1 / Step 3.
313
313
 
@@ -328,7 +328,7 @@ running this helper against an already-closed Story is safe.
328
328
  only integration target is the parent Epic's integration branch. If
329
329
  `story-close.js` short-circuits, no-ops, or otherwise fails to merge,
330
330
  **do NOT** fall back to `gh pr create --base main`, **do NOT** invoke
331
- `/story-deliver` on the same Story, and **do NOT** open a PR by
331
+ `/deliver` on the same Story, and **do NOT** open a PR by
332
332
  hand against `main`. Such a PR orphans the change on `main` and forces
333
333
  a manual `git merge origin/main` back into `epic/<id>` to recover (the
334
334
  Epic #2880 wave-5 / Story #2960 friction note). The framework refuses
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  description: >-
3
3
  Phase 8 of sprint planning — decompose an Epic's PRD and Tech Spec into a
4
- Feature/Story hierarchy, persist the backlog, and flip the Epic to
4
+ backlog of child Stories, persist the backlog, and flip the Epic to
5
5
  `agent::ready`. Host-LLM authored; no external API calls.
6
6
  ---
7
7
 
8
8
  # Sprint Plan — Decompose Phase (helper)
9
9
 
10
- > **Helper module.** Not a slash command. Invoked by `/epic-plan` (Phase 8).
11
- > To run the decompose phase interactively, use `/epic-plan [Epic_ID]` — it
10
+ > **Helper module.** Not a slash command. Invoked by `/plan` (Phase 8).
11
+ > To run the decompose phase interactively, use `/plan [Epic_ID]` — it
12
12
  > delegates here after the spec phase.
13
13
 
14
14
  ## Role
@@ -19,9 +19,9 @@ Director / Architect
19
19
 
20
20
  This helper is the **decompose phase** of the split planning pipeline. It
21
21
  reads the PRD and Tech Spec previously produced by the spec phase helper
22
- ([`epic-plan-spec.md`](epic-plan-spec.md)), generates the Feature /
23
- Story ticket hierarchy, persists it to GitHub, and flips the Epic to
24
- `agent::ready` (parking) so a human can run `/epic-deliver` when
22
+ ([`epic-plan-spec.md`](epic-plan-spec.md)), generates the Epic's child
23
+ Story tickets, persists them to GitHub, and flips the Epic to
24
+ `agent::ready` (parking) so a human can run `/deliver` when
25
25
  execution should begin.
26
26
 
27
27
  The ticket array is authored **directly by you, the host LLM**.
@@ -29,8 +29,8 @@ The ticket array is authored **directly by you, the host LLM**.
29
29
  authoring context you need and (b) validates, persists, and transitions the
30
30
  Epic lifecycle state.
31
31
 
32
- The ticket array contains `type::feature` and `type::story` tickets
33
- only no `type::task` children. Acceptance criteria and verification
32
+ The ticket array contains `type::story` tickets only — no Feature
33
+ containers and no `type::task` children. Acceptance criteria and verification
34
34
  steps are inlined on each Story body via the `acceptance[]` and
35
35
  `verify[]` fields. The decomposer system prompt lives in the
36
36
  [`epic-plan-decompose-author`](../../skills/core/epic-plan-decompose-author/SKILL.md)
@@ -41,13 +41,13 @@ skill.
41
41
  - **Do not** run this skill until the spec phase is complete. The Epic must
42
42
  have linked `context::prd` and `context::tech-spec` issues; the script will
43
43
  refuse to proceed otherwise.
44
- - **Do not** reassign Story parents across Features after the
45
- decomposition writes — the `epic-plan-state` checkpoint records the
46
- structure as committed. Use `--force` to rebuild from scratch.
44
+ - **Do not** restructure the Story set after the decomposition
45
+ writes — the `epic-plan-state` checkpoint records the structure as
46
+ committed. Use `--force` to rebuild from scratch.
47
47
  - **Every** temp file must include the Epic ID in its name. Multiple Epics
48
48
  may be decomposed concurrently; bare names will collide.
49
49
  - **Do not** flip the Epic past `agent::ready` from this helper. Execution
50
- begins when an operator runs `/epic-deliver [Epic_ID]`.
50
+ begins when an operator runs `/deliver [Epic_ID]`.
51
51
 
52
52
  ## Prerequisites
53
53
 
@@ -70,7 +70,7 @@ decomposer system prompt, and the `maxTickets` **reviewability budget**
70
70
  ## Step 2 — Author the ticket array
71
71
 
72
72
  Read `temp/epic-[Epic_ID]/decomposer-context.json`. Produce a JSON array of
73
- Feature / Story objects that conforms to the schema in the system prompt
73
+ Story objects that conforms to the schema in the system prompt
74
74
  and write it to `temp/epic-[Epic_ID]/tickets.json`.
75
75
 
76
76
  When the Tech Spec carries a `## Delivery Slicing` section, author toward the
@@ -95,12 +95,12 @@ skill with `[Epic_ID]` as input. It reads the draft
95
95
  - a human-readable `temp/epic-[Epic_ID]/consolidation-report.md` (rationale +
96
96
  before/after diff).
97
97
 
98
- The pass is constrained to scope-preserving operations only — **merge Stories,
99
- collapse single-Story Features into siblings, re-parent, rewire `depends_on`**.
100
- It MUST NOT add scope or invent tickets. It resolves single-Story Features by
101
- **collapsing** them (rec #2), never by splitting a lone Story into two; the
102
- `assertNoSingleStoryFeature` validator stays as the post-consolidation
103
- backstop.
98
+ The pass is constrained to scope-preserving operations only — **merge sibling
99
+ Stories and rewire `depends_on`**. It MUST NOT add scope or invent tickets.
100
+ It consolidates fragmented slices by merging them into a cohesive Story,
101
+ never by splitting one into two; the `assertAllTicketsAreStories` validator
102
+ (in `lib/orchestration/ticket-validator.js`) stays as the post-consolidation
103
+ backstop that rejects any non-Story ticket the pass might emit.
104
104
 
105
105
  > **HITL diff gate.** Show the operator
106
106
  > `temp/epic-[Epic_ID]/consolidation-report.md` (the before/after diff +
@@ -141,7 +141,7 @@ On success the script:
141
141
  Delegate the structural invariants (hierarchy completeness, dependency DAG
142
142
  acyclicity, missing complexity labels) to `epic-plan-healthcheck.js`. It is
143
143
  the single source of truth for post-decompose validation — the Phase 10 run
144
- inside `/epic-plan` calls the same script, so local and remote flows agree.
144
+ inside `/plan` calls the same script, so local and remote flows agree.
145
145
 
146
146
  ```bash
147
147
  node .agents/scripts/epic-plan-healthcheck.js --epic [Epic_ID] --paranoid
@@ -156,7 +156,7 @@ checks without performing any I/O — it is not a substitute for
156
156
  The script exits 0 regardless of findings (non-blocking), but lists any
157
157
  `ERR`-level findings that must be addressed before execution:
158
158
 
159
- - Missing `type::feature` / `type::story` tickets.
159
+ - Missing `type::story` tickets.
160
160
  - Stories without `complexity::` labels.
161
161
  - Dependency cycles across Stories.
162
162
 
@@ -183,11 +183,11 @@ is the single source of truth for which temp paths this phase owns.
183
183
  - Surface the backlog summary and the Wave 0 candidates to the operator:
184
184
 
185
185
  > "Decomposition complete. Epic #[ID] is on `agent::ready` with NN ticket(s)
186
- > across MM Stories. Run `/epic-deliver [Epic_ID]` to begin execution."
186
+ > across MM Stories. Run `/deliver [Epic_ID]` to begin execution."
187
187
 
188
188
  ## Troubleshooting
189
189
 
190
- - "Epic #N is missing a linked PRD or Tech Spec" — run `/epic-plan [Epic_ID]`
190
+ - "Epic #N is missing a linked PRD or Tech Spec" — run `/plan [Epic_ID]`
191
191
  first (it will run the spec phase if the PRD / Tech Spec are missing).
192
192
  - Validator rejects the tickets file — the most common causes are a
193
193
  Story whose `parent_slug` does not point at a Feature, a missing
@@ -7,8 +7,8 @@ description: >-
7
7
 
8
8
  # Sprint Plan — Spec Phase (helper)
9
9
 
10
- > **Helper module.** Not a slash command. Invoked by `/epic-plan` (Phase 7).
11
- > To run the spec phase interactively, use `/epic-plan [Epic_ID]` — it
10
+ > **Helper module.** Not a slash command. Invoked by `/plan` (Phase 7).
11
+ > To run the spec phase interactively, use `/plan [Epic_ID]` — it
12
12
  > delegates here.
13
13
 
14
14
  ## Role
@@ -27,7 +27,7 @@ reviewer can read the artifacts on GitHub before decomposition.
27
27
  > **Single prose home.** The canonical, full-detail spec-phase contract
28
28
  > (idempotent context tickets, the three-ticket rationale, the
29
29
  > `acceptance::n-a` waiver, the Epic-lease preflight) lives in
30
- > [`epic-plan.md` § Phase 7](../epic-plan.md). This helper carries only the
30
+ > [`epic-plan.md` § Phase 7](plan-epic.md). This helper carries only the
31
31
  > operational step list; when the two disagree, `epic-plan.md` wins.
32
32
 
33
33
  The PRD and Tech Spec are authored **directly by you, the host LLM**.
@@ -36,7 +36,7 @@ context you need and (b) persists the artifacts and transitions the Epic
36
36
  lifecycle state.
37
37
 
38
38
  The complementary Phase 8 helper is
39
- [`epic-plan-decompose.md`](epic-plan-decompose.md). The `/epic-plan`
39
+ [`epic-plan-decompose.md`](epic-plan-decompose.md). The `/plan`
40
40
  wrapper chains both helpers with a confirmation gate in between.
41
41
 
42
42
  ## Constraint
@@ -101,7 +101,7 @@ Using `systemPrompts.acceptanceSpec`, the PRD, and the Tech Spec, write the
101
101
  Acceptance Spec to `temp/epic-[Epic_ID]/acceptance-spec.md`. It captures the
102
102
  stable-ID acceptance criteria table
103
103
  (`| AC ID | Outcome | Feature File | Scenario | Disposition |`) that drives
104
- close-time reconciliation in `/epic-deliver` Phase 6.
104
+ close-time reconciliation in `/deliver` Phase 6.
105
105
 
106
106
  **Skip this step only** when the Epic carries the `acceptance::n-a` waiver
107
107
  label (refactor-only or docs-only Epics); in that case omit `--acceptance-spec`
@@ -166,7 +166,7 @@ JSON (`planningRisk`, `reviewRouting`):
166
166
  URLs to the operator:
167
167
 
168
168
  > "Spec phase complete for Epic #[ID]. Review PRD (#XX) and Tech Spec (#YY)
169
- > on GitHub. When you're ready, re-run `/epic-plan [Epic_ID]` — the wrapper
169
+ > on GitHub. When you're ready, re-run `/plan [Epic_ID]` — the wrapper
170
170
  > will pick up where it left off and run the decompose phase."
171
171
 
172
172
  - **Low risk — auto-proceed.** Relay `reviewRouting.operatorMessage` and
@@ -5,7 +5,7 @@ description: QA Epic-testing workflow — ingest the agent-driven QA harness swe
5
5
  # Epic Testing (helper)
6
6
 
7
7
  > **Helper module.** Not a slash command. Invoked from the QA gate during
8
- > `/epic-deliver` or directly by an operator when the Epic-testing ticket
8
+ > `/deliver` or directly by an operator when the Epic-testing ticket
9
9
  > needs refreshed evidence. For ad-hoc acceptance runs use `/qa-run-harness` —
10
10
  > this helper owns the Epic-evidence ticket lifecycle on top of it.
11
11
 
@@ -15,7 +15,7 @@ evidence artifact is the **agent-driven QA harness sweep report** produced by
15
15
  findings), **not** a hand-ticked markdown checklist.
16
16
 
17
17
  > **When to run**: During the QA phase of an Epic, after all Story merges
18
- > have landed on the Epic branch and before `/epic-deliver`. Also run ad-hoc
18
+ > have landed on the Epic branch and before `/deliver`. Also run ad-hoc
19
19
  > when a regression is suspected mid-Epic.
20
20
  >
21
21
  > **Persona**: `qa-engineer` · **Skills**:
@@ -84,7 +84,7 @@ do not paste — large artifacts.
84
84
  - One-line symptom.
85
85
  - Link to the failing scenario's snapshot or trace.
86
86
 
87
- Do not close the Epic-testing ticket on a failed run. `/epic-deliver`
87
+ Do not close the Epic-testing ticket on a failed run. `/deliver`
88
88
  depends on green evidence.
89
89
 
90
90
  ## Deprecated — Markdown Checklist Flow
@@ -57,7 +57,7 @@ the same shape as Rule 1 but at the sub-agent layer.
57
57
 
58
58
  - **Tool primitives:** `Agent` (one call per independent unit, all in one
59
59
  turn).
60
- - **When:** wave-level Story fan-out from `/epic-deliver`, per-dimension
60
+ - **When:** wave-level Story fan-out from `/deliver`, per-dimension
61
61
  audit dispatch, any "for each X in Xs run /Y X" loop where the Xs do not
62
62
  share write paths.
63
63
  - **Anti-pattern:** serial `Agent` calls (`Agent` → wait → `Agent` → wait)