mandrel 1.93.0 → 2.0.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 (463) hide show
  1. package/.agents/README.md +59 -73
  2. package/.agents/agents/acceptance-critic.md +129 -0
  3. package/.agents/agents/story-worker.md +161 -0
  4. package/.agents/docs/SDLC.md +489 -1285
  5. package/.agents/docs/agentrc-reference.json +177 -67
  6. package/.agents/docs/configuration.md +108 -136
  7. package/.agents/docs/execution-reference.md +44 -22
  8. package/.agents/docs/quality-gates.md +13 -19
  9. package/.agents/docs/workflows.md +3 -3
  10. package/.agents/instructions.md +107 -108
  11. package/.agents/rules/ci-remediation.md +8 -12
  12. package/.agents/rules/git-conventions-reference.md +224 -0
  13. package/.agents/rules/git-conventions.md +42 -223
  14. package/.agents/rules/security-baseline.md +5 -0
  15. package/.agents/rules/testing-standards.md +106 -13
  16. package/.agents/schemas/acceptance-eval-verdict.schema.json +1 -1
  17. package/.agents/schemas/agentrc.schema.json +71 -201
  18. package/.agents/schemas/lifecycle/ledger-record.schema.json +1 -1
  19. package/.agents/schemas/lifecycle/retro.end.schema.json +1 -1
  20. package/.agents/schemas/risk-verdict.schema.json +0 -13
  21. package/.agents/scripts/acceptance-eval.js +62 -18
  22. package/.agents/scripts/agents-bootstrap-github.js +1 -1
  23. package/.agents/scripts/analyze-execution.js +1 -1
  24. package/.agents/scripts/audit-to-stories.js +7 -7
  25. package/.agents/scripts/boot-sweep.js +1 -1
  26. package/.agents/scripts/check-context-budget.js +62 -5
  27. package/.agents/scripts/check-lifecycle-lint.js +6 -9
  28. package/.agents/scripts/check-prepush-recovery.js +1 -1
  29. package/.agents/scripts/cleanup-repo-test-temp.js +6 -1
  30. package/.agents/scripts/diagnose-friction.js +0 -6
  31. package/.agents/scripts/lib/Logger.js +6 -10
  32. package/.agents/scripts/lib/audit-suite/runner.js +2 -2
  33. package/.agents/scripts/lib/audit-suite/selector.js +5 -5
  34. package/.agents/scripts/lib/audit-to-stories/{seed-epic-from-findings.js → seed-from-findings.js} +9 -9
  35. package/.agents/scripts/lib/baselines/kernel.js +206 -18
  36. package/.agents/scripts/lib/baselines/kinds/maintainability.js +0 -4
  37. package/.agents/scripts/lib/baselines/reader.js +1 -6
  38. package/.agents/scripts/lib/bdd-runner-detect.js +5 -9
  39. package/.agents/scripts/lib/bootstrap/issue-forms-template.js +32 -33
  40. package/.agents/scripts/lib/bootstrap/project-bootstrap.js +56 -18
  41. package/.agents/scripts/lib/checks/core-bare-clean.js +2 -2
  42. package/.agents/scripts/lib/checks/index.js +2 -1
  43. package/.agents/scripts/lib/checks/story-init-not-backgrounded.js +23 -21
  44. package/.agents/scripts/lib/cli/standard-args.js +13 -22
  45. package/.agents/scripts/lib/cli-args.js +16 -7
  46. package/.agents/scripts/lib/close-validation/gates.js +160 -22
  47. package/.agents/scripts/lib/config/acceptance-eval.js +52 -5
  48. package/.agents/scripts/lib/config/ci.js +6 -31
  49. package/.agents/scripts/lib/config/delivery-routing.js +103 -0
  50. package/.agents/scripts/lib/config/explain.js +57 -36
  51. package/.agents/scripts/lib/config/limits.js +17 -58
  52. package/.agents/scripts/lib/config/paths.js +0 -2
  53. package/.agents/scripts/lib/config/quality.js +1 -1
  54. package/.agents/scripts/lib/config/runners.js +17 -50
  55. package/.agents/scripts/lib/config/temp-paths.js +19 -14
  56. package/.agents/scripts/lib/config/worktree-isolation.js +0 -5
  57. package/.agents/scripts/lib/config-resolver.js +3 -8
  58. package/.agents/scripts/lib/config-settings-schema-delivery.js +46 -136
  59. package/.agents/scripts/lib/config-settings-schema-quality.js +17 -14
  60. package/.agents/scripts/lib/config-settings-schema.js +52 -38
  61. package/.agents/scripts/lib/dependency-parser.js +3 -2
  62. package/.agents/scripts/lib/doc-tiers.js +39 -4
  63. package/.agents/scripts/lib/duplicate-search.js +211 -41
  64. package/.agents/scripts/lib/feedback-loop/retro-proposals-graduator.js +1 -1
  65. package/.agents/scripts/lib/findings/promote-finding.js +5 -5
  66. package/.agents/scripts/lib/framework-version.js +2 -3
  67. package/.agents/scripts/lib/git-branch-cleanup.js +1 -10
  68. package/.agents/scripts/lib/git-branch-lifecycle.js +17 -22
  69. package/.agents/scripts/lib/git-utils.js +32 -6
  70. package/.agents/scripts/lib/github/framework-repo.js +6 -0
  71. package/.agents/scripts/lib/label-constants.js +10 -23
  72. package/.agents/scripts/lib/label-taxonomy.js +9 -43
  73. package/.agents/scripts/lib/observability/active-story-env.js +112 -3
  74. package/.agents/scripts/lib/observability/hook-heartbeat.js +187 -0
  75. package/.agents/scripts/lib/observability/source-classifier.js +3 -3
  76. package/.agents/scripts/lib/observability/tool-trace-hook.js +15 -4
  77. package/.agents/scripts/lib/onboard/init-tail.js +1 -3
  78. package/.agents/scripts/lib/orchestration/acceptance-clusters.js +111 -0
  79. package/.agents/scripts/lib/orchestration/acceptance-eval-decision.js +32 -4
  80. package/.agents/scripts/lib/orchestration/audit-lens-routing.js +128 -0
  81. package/.agents/scripts/lib/orchestration/bookkeeping-outbox.js +273 -0
  82. package/.agents/scripts/lib/orchestration/ceremony-routing.js +204 -0
  83. package/.agents/scripts/lib/orchestration/code-review.js +20 -268
  84. package/.agents/scripts/lib/orchestration/column-sync.js +1 -1
  85. package/.agents/scripts/lib/orchestration/consolidation-precondition.js +1 -1
  86. package/.agents/scripts/lib/orchestration/context-envelope.js +2 -5
  87. package/.agents/scripts/lib/orchestration/docs-digest.js +8 -8
  88. package/.agents/scripts/lib/orchestration/file-assumptions.js +7 -13
  89. package/.agents/scripts/lib/orchestration/git-cleanup/phases/cli.js +1 -1
  90. package/.agents/scripts/lib/orchestration/lifecycle/emit-loop-tick.js +8 -8
  91. package/.agents/scripts/lib/orchestration/lifecycle/emit-story-heartbeat.js +2 -2
  92. package/.agents/scripts/lib/orchestration/lifecycle/ledger-writer.js +6 -3
  93. package/.agents/scripts/lib/orchestration/lifecycle/listeners/README.md +17 -43
  94. package/.agents/scripts/lib/orchestration/lint-baseline-service.js +4 -4
  95. package/.agents/scripts/lib/orchestration/merge-block-class.js +1 -1
  96. package/.agents/scripts/lib/orchestration/phase-runner.js +3 -2
  97. package/.agents/scripts/lib/orchestration/plan-context.js +248 -266
  98. package/.agents/scripts/lib/orchestration/plan-critic-conditions.js +3 -2
  99. package/.agents/scripts/lib/orchestration/plan-critics-evaluate.js +1 -1
  100. package/.agents/scripts/lib/orchestration/plan-navigation.js +92 -0
  101. package/.agents/scripts/lib/orchestration/plan-persist/fan-out-gate.js +61 -0
  102. package/.agents/scripts/lib/orchestration/plan-persist/persist-helpers.js +97 -0
  103. package/.agents/scripts/lib/orchestration/plan-persist/run-plan-persist.js +223 -854
  104. package/.agents/scripts/lib/orchestration/plan-persist/story-ops.js +361 -0
  105. package/.agents/scripts/lib/orchestration/plan-persist/summary.js +35 -108
  106. package/.agents/scripts/lib/orchestration/plan-reachability.js +9 -14
  107. package/.agents/scripts/lib/orchestration/plan-runner/worktree-sweep.js +1 -1
  108. package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/authoring-context.js +14 -14
  109. package/.agents/scripts/lib/orchestration/planning/decomposer-context.js +27 -0
  110. package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/risk-verdict.js +3 -4
  111. package/.agents/scripts/lib/orchestration/post-merge/phases/branch-cleanup.js +2 -2
  112. package/.agents/scripts/lib/orchestration/post-merge/phases/dashboard-refresh.js +8 -20
  113. package/.agents/scripts/lib/orchestration/post-merge/phases/worktree-reap.js +3 -2
  114. package/.agents/scripts/lib/orchestration/pr-base-guard.js +18 -28
  115. package/.agents/scripts/lib/orchestration/preflight-cache.js +5 -5
  116. package/.agents/scripts/lib/orchestration/remote-verifier.js +1 -1
  117. package/.agents/scripts/lib/orchestration/resolve-plan-run.js +155 -0
  118. package/.agents/scripts/lib/orchestration/resolves-token.js +1 -1
  119. package/.agents/scripts/lib/orchestration/retro-perf-heuristics.js +8 -8
  120. package/.agents/scripts/lib/orchestration/retro-proposals.js +140 -79
  121. package/.agents/scripts/lib/orchestration/review-depth.js +26 -12
  122. package/.agents/scripts/lib/orchestration/review-providers/codex.js +2 -2
  123. package/.agents/scripts/lib/orchestration/review-providers/review-provider-factory.js +21 -56
  124. package/.agents/scripts/lib/orchestration/run-epilogue.js +426 -0
  125. package/.agents/scripts/lib/orchestration/single-story-close/phases/auto-merge.js +1 -1
  126. package/.agents/scripts/lib/orchestration/single-story-close/phases/close-validation.js +1 -0
  127. package/.agents/scripts/lib/orchestration/single-story-close/phases/code-review.js +95 -41
  128. package/.agents/scripts/lib/orchestration/single-story-close/phases/options.js +16 -13
  129. package/.agents/scripts/lib/orchestration/single-story-close/phases/review-block.js +40 -0
  130. package/.agents/scripts/lib/orchestration/single-story-close/runner.js +11 -3
  131. package/.agents/scripts/lib/orchestration/spec-freshness.js +14 -205
  132. package/.agents/scripts/lib/orchestration/spec-section-validator.js +4 -5
  133. package/.agents/scripts/lib/orchestration/spec-spill.js +60 -0
  134. package/.agents/scripts/lib/orchestration/split-policy-validator.js +188 -0
  135. package/.agents/scripts/lib/orchestration/story-close/emit-blocked.js +49 -0
  136. package/.agents/scripts/lib/orchestration/story-close/phases/code-review.js +15 -12
  137. package/.agents/scripts/lib/orchestration/story-follow-ups.js +237 -0
  138. package/.agents/scripts/lib/orchestration/story-init-remote.js +47 -0
  139. package/.agents/scripts/lib/orchestration/story-plan-state.js +48 -0
  140. package/.agents/scripts/lib/orchestration/{epic-runner → story-progress}/story-run-progress-writer.js +3 -3
  141. package/.agents/scripts/lib/orchestration/structured-comment-parser.js +1 -1
  142. package/.agents/scripts/lib/orchestration/task-body-validator.js +8 -18
  143. package/.agents/scripts/lib/orchestration/ticket-validator-conflicts.js +11 -61
  144. package/.agents/scripts/lib/orchestration/ticket-validator-sizing.js +189 -373
  145. package/.agents/scripts/lib/orchestration/ticket-validator.js +3 -8
  146. package/.agents/scripts/lib/orchestration/ticketing/bulk.js +0 -25
  147. package/.agents/scripts/lib/orchestration/ticketing/reads.js +29 -26
  148. package/.agents/scripts/lib/orchestration/ticketing/transition.js +5 -5
  149. package/.agents/scripts/lib/planning-corpus.js +16 -11
  150. package/.agents/scripts/lib/preflight-runner.js +2 -2
  151. package/.agents/scripts/lib/provider-factory.js +1 -1
  152. package/.agents/scripts/lib/qa/coverage-verdict.js +5 -5
  153. package/.agents/scripts/lib/single-story/confirm-merge-follow-ups.js +36 -0
  154. package/.agents/scripts/lib/single-story-sweep/protection-ctx.js +1 -1
  155. package/.agents/scripts/lib/story-adjacency.js +11 -14
  156. package/.agents/scripts/lib/story-body/story-body.js +124 -70
  157. package/.agents/scripts/lib/story-plan.js +2 -4
  158. package/.agents/scripts/lib/templates/decomposer-prompts.js +46 -45
  159. package/.agents/scripts/lib/templates/spec-author-prompts.js +47 -45
  160. package/.agents/scripts/lib/{epic-body-sections.js → ticket-body-sections.js} +26 -26
  161. package/.agents/scripts/lib/validation-evidence.js +1 -1
  162. package/.agents/scripts/lib/wave-runner/ready-set.js +6 -6
  163. package/.agents/scripts/lib/workspace-provisioner.js +1 -1
  164. package/.agents/scripts/lib/worktree/lifecycle/reap.js +5 -7
  165. package/.agents/scripts/lint-issue-body.js +71 -40
  166. package/.agents/scripts/mandrel-update-preflight.js +1 -1
  167. package/.agents/scripts/notify.js +4 -3
  168. package/.agents/scripts/plan-context.js +64 -74
  169. package/.agents/scripts/plan-persist.js +121 -280
  170. package/.agents/scripts/plan-run-epilogue.js +97 -0
  171. package/.agents/scripts/post-structured-comment.js +38 -0
  172. package/.agents/scripts/providers/github/issues.js +17 -33
  173. package/.agents/scripts/providers/github/mappers.js +0 -12
  174. package/.agents/scripts/providers/github/tickets.js +2 -5
  175. package/.agents/scripts/resolve-plan-run.js +117 -0
  176. package/.agents/scripts/signals-view.js +24 -19
  177. package/.agents/scripts/single-story-close.js +11 -14
  178. package/.agents/scripts/single-story-confirm-merge.js +39 -23
  179. package/.agents/scripts/single-story-init.js +29 -20
  180. package/.agents/scripts/stories-wave-tick.js +6 -6
  181. package/.agents/scripts/story-plan.js +26 -47
  182. package/.agents/scripts/sync-claude-agents.js +165 -0
  183. package/.agents/scripts/update-ticket-state.js +37 -15
  184. package/.agents/skills/core/analyze-execution/SKILL.md +21 -18
  185. package/.agents/skills/core/api-and-interface-design/SKILL.md +5 -3
  186. package/.agents/skills/core/code-review-and-quality/SKILL.md +63 -7
  187. package/.agents/skills/core/debugging-and-error-recovery/SKILL.md +1 -1
  188. package/.agents/skills/core/gates-and-baselines/SKILL.md +149 -0
  189. package/.agents/skills/core/idea-refinement/SKILL.md +8 -14
  190. package/.agents/skills/core/qa-coverage-mapping/SKILL.md +7 -7
  191. package/.agents/skills/core/scope-triage/SKILL.md +28 -172
  192. package/.agents/skills/skills.index.json +8 -418
  193. package/.agents/starter-agentrc.json +0 -5
  194. package/.agents/templates/agent-protocol.md +9 -10
  195. package/.agents/workflows/audit-architecture.md +3 -3
  196. package/.agents/workflows/audit-clean-code.md +3 -3
  197. package/.agents/workflows/audit-dependencies.md +3 -3
  198. package/.agents/workflows/audit-devops.md +3 -3
  199. package/.agents/workflows/audit-documentation.md +5 -5
  200. package/.agents/workflows/audit-lighthouse.md +3 -3
  201. package/.agents/workflows/audit-navigability.md +3 -2
  202. package/.agents/workflows/audit-performance.md +3 -3
  203. package/.agents/workflows/audit-privacy.md +3 -3
  204. package/.agents/workflows/audit-quality.md +3 -3
  205. package/.agents/workflows/audit-security.md +3 -3
  206. package/.agents/workflows/audit-seo.md +3 -3
  207. package/.agents/workflows/audit-sre.md +3 -3
  208. package/.agents/workflows/audit-to-stories.md +20 -20
  209. package/.agents/workflows/audit-ux-ui.md +3 -3
  210. package/.agents/workflows/deliver.md +122 -131
  211. package/.agents/workflows/git-cleanup.md +3 -4
  212. package/.agents/workflows/helpers/_merge-conflict-template.md +1 -1
  213. package/.agents/workflows/helpers/acceptance-self-eval.md +52 -40
  214. package/.agents/workflows/helpers/code-review.md +70 -193
  215. package/.agents/workflows/helpers/{single-story-deliver-reference.md → deliver-story-reference.md} +12 -14
  216. package/.agents/workflows/helpers/{single-story-deliver.md → deliver-story.md} +113 -139
  217. package/.agents/workflows/helpers/diagnose.md +10 -10
  218. package/.agents/workflows/helpers/mandrel-sync-config.md +1 -1
  219. package/.agents/workflows/helpers/parallel-tooling.md +1 -1
  220. package/.agents/workflows/helpers/signals.md +16 -16
  221. package/.agents/workflows/helpers/worktree-lifecycle.md +48 -64
  222. package/.agents/workflows/mandrel-update.md +3 -2
  223. package/.agents/workflows/plan.md +112 -145
  224. package/.agents/workflows/qa-assist.md +24 -30
  225. package/.agents/workflows/qa-explore.md +29 -38
  226. package/.agents/workflows/qa-run.md +2 -2
  227. package/README.md +9 -8
  228. package/docs/CHANGELOG.md +46 -0
  229. package/lib/cli/registry.js +95 -0
  230. package/lib/migrations/index.js +6 -5
  231. package/package.json +5 -3
  232. package/.agents/personas/architect.md +0 -113
  233. package/.agents/personas/devops-engineer.md +0 -38
  234. package/.agents/personas/engineer-mobile.md +0 -120
  235. package/.agents/personas/engineer-web.md +0 -111
  236. package/.agents/personas/engineer.md +0 -119
  237. package/.agents/personas/product.md +0 -94
  238. package/.agents/personas/project-manager.md +0 -114
  239. package/.agents/personas/qa-engineer.md +0 -95
  240. package/.agents/personas/refactorer.md +0 -113
  241. package/.agents/personas/security-engineer.md +0 -112
  242. package/.agents/personas/sre.md +0 -86
  243. package/.agents/personas/technical-writer.md +0 -101
  244. package/.agents/personas/ux-designer.md +0 -95
  245. package/.agents/schemas/dispatch-manifest.json +0 -232
  246. package/.agents/schemas/epic-spec.schema.json +0 -153
  247. package/.agents/scripts/acceptance-spec-reconciler.js +0 -642
  248. package/.agents/scripts/dispatcher.js +0 -295
  249. package/.agents/scripts/epic-audit-prepare.js +0 -497
  250. package/.agents/scripts/epic-audit-recheck.js +0 -274
  251. package/.agents/scripts/epic-deliver-note-intervention.js +0 -192
  252. package/.agents/scripts/epic-deliver-preflight.js +0 -462
  253. package/.agents/scripts/epic-deliver-prepare.js +0 -590
  254. package/.agents/scripts/epic-execute-record-wave.js +0 -449
  255. package/.agents/scripts/epic-plan-clarity.js +0 -211
  256. package/.agents/scripts/epic-plan-decompose.js +0 -54
  257. package/.agents/scripts/epic-plan-healthcheck.js +0 -581
  258. package/.agents/scripts/epic-plan-spec.js +0 -64
  259. package/.agents/scripts/epic-reconcile.js +0 -625
  260. package/.agents/scripts/lib/baseline-snapshot.js +0 -979
  261. package/.agents/scripts/lib/checks/epic-merge-lock-stale.js +0 -54
  262. package/.agents/scripts/lib/checks/stale-origin-epic.js +0 -49
  263. package/.agents/scripts/lib/config/lifecycle.js +0 -40
  264. package/.agents/scripts/lib/config/preflight.js +0 -58
  265. package/.agents/scripts/lib/config/retro.js +0 -77
  266. package/.agents/scripts/lib/epic-merge-lock.js +0 -322
  267. package/.agents/scripts/lib/epic-plan-clarity.js +0 -181
  268. package/.agents/scripts/lib/epic-plan-ideation.js +0 -261
  269. package/.agents/scripts/lib/orchestration/context-hydration-engine.js +0 -660
  270. package/.agents/scripts/lib/orchestration/dispatch-engine.js +0 -134
  271. package/.agents/scripts/lib/orchestration/dispatch-pipeline.js +0 -183
  272. package/.agents/scripts/lib/orchestration/epic-cleanup.js +0 -801
  273. package/.agents/scripts/lib/orchestration/epic-deliver-lease-guard.js +0 -310
  274. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/context.js +0 -163
  275. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/creation.js +0 -140
  276. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/dag.js +0 -64
  277. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/diagnostics.js +0 -72
  278. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/persist-helpers.js +0 -156
  279. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/persist.js +0 -345
  280. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/planning-artifacts.js +0 -41
  281. package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/reconcile-spawn.js +0 -86
  282. package/.agents/scripts/lib/orchestration/epic-plan-lease-guard.js +0 -391
  283. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/drain.js +0 -94
  284. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/plan-epic.js +0 -236
  285. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/run-spec-phase.js +0 -307
  286. package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/spec-freshness.js +0 -117
  287. package/.agents/scripts/lib/orchestration/epic-plan-state-store.js +0 -117
  288. package/.agents/scripts/lib/orchestration/epic-run-state-store.js +0 -388
  289. package/.agents/scripts/lib/orchestration/epic-runner/concurrency-gate.js +0 -186
  290. package/.agents/scripts/lib/orchestration/epic-runner/deliver-phases.js +0 -50
  291. package/.agents/scripts/lib/orchestration/epic-runner/phases/build-wave-dag.js +0 -129
  292. package/.agents/scripts/lib/orchestration/epic-runner/phases/snapshot.js +0 -103
  293. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/composition.js +0 -267
  294. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/signals.js +0 -210
  295. package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/transport.js +0 -238
  296. package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/_bullet-format.js +0 -32
  297. package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/component-drift.js +0 -203
  298. package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/crap-drift.js +0 -227
  299. package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/maintainability-drift.js +0 -117
  300. package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/stalled-worktree.js +0 -37
  301. package/.agents/scripts/lib/orchestration/epic-runner/story-launcher.js +0 -127
  302. package/.agents/scripts/lib/orchestration/epic-runner/sub-agent-return.js +0 -276
  303. package/.agents/scripts/lib/orchestration/epic-runner/wave-scheduler.js +0 -66
  304. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-apply.js +0 -789
  305. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-diff.js +0 -676
  306. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-discriminator.js +0 -389
  307. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-format.js +0 -230
  308. package/.agents/scripts/lib/orchestration/epic-spec-reconciler-ops.js +0 -361
  309. package/.agents/scripts/lib/orchestration/finalize/open-or-locate-pr.js +0 -306
  310. package/.agents/scripts/lib/orchestration/finalize/post-handoff-comment.js +0 -489
  311. package/.agents/scripts/lib/orchestration/finalize/sanitize-skip-ci.js +0 -88
  312. package/.agents/scripts/lib/orchestration/lifecycle/emit-story-dispatch-end.js +0 -147
  313. package/.agents/scripts/lib/orchestration/lifecycle/listeners/acceptance-reconciler.js +0 -384
  314. package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-armer.js +0 -501
  315. package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-predicate.js +0 -984
  316. package/.agents/scripts/lib/orchestration/lifecycle/listeners/branch-cleaner.js +0 -264
  317. package/.agents/scripts/lib/orchestration/lifecycle/listeners/checkpoint-pointer-writer.js +0 -278
  318. package/.agents/scripts/lib/orchestration/lifecycle/listeners/cleaner.js +0 -355
  319. package/.agents/scripts/lib/orchestration/lifecycle/listeners/finalizer.js +0 -673
  320. package/.agents/scripts/lib/orchestration/lifecycle/listeners/index.js +0 -378
  321. package/.agents/scripts/lib/orchestration/lifecycle/listeners/intervention-recorder.js +0 -140
  322. package/.agents/scripts/lib/orchestration/lifecycle/listeners/label-transitioner.js +0 -144
  323. package/.agents/scripts/lib/orchestration/lifecycle/listeners/notify-dispatcher.js +0 -174
  324. package/.agents/scripts/lib/orchestration/manifest-builder.js +0 -222
  325. package/.agents/scripts/lib/orchestration/plan-persist/amend.js +0 -359
  326. package/.agents/scripts/lib/orchestration/plan-persist/delivery-mode.js +0 -127
  327. package/.agents/scripts/lib/orchestration/post-merge-pipeline.js +0 -205
  328. package/.agents/scripts/lib/orchestration/recurring-failure-detector.js +0 -152
  329. package/.agents/scripts/lib/orchestration/retro/phases/checks.js +0 -94
  330. package/.agents/scripts/lib/orchestration/retro/phases/compose-body.js +0 -571
  331. package/.agents/scripts/lib/orchestration/retro/phases/gather-signals.js +0 -450
  332. package/.agents/scripts/lib/orchestration/retro/phases/post-and-mirror.js +0 -191
  333. package/.agents/scripts/lib/orchestration/retro-heuristics.js +0 -57
  334. package/.agents/scripts/lib/orchestration/retro-runner.js +0 -197
  335. package/.agents/scripts/lib/orchestration/skill-capsule-loader.js +0 -109
  336. package/.agents/scripts/lib/orchestration/spec-renderer.js +0 -447
  337. package/.agents/scripts/lib/orchestration/story-close/auto-refresh-runner.js +0 -747
  338. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/gate-failure.js +0 -211
  339. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/pre-merge-attribution.js +0 -158
  340. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/refresh-commit.js +0 -446
  341. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/regression-projection.js +0 -297
  342. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/scope-discovery.js +0 -48
  343. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution-wiring.js +0 -67
  344. package/.agents/scripts/lib/orchestration/story-close/baseline-attribution.js +0 -161
  345. package/.agents/scripts/lib/orchestration/story-close/baseline-friction-body.js +0 -117
  346. package/.agents/scripts/lib/orchestration/story-close/cd-out-guard.js +0 -86
  347. package/.agents/scripts/lib/orchestration/story-close/cleanup-reconciler.js +0 -147
  348. package/.agents/scripts/lib/orchestration/story-close/close-inputs.js +0 -142
  349. package/.agents/scripts/lib/orchestration/story-close/comment-bodies.js +0 -62
  350. package/.agents/scripts/lib/orchestration/story-close/merge-runner.js +0 -658
  351. package/.agents/scripts/lib/orchestration/story-close/merge-subject.js +0 -198
  352. package/.agents/scripts/lib/orchestration/story-close/phases/branch-restore.js +0 -105
  353. package/.agents/scripts/lib/orchestration/story-close/phases/close.js +0 -222
  354. package/.agents/scripts/lib/orchestration/story-close/phases/gates.js +0 -292
  355. package/.agents/scripts/lib/orchestration/story-close/phases/locked-pipeline.js +0 -270
  356. package/.agents/scripts/lib/orchestration/story-close/phases/preflight.js +0 -110
  357. package/.agents/scripts/lib/orchestration/story-close/phases/refresh.js +0 -86
  358. package/.agents/scripts/lib/orchestration/story-close/phases/timeout-blocked-emitter.js +0 -112
  359. package/.agents/scripts/lib/orchestration/story-close/phases/timeout-blocked.js +0 -157
  360. package/.agents/scripts/lib/orchestration/story-close/post-merge-close.js +0 -421
  361. package/.agents/scripts/lib/orchestration/story-close/pre-merge-validation.js +0 -301
  362. package/.agents/scripts/lib/orchestration/story-close/shared-checkout-guard.js +0 -163
  363. package/.agents/scripts/lib/orchestration/story-close-recovery.js +0 -690
  364. package/.agents/scripts/lib/orchestration/wave-marker.js +0 -28
  365. package/.agents/scripts/lib/orchestration/wave-record-io.js +0 -218
  366. package/.agents/scripts/lib/orchestration/wave-record-notifications.js +0 -145
  367. package/.agents/scripts/lib/orchestration/wave-record-projection.js +0 -212
  368. package/.agents/scripts/lib/presentation/dispatch-manifest-render.js +0 -111
  369. package/.agents/scripts/lib/presentation/manifest-builder.js +0 -239
  370. package/.agents/scripts/lib/presentation/manifest-formatter.js +0 -242
  371. package/.agents/scripts/lib/presentation/manifest-helpers.js +0 -213
  372. package/.agents/scripts/lib/presentation/manifest-persistence.js +0 -261
  373. package/.agents/scripts/lib/presentation/manifest-procedures.js +0 -55
  374. package/.agents/scripts/lib/presentation/manifest-render-waves.js +0 -306
  375. package/.agents/scripts/lib/presentation/manifest-renderer.js +0 -188
  376. package/.agents/scripts/lib/presentation/manifest-story-views.js +0 -110
  377. package/.agents/scripts/lib/push-epic-retry.js +0 -209
  378. package/.agents/scripts/lib/spec/index.js +0 -36
  379. package/.agents/scripts/lib/spec/loader.js +0 -425
  380. package/.agents/scripts/lib/spec/state.js +0 -208
  381. package/.agents/scripts/lib/story-init/blocker-validator.js +0 -68
  382. package/.agents/scripts/lib/story-init/branch-initializer.js +0 -408
  383. package/.agents/scripts/lib/story-init/context-resolver.js +0 -92
  384. package/.agents/scripts/lib/story-init/donor-precheck.js +0 -207
  385. package/.agents/scripts/lib/story-init/state-transitioner.js +0 -80
  386. package/.agents/scripts/lib/story-init/task-graph-builder.js +0 -124
  387. package/.agents/scripts/lib/story-init/transition-summary.js +0 -34
  388. package/.agents/scripts/lib/test-reserved-epic-temp-ids.js +0 -35
  389. package/.agents/scripts/lib/wave-runner/tick.js +0 -754
  390. package/.agents/scripts/lib/wave-runner/wave-runner-error.js +0 -20
  391. package/.agents/scripts/lifecycle-emit-story-dispatch.js +0 -194
  392. package/.agents/scripts/lifecycle-emit.js +0 -510
  393. package/.agents/scripts/plan-critics.js +0 -199
  394. package/.agents/scripts/retro-run.js +0 -218
  395. package/.agents/scripts/standalone-feedback-rollup.js +0 -188
  396. package/.agents/scripts/story-close.js +0 -294
  397. package/.agents/scripts/story-init.js +0 -599
  398. package/.agents/scripts/story-phase.js +0 -369
  399. package/.agents/scripts/wave-tick.js +0 -335
  400. package/.agents/skills/core/baseline-refresh/SKILL.md +0 -181
  401. package/.agents/skills/core/ci-cd-and-automation/SKILL.md +0 -274
  402. package/.agents/skills/core/ci-cd-and-automation/examples.md +0 -211
  403. package/.agents/skills/core/code-simplification/SKILL.md +0 -389
  404. package/.agents/skills/core/context-engineering/SKILL.md +0 -309
  405. package/.agents/skills/core/context-engineering/examples.md +0 -58
  406. package/.agents/skills/core/deprecation-and-migration/SKILL.md +0 -250
  407. package/.agents/skills/core/epic-plan-consolidate/SKILL.md +0 -172
  408. package/.agents/skills/core/epic-plan-consolidate/examples.md +0 -51
  409. package/.agents/skills/core/epic-plan-decompose-author/SKILL.md +0 -441
  410. package/.agents/skills/core/epic-plan-decompose-author/examples.md +0 -47
  411. package/.agents/skills/core/epic-plan-premortem/SKILL.md +0 -146
  412. package/.agents/skills/core/epic-plan-premortem/examples.md +0 -53
  413. package/.agents/skills/core/epic-plan-spec-author/SKILL.md +0 -413
  414. package/.agents/skills/core/epic-plan-spec-author/examples.md +0 -91
  415. package/.agents/skills/core/frontend-ui-engineering/SKILL.md +0 -357
  416. package/.agents/skills/core/hydrate-context/SKILL.md +0 -123
  417. package/.agents/skills/core/idea-refinement/examples.md +0 -437
  418. package/.agents/skills/core/idea-refinement/frameworks.md +0 -135
  419. package/.agents/skills/core/incremental-implementation/SKILL.md +0 -271
  420. package/.agents/skills/core/introducing-a-baseline-gate/SKILL.md +0 -213
  421. package/.agents/skills/core/knowledge-transfer/SKILL.md +0 -180
  422. package/.agents/skills/core/mutation-survivor-remediation/SKILL.md +0 -117
  423. package/.agents/skills/core/performance-optimization/SKILL.md +0 -314
  424. package/.agents/skills/core/planning-and-task-breakdown/SKILL.md +0 -277
  425. package/.agents/skills/core/property-based-testing/SKILL.md +0 -148
  426. package/.agents/skills/core/refactoring-discipline/SKILL.md +0 -111
  427. package/.agents/skills/core/shipping-and-launch/SKILL.md +0 -328
  428. package/.agents/skills/core/spec-driven-development/SKILL.md +0 -252
  429. package/.agents/skills/core/test-driven-development/SKILL.md +0 -475
  430. package/.agents/skills/core/using-agent-skills/SKILL.md +0 -232
  431. package/.agents/skills/stack/architecture/monorepo-path-strategist/SKILL.md +0 -31
  432. package/.agents/skills/stack/architecture/structured-output-zod/SKILL.md +0 -51
  433. package/.agents/skills/stack/architecture/subagent-orchestration/SKILL.md +0 -76
  434. package/.agents/skills/stack/backend/cloudflare-hono-architect/SKILL.md +0 -31
  435. package/.agents/skills/stack/backend/cloudflare-hono-architect/examples/route-template.ts +0 -33
  436. package/.agents/skills/stack/backend/cloudflare-queue-manager/SKILL.md +0 -31
  437. package/.agents/skills/stack/backend/cloudflare-workers/SKILL.md +0 -51
  438. package/.agents/skills/stack/backend/highlevel-crm/SKILL.md +0 -54
  439. package/.agents/skills/stack/backend/sqlite-drizzle-expert/SKILL.md +0 -29
  440. package/.agents/skills/stack/backend/sqlite-drizzle-expert/examples/schema-template.ts +0 -30
  441. package/.agents/skills/stack/backend/stripe-integration/SKILL.md +0 -57
  442. package/.agents/skills/stack/backend/stripe-integration/scripts/listen-stripe.sh +0 -9
  443. package/.agents/skills/stack/backend/turso-sqlite/SKILL.md +0 -48
  444. package/.agents/skills/stack/frontend/astro/SKILL.md +0 -62
  445. package/.agents/skills/stack/frontend/astro-react-island-strategist/SKILL.md +0 -30
  446. package/.agents/skills/stack/frontend/expo-react-native-developer/SKILL.md +0 -29
  447. package/.agents/skills/stack/frontend/google-analytics-v4/SKILL.md +0 -50
  448. package/.agents/skills/stack/frontend/tailwind-v4/SKILL.md +0 -58
  449. package/.agents/skills/stack/frontend/ui-accessibility-engineer/SKILL.md +0 -34
  450. package/.agents/skills/stack/qa/audit-accessibility/SKILL.md +0 -51
  451. package/.agents/skills/stack/qa/lighthouse-baseline/SKILL.md +0 -199
  452. package/.agents/skills/stack/security/backend-security-patterns/SKILL.md +0 -68
  453. package/.agents/workflows/helpers/deliver-epic-reference.md +0 -534
  454. package/.agents/workflows/helpers/deliver-epic.md +0 -955
  455. package/.agents/workflows/helpers/deliver-stories.md +0 -440
  456. package/.agents/workflows/helpers/epic-audit.md +0 -189
  457. package/.agents/workflows/helpers/epic-deliver-story.md +0 -427
  458. package/.agents/workflows/helpers/epic-testing.md +0 -125
  459. package/.agents/workflows/helpers/plan-epic-reference.md +0 -160
  460. package/.agents/workflows/helpers/plan-epic.md +0 -351
  461. package/.agents/workflows/helpers/plan-story.md +0 -251
  462. package/.agents/workflows/helpers/scope-triage-gate.md +0 -108
  463. /package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/spec-authoring-grounding.js +0 -0
