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
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-07-11T11:32:48.235Z",
2
+ "generatedAt": "2026-07-14T21:42:10.296Z",
3
3
  "generator": "generate-skills-index.js@1",
4
4
  "skills": [
5
5
  {
@@ -7,7 +7,7 @@
7
7
  "tier": "core",
8
8
  "category": "core",
9
9
  "path": ".agents/skills/core/analyze-execution/SKILL.md",
10
- "description": "Aggregate per-Story or per-Epic execution signals into a structured perf-summary or perf-report and upsert it onto the corresponding GitHub ticket. Use after a Story closes (Story mode) or as part of `/deliver` Phase 6 (Epic mode). Reads NDJSON via `lib/signals/read` and writes a single structured comment.",
10
+ "description": "Aggregate per-Story or per-plan-run execution signals into a structured perf-summary or perf-report and upsert it onto the corresponding GitHub ticket. Use after a Story closes (Story mode) or during run closeout (plan-run mode). Reads NDJSON via `lib/signals/read` and writes a single structured comment.",
11
11
  "policyCapsuleBullets": 8,
12
12
  "allowedTools": ["Read", "Bash"],
13
13
  "vendor": null
@@ -22,16 +22,6 @@
22
22
  "allowedTools": null,
23
23
  "vendor": null
24
24
  },
25
- {
26
- "name": "baseline-refresh",
27
- "tier": "core",
28
- "category": "core",
29
- "path": ".agents/skills/core/baseline-refresh/SKILL.md",
30
- "description": "Author a refresh commit for any of the unified-baseline snapshots (CRAP, maintainability, dead-exports, lighthouse). Use whenever an intentional code change resets a baseline key (rename, deliberate complexity bump, perf regression with operator sign-off) and the close-validation chain needs the refreshed snapshot to land on the same Story branch as the triggering edit.",
31
- "policyCapsuleBullets": 10,
32
- "allowedTools": ["Read", "Write", "Bash"],
33
- "vendor": null
34
- },
35
25
  {
36
26
  "name": "browser-testing-with-devtools",
37
27
  "tier": "core",
@@ -42,43 +32,13 @@
42
32
  "allowedTools": null,
43
33
  "vendor": null
44
34
  },
45
- {
46
- "name": "ci-cd-and-automation",
47
- "tier": "core",
48
- "category": "core",
49
- "path": ".agents/skills/core/ci-cd-and-automation/SKILL.md",
50
- "description": "Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.",
51
- "policyCapsuleBullets": 9,
52
- "allowedTools": null,
53
- "vendor": null
54
- },
55
35
  {
56
36
  "name": "code-review-and-quality",
57
37
  "tier": "core",
58
38
  "category": "core",
59
39
  "path": ".agents/skills/core/code-review-and-quality/SKILL.md",
60
- "description": "Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.",
61
- "policyCapsuleBullets": 10,
62
- "allowedTools": null,
63
- "vendor": null
64
- },
65
- {
66
- "name": "code-simplification",
67
- "tier": "core",
68
- "category": "core",
69
- "path": ".agents/skills/core/code-simplification/SKILL.md",
70
- "description": "Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.",
71
- "policyCapsuleBullets": 9,
72
- "allowedTools": null,
73
- "vendor": null
74
- },
75
- {
76
- "name": "context-engineering",
77
- "tier": "core",
78
- "category": "core",
79
- "path": ".agents/skills/core/context-engineering/SKILL.md",
80
- "description": "Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure rules files and context for a project.",
81
- "policyCapsuleBullets": 9,
40
+ "description": "Conducts multi-axis code review and runs the disciplined post-green refactor pass. Use before merging any change, when reviewing code written by yourself, another agent, or a human, or when the opt-in `delivery.refactorStage` checkpoint asks for a behaviour-preserving CRAP/duplication pass after the suite is green.",
41
+ "policyCapsuleBullets": 12,
82
42
  "allowedTools": null,
83
43
  "vendor": null
84
44
  },
@@ -92,16 +52,6 @@
92
52
  "allowedTools": null,
93
53
  "vendor": null
94
54
  },