@@ -47,10 +47,10 @@ generator", not "edit the doc". Auto-generated changelog files
47
47
  (`docs/CHANGELOG.md`, release-please-owned) are likewise excluded from
48
48
  semantic review beyond Step 1's deterministic checks.
49
49
 
50
- ## Scope (Epic mode)
50
+ ## Scope (Story / plan-run mode)
51
51
 
52
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
53
- following block is populated with the Epic's change-set file list.
52
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
53
+ following block is populated with the Story (or plan-run) change-set file list.
54
54
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
55
55
  renders the literal substitution token and you MUST treat it as **no
56
56
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -174,7 +174,7 @@ and check each one:
174
174
  renames).
175
175
  3. **Workflow & Contract Descriptions:** Described workflows, label
176
176
  taxonomies (`agent::*`, `type::*`, `meta::*`), branch shapes
177
- (`story-<id>`, `epic/<id>`), and artifact contracts match how the
177
+ (`story-<id>`), and artifact contracts match how the
178
178
  current scripts actually behave — read the implementation when the
179
179
  prose makes a behavioural claim.
180
180
  4. **Version & Topology Claims:** Version numbers, package names, release
@@ -293,7 +293,7 @@ recurring cadence so the drift is caught before it compounds:
293
293
  Route the resulting `audit-documentation-results.md` through
294
294
  [`/audit-to-stories`](audit-to-stories.md), which groups the findings,
295
295
  deduplicates them against existing Issues by fingerprint, and opens
296
- remediation Stories (or chains into `/plan --idea`) so the Context-Economy
296
+ remediation Stories (or chains into `/plan --seed`) so the Context-Economy
297
297
  findings land as actionable, tracked work rather than a report nobody reads.
298
298
 
299
299
  ## Constraint
@@ -30,10 +30,10 @@ inflate Performance scores misleadingly.
30
30
  (check `viewport` meta, responsive CSS, or operator instruction), run
31
31
  **Mobile** instead and note the choice in the report.
32
32
 
33
- ## Scope (Epic mode)
33
+ ## Scope (Story / plan-run mode)
34
34
 
35
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
36
- following block is populated with the Epic's change-set file list.
35
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
36
+ following block is populated with the Story (or plan-run) change-set file list.
37
37
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
38
38
  renders the literal substitution token and you MUST treat it as **no
39
39
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -61,8 +61,9 @@ Read the consumer's navigability config (resolved from `.agentrc.json`):
61
61
 
62
62
  - `delivery.quality.navigability.routeGlobs` — globs identifying the
63
63
  route-adding files / route tree (e.g. `pages/**`, `app/**/route.ts`). Drives