95
- {
96
- "name": "deprecation-and-migration",
97
- "tier": "core",
98
- "category": "core",
99
- "path": ".agents/skills/core/deprecation-and-migration/SKILL.md",
100
- "description": "Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.",
101
- "policyCapsuleBullets": 10,
102
- "allowedTools": null,
103
- "vendor": null
104
- },
105
55
  {
106
56
  "name": "diagnose-friction",
107
57
  "tier": "core",
@@ -123,55 +73,15 @@
123
73
  "vendor": null
124
74
  },
125
75
  {
126
- "name": "epic-plan-consolidate",
76
+ "name": "gates-and-baselines",
127
77
  "tier": "core",
128
78
  "category": "core",
129
- "path": ".agents/skills/core/epic-plan-consolidate/SKILL.md",
130
- "description": "Run a holistic, pre-persist consolidation pass over the draft Story ticket array an Epic's decompose phase produced. Use during Phase 8 of `/plan`, after `epic-plan-decompose-author` writes `temp/epic-<Epic_ID>/tickets.json` and before `epic-plan-decompose.js` validates and persists it. Reconciles the draft against the Tech Spec \"Delivery Slicing\" ceiling via scope-preserving operations only.",
79
+ "path": ".agents/skills/core/gates-and-baselines/SKILL.md",
80
+ "description": "Governs quality gates and the unified-baseline snapshots. Use when authoring a baseline refresh commit (CRAP, maintainability, dead-exports, lighthouse), when setting up or modifying CI quality gates, or when introducing a new gate that asserts on pre-existing state without turning the integration branch red.",
131
81
  "policyCapsuleBullets": 9,
132
82
  "allowedTools": ["Read", "Write", "Bash"],
133
83
  "vendor": null
134
84
  },
135
- {
136
- "name": "epic-plan-decompose-author",
137
- "tier": "core",
138
- "category": "core",
139
- "path": ".agents/skills/core/epic-plan-decompose-author/SKILL.md",
140
- "description": "Author the Story ticket JSON for an Epic from the decomposer authoring context emitted by `epic-plan-decompose.js --emit-context`. Use during Phase 8 of `/plan` when the host LLM needs to write the ticket array before `epic-plan-decompose.js` validates and persists it.",
141
- "policyCapsuleBullets": 15,
142
- "allowedTools": ["Read", "Write", "Bash"],
143
- "vendor": null
144
- },
145
- {
146
- "name": "epic-plan-premortem",
147
- "tier": "core",
148
- "category": "core",
149
- "path": ".agents/skills/core/epic-plan-premortem/SKILL.md",
150
- "description": "Run a fresh-context, code-reading pre-mortem critic over the draft Story ticket array an Epic's decompose phase produced. Use during Phase 8 of `/plan`, after `epic-plan-decompose-author` / `epic-plan-consolidate` write `temp/epic-<Epic_ID>/tickets.json` and before `epic-plan-decompose.js` validates and persists it. Reads the sectioned Epic body AND the cited code surfaces, then emits predicted-rework findings before any GitHub write.",
151
- "policyCapsuleBullets": 7,
152
- "allowedTools": ["Read", "Write", "Bash", "Grep"],
153
- "vendor": null
154
- },
155
- {
156
- "name": "epic-plan-spec-author",
157
- "tier": "core",
158
- "category": "core",
159
- "path": ".agents/skills/core/epic-plan-spec-author/SKILL.md",
160
- "description": "Author the Tech Spec, Acceptance Table markdown, and risk-verdict JSON for an Epic from the planner authoring context emitted by `epic-plan-spec.js --emit-context`. Use during Phase 7 of `/plan` when the host LLM needs to write the three artifacts before `epic-plan-spec.js` folds them into the Epic body's managed sections.",
161
- "policyCapsuleBullets": 14,
162
- "allowedTools": ["Read", "Write", "Bash"],
163
- "vendor": null
164
- },
165
- {
166
- "name": "frontend-ui-engineering",
167
- "tier": "core",
168
- "category": "core",
169
- "path": ".agents/skills/core/frontend-ui-engineering/SKILL.md",
170
- "description": "Builds production-quality UIs. Use when building or modifying user-facing interfaces. Use when creating components, implementing layouts, managing state, or when the output needs to look and feel production-quality rather than AI-generated.",
171
- "policyCapsuleBullets": 9,
172
- "allowedTools": null,
173
- "vendor": null
174
- },
175
85
  {
176
86
  "name": "git-workflow-and-versioning",
177
87
  "tier": "core",
@@ -182,16 +92,6 @@
182
92
  "allowedTools": null,
183
93
  "vendor": null
184
94
  },
185
- {
186
- "name": "hydrate-context",
187
- "tier": "core",
188
- "category": "core",
189
- "path": ".agents/skills/core/hydrate-context/SKILL.md",
190
- "description": "Hydrate a Story ticket into a structured ContextEnvelope (or the legacy `{ prompt }` stdout wrapper). Reads the ticket body, resolves the parent Epic, embeds the sectioned Epic body (acceptance-table section stripped), and assembles named sections with provenance and section-aware elision. Successor to the retired mandrel MCP `context.hydrate` tool.",
191
- "policyCapsuleBullets": 7,
192
- "allowedTools": ["Read", "Bash"],
193
- "vendor": null
194
- },
195
95
  {
196
96
  "name": "idea-refinement",
197
97
  "tier": "core",
@@ -202,76 +102,6 @@
202
102
  "allowedTools": null,
203
103
  "vendor": null
204
104
  },
205
- {
206
- "name": "incremental-implementation",
207
- "tier": "core",
208
- "category": "core",
209
- "path": ".agents/skills/core/incremental-implementation/SKILL.md",
210
- "description": "Delivers changes incrementally. Use when implementing any feature or change that touches more than one file. Use when you're about to write a large amount of code at once, or when a task feels too big to land in one step.",
211
- "policyCapsuleBullets": 9,
212
- "allowedTools": null,
213
- "vendor": null
214
- },
215
- {
216
- "name": "introducing-a-baseline-gate",
217
- "tier": "core",
218
- "category": "core",
219
- "path": ".agents/skills/core/introducing-a-baseline-gate/SKILL.md",
220
- "description": "Land a new CI check that asserts on a body of pre-existing state (doc-drift, lint-vocabulary, dependency-cycle, missing-test-coverage, unused-export). Use when introducing a gate whose first run would surface latent findings — the introducing Story MUST guarantee the gate exits 0 at merge, not just that the cited discrepancies pass.",
221
- "policyCapsuleBullets": 6,
222
- "allowedTools": null,
223
- "vendor": null
224
- },
225
- {
226
- "name": "knowledge-transfer",
227
- "tier": "core",
228
- "category": "core",
229
- "path": ".agents/skills/core/knowledge-transfer/SKILL.md",
230
- "description": "Verifies that a human operator actually understands a plan or a code change through restate-first probing, a why-ladder, incremental mastery gates, and a persistent comprehension checklist. Use \"explain\", \"walk me through\", \"help me understand\", \"teach me this change/plan\", or \"do I understand this?\" to trigger. Operator-facing and interactive only.",
231
- "policyCapsuleBullets": 1,
232
- "allowedTools": null,
233
- "vendor": null
234
- },
235
- {
236
- "name": "mutation-survivor-remediation",
237
- "tier": "core",
238
- "category": "core",
239
- "path": ".agents/skills/core/mutation-survivor-remediation/SKILL.md",
240
- "description": "Turn surviving mutants into killed ones. Use after a Stryker mutation run reports a leaky score, when the mutation gate regresses, or when you want to harden a specific module's tests. The mutation-score gate and baseline ratchet live in the mutation baseline kind and `stryker-runner.js`; this skill shows how to read the survivor report, pick targets, and write the test that kills each survivor without inflating the suite.",
241
- "policyCapsuleBullets": 8,
242
- "allowedTools": null,
243
- "vendor": null
244
- },
245
- {
246
- "name": "performance-optimization",
247
- "tier": "core",
248
- "category": "core",
249
- "path": ".agents/skills/core/performance-optimization/SKILL.md",
250
- "description": "Optimizes application performance. Use when performance requirements exist, when you suspect performance regressions, or when Core Web Vitals or load times need improvement. Use when profiling reveals bottlenecks that need fixing.",
251
- "policyCapsuleBullets": 10,
252
- "allowedTools": null,
253
- "vendor": null
254
- },
255
- {
256
- "name": "planning-and-task-breakdown",
257
- "tier": "core",
258
- "category": "core",
259
- "path": ".agents/skills/core/planning-and-task-breakdown/SKILL.md",
260
- "description": "Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.",
261
- "policyCapsuleBullets": 9,
262
- "allowedTools": null,
263
- "vendor": null
264
- },
265
- {
266
- "name": "property-based-testing",
267
- "tier": "core",
268
- "category": "core",
269
- "path": ".agents/skills/core/property-based-testing/SKILL.md",
270
- "description": "Generative testing of invariants. Use when a unit has properties that should hold across a whole input domain — round-trips, idempotence, ordering, conservation — rather than a handful of hand-picked examples. The test-tier, mocking, and assertion-placement MUSTs live in `.agents/rules/testing-standards.md`; this skill shows how to find properties, pick the right per-stack library, and keep generative tests deterministic and fast.",
271
- "policyCapsuleBullets": 8,
272
- "allowedTools": null,
273
- "vendor": null
274
- },
275
105
  {
276
106
  "name": "qa-coverage-mapping",
277
107
  "tier": "core",
@@ -282,22 +112,12 @@
282
112
  "allowedTools": ["Read", "Bash"],
283
113
  "vendor": null
284
114
  },