64
- both the route-tree enumeration here and the route-added routing in
65
- [`epic-audit-prepare.js`](../scripts/epic-audit-prepare.js).
64
+ both the route-tree enumeration here and the plan-persist draft
65
+ reachability gate
66
+ ([`plan-reachability.js`](../scripts/lib/orchestration/plan-reachability.js)).
66
67
  - `delivery.quality.navigability.navRegistry` — path(s) to the consumer's
67
68
  nav-registry SSOT this lens reads.
68
69
 
@@ -14,10 +14,10 @@ Analyze the application for performance regressions, bottlenecks, and efficiency
14
14
  gaps. Your goal is to identify why a system is slow or where it might fail under
15
15
  load.
16
16
 
17
- ## Scope (Epic mode)
17
+ ## Scope (Story / plan-run mode)
18
18
 
19
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
20
- following block is populated with the Epic's change-set file list.
19
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
20
+ following block is populated with the Story (or plan-run) change-set file list.
21
21
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
22
22
  renders the literal substitution token and you MUST treat it as **no
23
23
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -15,10 +15,10 @@ Personally Identifiable Information (PII) and ensure compliance with data
15
15
  protection standards (GDPR, CCPA). Your goal is to find accidental logging,
16
16
  insecure storage, or unnecessary collection of sensitive data.