285
- {
286
- "name": "refactoring-discipline",
287
- "tier": "core",
288
- "category": "core",
289
- "path": ".agents/skills/core/refactoring-discipline/SKILL.md",
290
- "description": "Run a post-green refactor pass that lowers CRAP and removes duplication without changing behaviour. Use after tests pass and gates are green, when a function's CRAP score is high but well-covered, or when the same logic is duplicated across files. Pairs with the `refactorer` persona and the opt-in `delivery.refactorStage` checkpoint; complements `core/code-simplification` (clarity) by focusing on the measured CRAP/duplication axes.",
291
- "policyCapsuleBullets": 9,
292
- "allowedTools": null,
293
- "vendor": null
294
- },
295
115
  {
296
116
  "name": "scope-triage",
297
117
  "tier": "core",
298
118
  "category": "core",
299
119
  "path": ".agents/skills/core/scope-triage/SKILL.md",
300
- "description": "Judge whether a piece of planned work is epic-sized or story-sized before the planning ceremony is paid for. Emits one of three verdicts `epic` | `story` | `borderline` over any planning artifact (a one-pager, an Epic body, or a Story draft). Use from `/plan` Phase 1.5 and any other planning gate that needs the canonical story-vs-epic rubric.",
120
+ "description": "Optional split-advisory for `/plan`. Under v2 there is no epic|story routing verdict `/plan` always authors Stories. Use this skill only when judging whether a draft should stay one Story or legitimately split (near-zero overlap or an architectural seam).",
301
121
  "policyCapsuleBullets": 1,
302
122
  "allowedTools": null,
303
123
  "vendor": null
@@ -312,216 +132,6 @@
312
132
  "allowedTools": null,
313
133
  "vendor": null
314
134
  },