17
17
 
18
- ## Scope (Epic mode)
18
+ ## Scope (Story / plan-run mode)
19
19
 
20
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
21
- following block is populated with the Epic's change-set file list.
20
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
21
+ following block is populated with the Story (or plan-run) change-set file list.
22
22
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
23
23
  renders the literal substitution token and you MUST treat it as **no
24
24
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -24,10 +24,10 @@ and integration test coverage alongside their feature implementations. The QA
24
24
  Engineering function focuses on End-to-End (E2E) testing, complex system
25
25
  integrations, and test environment stability.
26
26
 
27
- ## Scope (Epic mode)
27
+ ## Scope (Story / plan-run mode)
28
28
 
29
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
30
- following block is populated with the Epic's change-set file list.
29
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
30
+ following block is populated with the Story (or plan-run) change-set file list.
31
31
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
32
32
  renders the literal substitution token and you MUST treat it as **no
33
33
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -15,10 +15,10 @@ Conduct a comprehensive security review of the codebase. Your goal is to
15
15
  identify common vulnerabilities (OWASP Top 10), insecure configurations, and
16
16
  potential attack vectors.
17
17
 
18
- ## Scope (Epic mode)
18
+ ## Scope (Story / plan-run mode)
19
19
 
20
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
21
- following block is populated with the Epic's change-set file list.
20
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
21
+ following block is populated with the Story (or plan-run) change-set file list.
22
22
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
23
23
  renders the literal substitution token and you MUST treat it as **no