315
- {
316
- "name": "shipping-and-launch",
317
- "tier": "core",
318
- "category": "core",
319
- "path": ".agents/skills/core/shipping-and-launch/SKILL.md",
320
- "description": "Prepares production launches. Use when preparing to deploy to production. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy.",
321
- "policyCapsuleBullets": 9,
322
- "allowedTools": null,
323
- "vendor": null
324
- },
325
- {
326
- "name": "spec-driven-development",
327
- "tier": "core",
328
- "category": "core",
329
- "path": ".agents/skills/core/spec-driven-development/SKILL.md",
330
- "description": "Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.",
331
- "policyCapsuleBullets": 9,
332
- "allowedTools": null,
333
- "vendor": null
334
- },
335
- {
336
- "name": "test-driven-development",
337
- "tier": "core",
338
- "category": "core",
339
- "path": ".agents/skills/core/test-driven-development/SKILL.md",
340
- "description": "Drives development with tests. Use when implementing any logic, fixing any bug, or changing any behavior. The non-negotiable test-tier placement, mocking, assertion-placement, and coverage rules live in `.agents/rules/testing-standards.md`; this skill shows how to apply them via the TDD cycle, the Prove-It Pattern, and good-test style.",
341
- "policyCapsuleBullets": 10,
342
- "allowedTools": null,
343
- "vendor": null
344
- },
345
- {
346
- "name": "using-agent-skills",
347
- "tier": "core",
348
- "category": "core",
349
- "path": ".agents/skills/core/using-agent-skills/SKILL.md",
350
- "description": "Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task. This is the meta-skill that governs how all other skills are discovered and invoked.",
351
- "policyCapsuleBullets": 9,
352
- "allowedTools": null,
353
- "vendor": null
354
- },
355
- {
356
- "name": "monorepo-path-strategist",
357
- "tier": "stack",
358
- "category": "architecture",
359
- "path": ".agents/skills/stack/architecture/monorepo-path-strategist/SKILL.md",
360
- "description": "Enforces strict workspace package routing and dependency boundaries. Use when working in a monorepo with workspace aliases (e.g. `@repo/shared/*`, `@repo/ui/*`) and you need to prevent deep relative imports, cross-workspace contamination, or dependencies added at the wrong package.json level.",
361
- "policyCapsuleBullets": 5,
362
- "allowedTools": null,
363
- "vendor": null
364
- },
365
- {
366
- "name": "structured-output-zod",
367
- "tier": "stack",
368
- "category": "architecture",
369
- "path": ".agents/skills/stack/architecture/structured-output-zod/SKILL.md",
370
- "description": "Validates external and structured data with Zod schemas. Use when accepting untrusted input at API boundaries, validating environment variables on startup, parsing third-party responses, or generating typed shapes via `z.infer`. Parse, don't validate.",
371
- "policyCapsuleBullets": 7,
372
- "allowedTools": null,
373
- "vendor": "zod"
374
- },
375
- {
376
- "name": "subagent-orchestration",
377
- "tier": "stack",
378
- "category": "architecture",
379
- "path": ".agents/skills/stack/architecture/subagent-orchestration/SKILL.md",
380
- "description": "Coordinates complex tasks via task-isolated subagents. Use when one objective is too large for a single agent or when independent work streams should run concurrently with minimal context bleed. One objective per subagent; summarize before returning to keep the orchestrator's context window clean. Applies recursively — an orchestrator at any supported nesting depth applies the same policy to its own children.",
381
- "policyCapsuleBullets": 8,
382
- "allowedTools": null,
383
- "vendor": null
384
- },
385
- {
386
- "name": "cloudflare-hono-architect",
387
- "tier": "stack",
388
- "category": "backend",
389
- "path": ".agents/skills/stack/backend/cloudflare-hono-architect/SKILL.md",
390
- "description": "Prevents Node.js module hallucinations in Cloudflare Worker (V8 isolate) edge environments. Use when writing Hono routes deployed to Workers — prefer Web APIs (Fetch, Web Crypto) over Node built-ins (`fs`, `path`, `child_process`, `crypto`), and access bindings via Hono's `c.env`.",
391
- "policyCapsuleBullets": 5,
392
- "allowedTools": null,
393
- "vendor": "cloudflare"
394
- },
395
- {
396
- "name": "cloudflare-queue-manager",
397
- "tier": "stack",
398
- "category": "backend",
399
- "path": ".agents/skills/stack/backend/cloudflare-queue-manager/SKILL.md",
400
- "description": "Ensures idempotent and resilient background job execution on Cloudflare Queues. Use when writing consumer handlers — design for at-least-once delivery, wrap processing in try/catch with `message.retry()`, and order cascading deletes so the database row drops last.",
401
- "policyCapsuleBullets": 5,
402
- "allowedTools": null,
403
- "vendor": "cloudflare"
404
- },
405
- {
406
- "name": "cloudflare-workers",
407
- "tier": "stack",
408
- "category": "backend",
409
- "path": ".agents/skills/stack/backend/cloudflare-workers/SKILL.md",
410
- "description": "Builds and deploys high-performance edge logic on Cloudflare Workers. Use when working within Workers' 128MB memory and 5–50ms CPU constraints, integrating KV/R2/D1 storage, or writing Wrangler-managed edge-first request/response code.",
411
- "policyCapsuleBullets": 8,
412
- "allowedTools": null,
413
- "vendor": "cloudflare"
414
- },
415
- {
416
- "name": "highlevel-crm",
417
- "tier": "stack",
418
- "category": "backend",
419
- "path": ".agents/skills/stack/backend/highlevel-crm/SKILL.md",
420
- "description": "Integrates with the HighLevel (GoHighLevel) CRM API v2 and its automation engine. Use when synchronizing data via OAuth 2.0, building custom widgets, handling sub-account `locationId` scoping, or implementing webhook-driven workflows with rate-limit-aware retries.",
421
- "policyCapsuleBullets": 8,
422
- "allowedTools": null,
423
- "vendor": "highlevel"
424
- },
425
- {
426
- "name": "sqlite-drizzle-expert",
427
- "tier": "stack",
428
- "category": "backend",
429
- "path": ".agents/skills/stack/backend/sqlite-drizzle-expert/SKILL.md",
430
- "description": "Enforces SQLite dialect for Drizzle ORM and Turso (libSQL). Use when writing schema or queries with `drizzle-orm/sqlite-core` — avoid PostgreSQL-only types (`serial`, `jsonb`, `uuid`), use `text()` for IDs and dates, and define relations explicitly via the `relations` API.",
431
- "policyCapsuleBullets": 5,
432
- "allowedTools": null,
433
- "vendor": "drizzle"
434
- },
435
- {
436
- "name": "stripe-integration",
437
- "tier": "stack",
438
- "category": "backend",
439
- "path": ".agents/skills/stack/backend/stripe-integration/SKILL.md",
440
- "description": "Implements secure Stripe payments and subscription billing. Use when handling card data (PCI compliance via Elements/Checkout), verifying webhook signatures, attaching `idempotencyKey` to mutations, or treating the server-side webhook as the source of truth for entitlement changes.",
441
- "policyCapsuleBullets": 8,
442
- "allowedTools": null,
443
- "vendor": "stripe"
444
- },
445
- {
446
- "name": "turso-sqlite",
447
- "tier": "stack",
448
- "category": "backend",
449
- "path": ".agents/skills/stack/backend/turso-sqlite/SKILL.md",
450
- "description": "Develops with Turso's distributed SQLite (libSQL) platform. Use when working with the `@libsql/client` driver — leverage edge replicas for low-latency reads, route writes to the primary, and use parameterized queries plus a versioned migration tool (drizzle-kit, atlas) for schema changes.",
451
- "policyCapsuleBullets": 6,
452
- "allowedTools": null,
453
- "vendor": "turso"
454
- },
455
- {
456
- "name": "astro-react-island-strategist",
457
- "tier": "stack",
458
- "category": "frontend",
459
- "path": ".agents/skills/stack/frontend/astro-react-island-strategist/SKILL.md",
460
- "description": "Maintains strict boundaries between Astro server components and React client islands in hybrid Astro/React workspaces. Use when keeping `.astro` files for static HTML/SEO and `.tsx` for interactive islands — embed React only with explicit `client:*` directives and pass serializable props.",
461
- "policyCapsuleBullets": 5,
462
- "allowedTools": null,
463
- "vendor": "astro"
464
- },
465
- {
466
- "name": "astro",
467
- "tier": "stack",
468
- "category": "frontend",
469
- "path": ".agents/skills/stack/frontend/astro/SKILL.md",
470
- "description": "Builds ultra-fast content-driven websites with Astro. Use when defaulting to SSG, opting into SSR only for dynamic data, picking the most restrictive `client:*` hydration directive, leveraging Server Islands (`server:defer`), Astro Actions for type-safe mutations, and the Content Layer with Zod- validated collections.",
471
- "policyCapsuleBullets": 8,
472
- "allowedTools": null,
473
- "vendor": "astro"
474
- },
475
- {
476
- "name": "expo-react-native-developer",
477
- "tier": "stack",
478
- "category": "frontend",
479
- "path": ".agents/skills/stack/frontend/expo-react-native-developer/SKILL.md",
480
- "description": "Prevents DOM element usage in React Native (Expo) workspaces. Use when writing components for Expo apps — `<View>`, `<Text>`, `<TouchableOpacity>` instead of `<div>`/`<span>`/`<p>`, no `window`/`document`, and styling through the project's established solution.",
481
- "policyCapsuleBullets": 5,
482
- "allowedTools": null,
483
- "vendor": "expo"
484
- },
485
- {
486
- "name": "google-analytics-v4",
487
- "tier": "stack",
488
- "category": "frontend",
489
- "path": ".agents/skills/stack/frontend/google-analytics-v4/SKILL.md",
490
- "description": "Implements privacy-compliant event tracking with Google Analytics 4. Use when wiring analytics that must comply with GDPR/CCPA via Consent Mode V2 — `snake_case` event names, no PII to GA servers, GTM-driven event firing, and DebugView verification before deploy.",
491
- "policyCapsuleBullets": 8,
492
- "allowedTools": null,
493
- "vendor": "google"
494
- },
495
- {
496
- "name": "tailwind-v4",
497
- "tier": "stack",
498
- "category": "frontend",
499
- "path": ".agents/skills/stack/frontend/tailwind-v4/SKILL.md",
500
- "description": "Implements maintainable styling with Tailwind CSS v4. Use when writing styles in v4 projects — CSS-first configuration via `@theme` blocks (never `tailwind.config.ts/js`), mobile-first breakpoints, full class names (no string interpolation), and no arbitrary `p-[13px]`-style values.",
501
- "policyCapsuleBullets": 8,
502
- "allowedTools": null,
503
- "vendor": "tailwind"
504
- },
505
- {
506
- "name": "ui-accessibility-engineer",
507
- "tier": "stack",
508
- "category": "frontend",
509
- "path": ".agents/skills/stack/frontend/ui-accessibility-engineer/SKILL.md",
510
- "description": "Enforces mobile-first Tailwind CSS and strict WCAG 2.1 AA compliance for user-facing UI. Use when building UI components — utility classes only (no custom CSS or inline `style={{}}`), mobile-first breakpoints, visible focus states, alt text, and 4.5:1 contrast.",
511
- "policyCapsuleBullets": 7,
512
- "allowedTools": null,
513
- "vendor": "tailwind"
514
- },
515
- {
516
- "name": "audit-accessibility",
517
- "tier": "stack",
518
- "category": "qa",
519
- "path": ".agents/skills/stack/qa/audit-accessibility/SKILL.md",
520
- "description": "Audits sites and apps for WCAG 2.1 Level AA compliance using automated and manual testing tools. Use when running an accessibility audit or building a remediation plan — semantic HTML, contrast, focus management, keyboard reachability, and axe-core integration in Vitest/Playwright.",
521
- "policyCapsuleBullets": 8,
522
- "allowedTools": null,
523
- "vendor": null
524
- },
525
135
  {
526
136
  "name": "gherkin-authoring",
527
137
  "tier": "stack",
@@ -532,16 +142,6 @@
532
142
  "allowedTools": null,
533
143
  "vendor": null
534
144
  },
535
- {
536
- "name": "lighthouse-baseline",
537
- "tier": "stack",
538
- "category": "qa",
539
- "path": ".agents/skills/stack/qa/lighthouse-baseline/SKILL.md",
540
- "description": "Codifies the capture-and-check baseline pattern for long-running quality signals (Lighthouse scores, bundle size, p95 latency, runtime memory). Use when wiring a new metric that needs a baseline file, paired :capture / :check npm scripts, a tolerance-bounded gate, and a weekly refresh cadence — the goal is a hard CI signal that ratchets only with intent.",
541
- "policyCapsuleBullets": 8,
542
- "allowedTools": null,
543
- "vendor": null
544
- },
545
145
  {
546
146
  "name": "playwright-bdd",
547
147
  "tier": "stack",
@@ -591,16 +191,6 @@
591
191
  "policyCapsuleBullets": 8,
592
192
  "allowedTools": null,
593
193
  "vendor": "vitest"
594
- },
595
- {
596
- "name": "backend-security-patterns",
597
- "tier": "stack",
598
- "category": "security",
599
- "path": ".agents/skills/stack/security/backend-security-patterns/SKILL.md",
600
- "description": "Combined backend protocols for authentication (Clerk JWT verification) and PII-safe observability. Use when handling auth on the server, verifying Clerk webhooks via `svix`, scoping metadata via `publicMetadata`/ `privateMetadata`, or sanitizing logs to keep emails, tokens, and request bodies out of telemetry.",
601
- "policyCapsuleBullets": 8,
602
- "allowedTools": null,
603
- "vendor": "clerk"
604
194
  }