24
24
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -18,10 +18,10 @@ codebase. Your goal is to surface structural, semantic, and content-level
18
18
  improvements that will increase discoverability in both traditional search
19
19
  indexes and AI-powered answer engines — without making any immediate changes.
20
20
 
21
- ## Scope (Epic mode)
21
+ ## Scope (Story / plan-run mode)
22
22
 
23
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
24
- following block is populated with the Epic's change-set file list.
23
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
24
+ following block is populated with the Story (or plan-run) change-set file list.
25
25
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
26
26
  renders the literal substitution token and you MUST treat it as **no
27
27
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -15,10 +15,10 @@ release candidate. Your goal is to surface critical risks across configuration
15
15
  integrity, security, observability, and code quality — providing a prioritized,
16
16
  actionable report that can be handed off for remediation before deployment.
17
17
 
18
- ## Scope (Epic mode)
18
+ ## Scope (Story / plan-run mode)
19
19
 
20
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
21
- following block is populated with the Epic's change-set file list.
20
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
21
+ following block is populated with the Story (or plan-run) change-set file list.
22
22
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
23
23
  renders the literal substitution token and you MUST treat it as **no
24
24
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -3,7 +3,7 @@ description:
3
3
  Convert findings produced by the audit-* workflows into actionable
4
4
  GitHub Stories. Reads temp/audits/audit-*-results.md, groups findings
5
5
  cross-audit, deduplicates against existing Issues by fingerprint, and
6
- either chains into /plan --idea or opens standalone Stories.
6
+ either chains into /plan --seed-file or opens standalone Stories.
7
7
  ---
8
8
 
9
9
  # /audit-to-stories [audit-file-or-glob]
@@ -22,8 +22,8 @@ Dimension / Category, Current State, Recommendation, Agent Prompt).
22
22
  `/audit-to-stories` closes the loop: it parses those reports, groups
23
23
  related findings (including across audit dimensions), classifies each
24
24
  group as eligible-to-create or already-tracked, and — at the operator's
25
- choice — either chains into `/plan --idea` for a single planned
26
- Epic or opens standalone Stories directly.
25
+ choice — either chains into `/plan --seed-file` for a planned Story
26
+ (or N>1 under the split policy) or opens standalone Stories directly.
27
27
 
28
28
  The audit producers themselves are **not modified** by this workflow.
29
29
  They remain read-only emitters of audit reports.
@@ -117,23 +117,23 @@ Ask:
117
117
 
118
118
  > How would you like these `<M>` Stories created?
119
119
  >
120
- > - **Single Epic via `/plan`** **[Recommended]** — opens one Epic,
121
- > then chains into `/plan --idea` so the standard spec-and-WBS
122
- > authoring handles decomposition. Grouped Stories become the
123
- > seed for the authoring step's decomposition.
120
+ > - **Single plan via `/plan`** **[Recommended]** — chains into
121
+ > `/plan --seed-file <emitted.md>` so the standard Story authoring
122
+ > handles the seed. Prefer one Story; split only under the
123
+ > default-single policy.
124
124
  > - **Individual standalone Stories** — opens one GitHub Issue per
125
- > group directly, no Epic wrapper.
125
+ > group directly (no plan ceremony).
126
126
 
127
127
  **STOP** until the operator picks.
128
128
 
129
- ## Phase 5a — Single-Epic path
129
+ ## Phase 5a — Single-plan path
130
130
 
131
- Build the `/plan` idea seed from the filtered plan envelope:
131
+ Build the `/plan` seed from the filtered plan envelope:
132
132
 
133
133
  ```bash
134
- node .agents/scripts/audit-to-stories.js --emit-epic-seed \
134
+ node .agents/scripts/audit-to-stories.js --emit-plan-seed \
135
135
  --plan temp/audits/audit-to-stories-plan.json \
136
- --out "temp/audits/audit-epic-seed-$(date +%Y%m%dT%H%M%S).md"
136
+ --out "temp/audits/audit-plan-seed-$(date +%Y%m%dT%H%M%S).md"
137
137
  ```
138
138
 
139
139
  The seed renders the canonical one-pager sections — Problem Statement,
@@ -144,11 +144,11 @@ authoring step has concrete anchors), Not Doing.
144
144
  Chain into the existing planning entrypoint:
145
145
 
146
146
  ```text
147
- /plan --idea "<path-to-seed>"
147
+ /plan --seed-file <path-to-seed>
148
148
  ```
149
149
 
150
- `/plan` then runs its 3-step Epic path (interrogate author →
151
- persist), as documented in its workflow.
150
+ (`/plan --seed "$(cat <path>)"` also works for small seeds). `/plan`
151
+ then runs its author → persist path, as documented in its workflow.
152
152
  Each Story it spawns from the seed carries `context::audit:
153
153
  <reportLink>` and `audit-fingerprint: <sha>` in its body so future
154
154
  Phase 6 idempotency works on the next run.
@@ -220,13 +220,13 @@ Persist `temp/audits/audit-to-stories-$(date +%Y%m%dT%H%M%S).md`
220
220
  summarising the run:
221
221
 
222
222
  - Per-group breakdown: which findings merged, fingerprints, dependency
223
- edges, created/skipped Issue link (or new Epic link).
223
+ edges, created/skipped Issue link (or plan-run / Story links).
224
224
  - The severity threshold and grouping mode the operator chose.
225
225
  - Final tally: `"<M> groups planned · <K> created · <J> skipped (open)
226
226
  · <L> skipped (re-occurring)"`.
227
227
 
228
- When the Single-Epic path ran, link the Epic the chained `/plan`
229
- opened. When the Standalone-Stories path ran, list every Issue URL.
228
+ When the single-plan path ran, link the Story (or plan-run) the chained
229
+ `/plan` opened. When the Standalone-Stories path ran, list every Issue URL.
230
230
 
231
231
  ## Constraints
232
232
 
@@ -261,8 +261,8 @@ issue 4482.)
261
261
 
262
262
  ## See also
263
263
 
264
- - [`/plan`](helpers/plan-epic.md) — the planning pipeline `/audit-to-stories`
265
- chains into for the Single-Epic grouping mode.
264
+ - [`/plan`](plan.md) — the planning pipeline `/audit-to-stories`
265
+ chains into for Story creation.
266
266
  - [`lib/findings/route-finding.js`](../scripts/lib/findings/route-finding.js) —
267
267
  the shared fingerprint/dedup/route helper this workflow and `qa-explore`
268
268
  both consume. There is no second dedup implementation.
@@ -14,10 +14,10 @@ Evaluate the frontend implementation for UI consistency, UX best practices, and
14
14
  adherence to the project's design system. Ensure the application feels premium
15
15
  and cohesive.
16
16
 
17
- ## Scope (Epic mode)
17
+ ## Scope (Story / plan-run mode)
18
18
 
19
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
20
- following block is populated with the Epic's change-set file list.
19
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
20
+ following block is populated with the Story (or plan-run) change-set file list.
21
21
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
22
22
  renders the literal substitution token and you MUST treat it as **no
23
23
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -1,157 +1,148 @@
1
1
  ---
2
2
  description:
3
- Unified delivery entry point. Inspects the ticket type(s) and
4
- Epic-reference state of the supplied IDs, composes a sequential segment
5
- plan over any mix of Epics and standalone Stories, then delegates each
6
- segment to the Epic wave loop or the standalone multi-Story fan-out —
7
- preserving every flag and the parallel-delivery contract of the retired
8
- commands.
3
+ Unified delivery entry point. Delivers one or more Stories via the single
4
+ deliver-story engine story-<id> PR main. Sequences N>1 by depends_on
5
+ and runs the per-run epilogue once at the end.
9
6
  ---
10
7
 
11
- # /deliver [Epic IDs...] | [Story IDs...]
8
+ # /deliver <storyId...> | --run <planRunId>
12
9
 
13
10
  ## Role