605
195
  ]
606
196
  }
@@ -13,10 +13,5 @@
13
13
  "repo": "[REPO]",
14
14
  "operatorHandle": "@[USERNAME]",
15
15
  "projectNumber": null
16
- },
17
- "delivery": {
18
- "ci": {
19
- "skipForStoryPushes": true
20
- }
21
16
  }
22
17
  }
@@ -5,14 +5,14 @@ Version: {{PROTOCOL_VERSION}}
5
5
  You are an AI coding assistant. This protocol governs your execution of the
6
6
  current work unit. You must follow these rules strictly.
7
7
 
8
- > **Hierarchy shape.** Mandrel uses a **2-tier hierarchy**
9
- > (Epic → Story). The work unit is the `type::story` issue
10
- > itself, with acceptance criteria and verification inlined on the
11
- > Story body. There is no per-Task sub-loop; the agent authors commit
8
+ > **Hierarchy shape.** Mandrel uses a **Story-only** model. The work unit
9
+ > is the `type::story` issue itself, with acceptance criteria and
10
+ > verification inlined on the Story body and the folded Tech Spec in
11
+ > `## Spec`. There is no per-Task sub-loop; the agent authors commit
12
12
  > subjects directly per `.agents/rules/git-conventions.md` and
13
- > references the parent Story via `(refs #<storyId>)`. Branch naming
14
- > (`{{BRANCH_NAME}}` from `{{EPIC_BRANCH}}`), the Epic-branch
15
- > integration target, and the close protocol are as documented below.
13
+ > references the Story via `(refs #<storyId>)`. Branch naming
14
+ > (`{{BRANCH_NAME}}` from `{{EPIC_BRANCH}}` / base), the PR target
15
+ > (`main`), and the close protocol are as documented below.
16
16
 