14
11
 
15
- Router. `/deliver` owns input classification, segment-plan composition, and
16
- path selection only — all phase content lives in the two path helpers:
12
+ Single delivery path. `/deliver` owns input resolution and sequencing only —
13
+ every Story runs through
14
+ [`helpers/deliver-story.md`](helpers/deliver-story.md) (the evolved
15
+ single-Story engine). There is no Epic wave loop, no `epic/<id>` integration
16
+ branch, and no `--no-ff` wave merges.
17
17
 
18
- - [`helpers/deliver-epic.md`](helpers/deliver-epic.md) — the full Epic
19
- delivery loop (preflight, wave loop fanning out
20
- [`helpers/epic-deliver-story`](helpers/epic-deliver-story.md),
21
- close-validation, epic-audit, code-review, retro, finalize, watch,
22
- auto-merge gate, cleanup).
23
- - [`helpers/deliver-stories.md`](helpers/deliver-stories.md) — the
24
- standalone multi-Story path (`stories-wave-tick.js` continuous ready-set
25
- loop, operator confirmation, parallel fan-out to
26
- [`helpers/single-story-deliver`](helpers/single-story-deliver.md)).
18
+ ## Inputs
27
19
 
28
- ## Input matrix (authoritative)
20
+ | Invocation | Behavior |
21
+ | --- | --- |
22
+ | `/deliver <storyId>` | Deliver one Story via `helpers/deliver-story.md`. |
23
+ | `/deliver <storyId> <storyId> ...` | Sequence Stories in `depends_on` order via `stories-wave-tick.js`; each ready Story runs `deliver-story`. Default concurrency is **3**. |
24
+ | `/deliver --run <planRunId>` | Resolve Stories labeled `plan-run::<planRunId>` (envelope includes `dag` + `done`); sequence as above; after the last Story lands, run the per-run epilogue. |
29
25
 
30
- Fetch each supplied ID's labels and body (`type::*` label, `Epic: #N`
31
- reference) before routing:
26
+ Any ticket that is not `type::story`, or that still carries an `Epic: #N`
27
+ reference, is a hard error naming the ID and the fix (close or re-plan as a
28
+ v2 Story).
32
29
 
33
- | Input | Route |
34
- | --- | --- |
35
- | Exactly one `type::epic` ID | **Epic path** — run [`helpers/deliver-epic.md`](helpers/deliver-epic.md) Phases 1–9 unchanged (single-segment plan; no confirmation prompt). |
36
- | One or more `type::story` IDs, none carrying an `Epic: #N` reference | **Standalone path** — run [`helpers/deliver-stories.md`](helpers/deliver-stories.md) Phases 0–3 (single-segment plan; no confirmation prompt). |
37
- | Any combination of ≥1 `type::epic` IDs and ≥0 standalone `type::story` IDs | **Segment plan** — compose and execute the sequential segment plan below. |
38
- | Any Story carrying an `Epic: #N` reference (alone or mixed into an otherwise-valid set) | **Error**, naming every affected ID and the fix: `Story #<id> belongs to Epic #<n> — run /deliver <n>`. |
39
-
40
- Per-ID classification is unchanged: fetch the `type::*` label and probe the
41
- body for an `Epic: #N` reference before routing. Never guess a route.
42
-
43
- ## Segment plan (mixed / multi-Epic input)
44
-
45
- When the supplied IDs span more than one Epic, or mix Epics with standalone
46
- Stories, the router composes a **segment plan** and executes the segments
47
- **strictly sequentially**:
48
-
49
- 1. **Standalone segment first** (when any standalone Story IDs are
50
- present): the full standalone-Story set forms **one** segment,
51
- delivered via [`helpers/deliver-stories.md`](helpers/deliver-stories.md)
52
- Phases 0–3 unchanged. It runs first because it is fast, each Story
53
- merges to `main` independently, and each subsequent Epic segment's
54
- Phase 7.0 base-sync then integrates those merges naturally instead of
55
- the Epic PR opening behind base.
56
- 2. **Epic segments in input order**: each `type::epic` ID forms its own
57
- segment, delivered via
58
- [`helpers/deliver-epic.md`](helpers/deliver-epic.md) Phases 1–9
59
- unchanged.
60
-
61
- Sequential execution is a deliberate design decision: the Epic path assumes
62
- a single main checkout (prepare's checkout guard, Phase 7.0
63
- `git checkout epic/<id>`), holds a per-Epic lease, serializes same-machine
64
- sessions via `epic-merge-lock.js`, and constrains dispatch to one wave at a
65
- time. Segments are never interleaved or parallelized; running them one at a
66
- time keeps both helpers' machinery untouched.
67
-
68
- **Confirmation gate.** When the composed plan has more than one segment,
69
- present it to the operator before dispatching — the segments, the IDs in
70
- each, and the execution order — and wait for confirmation. `--yes`
71
- suppresses this prompt. Single-segment plans route directly with today's
72
- behavior (no new prompt; the standalone path's own Phase 1 confirmation
73
- still applies as before).
74
-
75
- **Failure policy.** A segment that ends non-complete (blocked, failed, or
76
- halted at a gate) **stops the run** — no subsequent segment dispatches.
77
- Report the terminal state: which segments completed, which segment halted
78
- (and why), and which segments never started. Name the resume command:
79
- re-running `/deliver` with the same IDs — both path helpers short-circuit
80
- already-done work (the Epic path resumes idempotently from its checkpoint;
81
- merged standalone Stories no-op).
82
-
83
- ## Flags (scoped per segment)
84
-
85
- | Path | Flags |
30
+ ## Flags
31
+
32
+ | Flag | Meaning |
86
33
  | --- | --- |
87
- | Epic | `--skip-epic-audit`, `--skip-code-review`, `--skip-retro`, `--full-retro`, `--steal`, `--as <handle>` |
88
- | Story | `--dep <from>:<to>`, `--yes`, `--concurrency <n>` |
34
+ | `--run <planRunId>` | Deliver every Story in the plan-run (label `plan-run::<id>`). |
35
+ | `--dep <from>:<to>` | Extra operator dependency edge (Story id → Story id). |
36
+ | `--concurrency <n>` | Ready-set fan-out cap (default **3** from `delivery.deliverRunner.concurrencyCap`; set `1` for sequential). |
37
+ | `--yes` | Suppress the multi-Story confirmation gate. |
38
+ | `--steal` | Forwarded to `single-story-init.js` / lease steal. |
39
+ | `--wait-merge` | Force close-and-land (default when `delivery.routing.closeAndLand` is true). |
40
+ | `--no-wait-merge` | Opt out of close-and-land; stop at `agent::closing` for a human land. |
41
+
42
+ ## Procedure
43
+
44
+ 1. **Resolve the Story set.**
45
+ - Positional IDs → use them.
46
+ - `--run <planRunId>` →
47
+
48
+ ```bash
49
+ node .agents/scripts/resolve-plan-run.js --run <planRunId>
50
+ ```
51
+
52
+ Capture `stories[]`, `dag[]`, and `done[]` from the envelope. Prefer
53
+ the emitted `dag` — do **not** rebuild it by hand when `--run` was used.
54
+
55
+ 2. **Build the DAG (positional only).** When delivering positional IDs
56
+ (no `--run`), read `depends_on` / `blocked by` from each body and merge
57
+ `--dep` edges into a JSON DAG for `stories-wave-tick.js`:
58
+
59
+ ```json
60
+ [{ "id": 101, "dependsOn": [] }, { "id": 102, "dependsOn": [101] }]
61
+ ```
62
+
63
+ 3. **Confirm (N>1).** Present the order and wait unless `--yes`.
89
64
 
90
- In a segment plan, Epic-path flags apply to **every** Epic segment;
91
- Story-path flags apply to the standalone segment. `--yes` additionally
92
- suppresses the router's segment-plan confirmation gate above. A flag with
93
- no applicable segment in the plan is reported once as a no-op warning and
94
- ignored — never an error (the existing convention, restated for segment
95
- plans).
65
+ 4. **Sequence.** Loop until every Story is done:
96
66
 
97
- **Multi-Story parallel contract (preserved verbatim).**
67
+ ```bash
68
+ node .agents/scripts/stories-wave-tick.js \
69
+ --dag '<json>' --done <csv> --in-flight <n> --concurrency <n>
70
+ ```
71
+
72
+ For each `ready` Story id, read
73
+ [`helpers/deliver-story.md`](helpers/deliver-story.md) **in full** and
74
+ execute it (init → implement → ceremony → close-and-land). Under
75
+ `--yes` / injected helper content, execute directly without a re-read
76
+ turn.
77
+
78
+ 5. **Per-run epilogue (N>1).** After the last Story lands:
79
+
80
+ ```bash
81
+ # Plan-run label path:
82
+ node .agents/scripts/plan-run-epilogue.js --run <planRunId>
83
+
84
+ # Positional multi-Story path (synthesizes an adhoc planRunId):
85
+ node .agents/scripts/plan-run-epilogue.js --stories 101,102
86
+ ```
87
+
88
+ This executes, in order:
89
+ - `audit-roster` — selects cross-Story audit lenses over the combined
90
+ landed tip and posts `plan-run-audit-roster` on the primary Story;
91
+ the host MUST walk each listed lens against the combined diff
92
+ - `follow-up-rollup` — friction follow-ups across every Story in the
93
+ run (files issues when auto-file is on; posts `follow-ups`)
94
+ - `sibling-coherence` — Spec/Acceptance coherence check across sibling
95
+ bodies (`plan-run-sibling-coherence`)
96
+
97
+ A single-Story run skips the epilogue — follow-ups are captured on
98
+ merge confirm instead (`captureStoryFollowUps`).
99
+
100
+ ## Branch model (authoritative)
101
+
102
+ Every Story:
98
103
 
99
104
  ```text
100
- /deliver <id> <id> --dep <from>:<to> --concurrency <n> --yes
105
+ story-<id> → PR → main (squash + required checks)
101
106
  ```
102
107
 
103
- preserves the retired multi-Story command's full surface the same flags,
104
- the same operator confirmation gate (suppressed by `--yes`), and the same
105
- parallel fan-out to
106
- [`helpers/single-story-deliver`](helpers/single-story-deliver.md) — but
107
- schedules through `stories-wave-tick.js`'s **continuous ready-set loop**
108
- (the shared `selectReadySet` core) rather than a static wave plan: each
109
- Story dispatches the instant its own dependencies are done, capped by the
110
- resolved global `concurrencyCap` and guarded against file-overlap
111
- co-dispatch, exactly as the Epic path is. The parallelism lives **inside**
112
- the standalone segment; segments themselves remain strictly sequential.
108
+ There is no `epic/<id>` integration branch and no `--no-ff` wave merge.
109
+ Dependent Stories land sequentially so each builds on the previous merge
110
+ to `main`.
113
111
 
114
- ## Procedure
112
+ ## Ceremony (profiles + two scopes)
113
+
114
+ Ceremony depth is selected by `delivery.routing.ceremonyProfile`
115
+ (`minimal` | `standard` | `strict`, default `standard`) and the Story's
116
+ planning risk:
117
+
118
+ | Profile | Acceptance critic | When to use |
119
+ | --- | --- | --- |
120
+ | `minimal` | Always inline | Tiny trusted N=1 Stories |
121
+ | `standard` | Risk-routed (+ sampling floor) | Default |
122
+ | `strict` | Always fresh-context | High-assurance / regulated surfaces |
115
123
 
116
- 1. **Parse args.** At least one positive-integer ID is required.
117
- 2. **Classify.** Fetch each ticket's labels + body and apply the input
118
- matrix above. Any Epic-attached Story ID is a hard error naming the
119
- affected IDs and the fix never guess a route.
120
- 3. **Compose the segment plan.** Standalone-Story set (when present) as
121
- one segment, then one segment per Epic ID in input order. For a
122
- multi-segment plan, present it and wait for operator confirmation
123
- (`--yes` suppresses).
124
- 4. **Execute segments sequentially.** For each segment in order, read the
125
- selected path helper **in full** and execute it from its entry phase,
126
- forwarding the segment's scoped flags. The helper's phase numbering,
127
- watchdogs, gates, and scripts are unchanged — this router adds no phase
128
- content. Stop on the first non-complete segment per the failure policy.
129
- 5. **Report.** On completion (or halt), summarize per-segment outcomes and,
130
- when halted, the resume command.
124
+ | Scope | What runs | Mechanism |
125
+ | --- | --- | --- |
126
+ | **Per-Story (always)** | Gates, branch discipline, close-and-land | `deliver-story` / `single-story-close` |
127
+ | **Per-Story (profile + risk)** | Acceptance critic mode; review depth; audit lenses | `ceremony-routing.js` + `review-depth.js` + `code-review.js` |
128
+ | **Per-run (N>1)** | Audit roster · follow-up roll-up · sibling coherence | `plan-run-epilogue.js` once at run end |
129
+ | **Per-Story land** | Actionable follow-ups from friction | `captureStoryFollowUps` in confirm-merge |
131
130
 
132
131
  ## Constraints
133
132
 
134
- - **Land or block — never a silent local build (issue #4483).** The
135
- helpers' orchestration path (worktrees, `story-<id>`/`epic/<id>` branches,
136
- close-validation, PR) is the ONLY sanctioned delivery mechanism.
137
- Executing story slices inline in this session and/or committing the
138
- delivery to local `main` is expressly forbidden, regardless of how the
139
- environment looks. Each path surfaces verified remote evidence
140
- (`remoteVerified`) at entry; on `false`, transition the ticket to
141
- `agent::blocked` quoting `remoteProbe.detail` and halt.
142
- - `/deliver` requires planned tickets: Epics at `agent::ready` (the
143
- Epic helper's preflight enforces this, per segment) or well-formed
144
- standalone Stories. Planning happens in [`/plan`](plan.md); the
145
- plan-review gate between the two commands is a hard boundary.
146
- - The router performs no git or label mutations itself; the path helpers
147
- own every script invocation.
148
- - Segments execute strictly sequentially — never interleave a standalone
149
- Story fan-out with an Epic wave loop, and never run two Epic segments
150
- concurrently.
133
+ - **Land or block — never a silent local build.** Worktrees, `story-<id>`
134
+ branches, close-validation, and PR-to-`main` are the only sanctioned
135
+ delivery mechanism. Attended delivers default to close-and-land
136
+ (`delivery.routing.closeAndLand: true`); use `--no-wait-merge` only when
137
+ a human will land the PR.
138
+ - `/deliver` never plans tickets come from [`/plan`](plan.md).
139
+ - The router performs no git/label mutations; `deliver-story` owns every
140
+ script invocation per Story.
151
141
 
152
142
  ## See also
153
143
 
154
- - [`/plan`](plan.md) — the unified planning entry point.
155
- - [`helpers/deliver-epic.md`](helpers/deliver-epic.md) /
156
- [`helpers/deliver-stories.md`](helpers/deliver-stories.md) — the path
157
- helpers, delegated to per segment.
144
+ - [`/plan`](plan.md) — unified planning entry point.
145
+ - [`helpers/deliver-story.md`](helpers/deliver-story.md) — the one Story
146
+ delivery engine.
147
+ - Placeholder design Story for a fully deterministic deliver-run
148
+ orchestrator: [#4521](https://github.com/dsj1984/mandrel/issues/4521).
@@ -226,10 +226,9 @@ The merged-branch sweep recognizes three detection signals, in order:
226
226
  `git merge-tree --write-tree <base> <branch>` (git ≥ 2.38) produces a
227
227
  tree identical to `<base>`'s own tree — i.e. applying the branch's
228
228
  changes on top of `<base>` is a content no-op. This catches
229
- `story-<id>` branches merged into `epic/<id>` whose Epic PR
230
- **squash-merged** to `main` (the story commits are not ancestors of
231
- `main` and the story branch usually has no PR of its own), and any
232
- other branch whose content landed via a different route (a renamed
229
+ `story-<id>` branches whose PR **squash-merged** to `main` (the story
230
+ commits are not ancestors of `main`), and any other branch whose content
231
+ landed via a different route (a renamed
233
232
  head, a cherry-pick, a manual `merge --squash`). When git rejects
234
233
  `--write-tree` (git < 2.38) or the simulated merge conflicts, the
235
234
  probe is inconclusive and the branch keeps its existing `not-merged`
@@ -1,7 +1,7 @@
1
1
  # Merge Conflict Resolution — Shared Procedure
2
2
 
3
3
  Canonical, workflow-agnostic procedure for resolving merge / rebase conflicts.
4
- Referenced by `deliver-stories.md` and `deliver-epic.md`.
4
+ Referenced by `deliver.md` and `helpers/deliver-story.md`.
5
5
 
6
6
  ## Procedure
7
7