17
17
  ## 1. Pre-Flight Verification
18
18
 
@@ -50,9 +50,8 @@ When your implementation is complete and verified:
50
50
  `{{TEST_CMD}}`) here. The close script's lint/test/format/maintainability
51
51
  chain is the authoritative gate, run at Story closure (`story-close.js`).
52
52
  Exception: you may run them interactively while iterating on a fix.
53
- 3. The Story branch is auto-merged into the Epic branch by
54
- `helpers/epic-deliver-story` (via `story-close.js`) — do **not** merge
55
- manually.
53
+ 3. The Story branch is opened as a PR to `main` by `helpers/deliver-story`
54
+ (via `single-story-close.js`) — do **not** merge manually.
56
55
 
57
56
  ## 6. Definition of Done
58
57
 
@@ -70,10 +70,10 @@ degrade to the sequential path.
70
70
  > read/search tools (`Read`, `Grep`, `Glob`) — no write/edit/shell-mutation
71
71
  > tools. The single write in an orchestrated run is the final report artifact.
72
72
 
73
- ## Scope (Epic mode)
73
+ ## Scope (Story / plan-run mode)
74
74
 
75
- When this lens is invoked from `/deliver` Phase 4 (epic-audit), the
76
- following block is populated with the Epic's change-set file list.
75
+ When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
76
+ following block is populated with the Story (or plan-run) change-set file list.
77
77
  Otherwise — for any manual `/audit-<dimension>` invocation — the block
78
78
  renders the literal substitution token and you MUST treat it as **no
79
79
  scope filter — run the lens codebase-wide** exactly as you would have
@@ -15,10 +15,10 @@ quality. Your objective is to identify "code smells," technical debt, and
15
15
  violations of clean code principles (SOLID, DRY, KISS) that hinder long-term
16
16
  velocity.
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
@@ -14,10 +14,10 @@ Manage the lifecycle of project dependencies. Your goal is to identify outdated,
14
14
  vulnerable, or bloated packages and suggest a safe upgrade path that maintains
15
15
  system stability.
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 @@ infrastructure, developer experience (DX) tooling, and CI/CD pipelines. Your
15
15
  goal is to identify inefficiencies, security risks, and areas for modernization
16
16
  without making any immediate changes.
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