@sienklogic/plan-build-run 2.21.0 → 2.21.2

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 (983) hide show
  1. package/CHANGELOG.md +1331 -299
  2. package/CLAUDE.md +75 -40
  3. package/LICENSE +2 -1
  4. package/README.md +412 -177
  5. package/bin/install.js +2752 -0
  6. package/dashboard/bin/cli.cjs +96 -0
  7. package/dashboard/bin/stop.cjs +129 -0
  8. package/dashboard/eslint.config.js +37 -0
  9. package/dashboard/index.html +20 -0
  10. package/dashboard/package.json +27 -25
  11. package/dashboard/server/index.js +151 -0
  12. package/dashboard/server/lib/frontmatter.js +92 -0
  13. package/dashboard/server/middleware/static.js +35 -0
  14. package/dashboard/server/package.json +16 -0
  15. package/dashboard/server/routes/agents.js +234 -0
  16. package/dashboard/server/routes/config.js +64 -0
  17. package/dashboard/server/routes/health.js +98 -0
  18. package/dashboard/server/routes/incidents.js +78 -0
  19. package/dashboard/server/routes/intel.js +69 -0
  20. package/dashboard/server/routes/memory.js +107 -0
  21. package/dashboard/server/routes/planning.js +234 -0
  22. package/dashboard/server/routes/progress.js +77 -0
  23. package/dashboard/server/routes/projects.js +36 -0
  24. package/dashboard/server/routes/requirements.js +40 -0
  25. package/dashboard/server/routes/roadmap.js +69 -0
  26. package/dashboard/server/routes/sessions.js +70 -0
  27. package/dashboard/server/routes/status.js +25 -0
  28. package/dashboard/server/routes/telemetry.js +233 -0
  29. package/dashboard/server/services/file-watcher.js +105 -0
  30. package/dashboard/server/services/planning-reader.js +727 -0
  31. package/dashboard/server/test/cli.test.js +34 -0
  32. package/dashboard/server/test/frontmatter.test.js +104 -0
  33. package/dashboard/server/test/isolation.test.js +32 -0
  34. package/dashboard/server/test/planning-reader.test.js +151 -0
  35. package/dashboard/server/test/routes.test.js +91 -0
  36. package/dashboard/server/test/ws.test.js +81 -0
  37. package/dashboard/server/ws.js +96 -0
  38. package/dashboard/src/App.jsx +165 -0
  39. package/dashboard/src/components/charts/BudgetBars.jsx +42 -0
  40. package/dashboard/src/components/charts/ContextRadar.jsx +34 -0
  41. package/dashboard/src/components/charts/PhaseDonut.jsx +66 -0
  42. package/dashboard/src/components/charts/SuccessTrend.jsx +45 -0
  43. package/dashboard/src/components/charts/TokenChart.jsx +55 -0
  44. package/dashboard/src/components/charts/index.js +5 -0
  45. package/dashboard/src/components/config/CfgSection.jsx +93 -0
  46. package/dashboard/src/components/layout/Header.jsx +89 -0
  47. package/dashboard/src/components/layout/ProjectSwitcher.jsx +160 -0
  48. package/dashboard/src/components/layout/Sidebar.jsx +161 -0
  49. package/dashboard/src/components/ui/AutoModeBanner.jsx +138 -0
  50. package/dashboard/src/components/ui/BackButton.jsx +27 -0
  51. package/dashboard/src/components/ui/Badge.jsx +27 -0
  52. package/dashboard/src/components/ui/Card.jsx +23 -0
  53. package/dashboard/src/components/ui/ChartTooltip.jsx +48 -0
  54. package/dashboard/src/components/ui/CheckpointBox.jsx +110 -0
  55. package/dashboard/src/components/ui/CodeBlock.jsx +27 -0
  56. package/dashboard/src/components/ui/ConfidenceBadge.jsx +20 -0
  57. package/dashboard/src/components/ui/ConfirmModal.jsx +161 -0
  58. package/dashboard/src/components/ui/ConnectionBanner.jsx +60 -0
  59. package/dashboard/src/components/ui/ErrorBoundary.jsx +106 -0
  60. package/dashboard/src/components/ui/ErrorBox.jsx +107 -0
  61. package/dashboard/src/components/ui/KeyValue.jsx +33 -0
  62. package/dashboard/src/components/ui/LoadingSkeleton.jsx +84 -0
  63. package/dashboard/src/components/ui/MetricCard.jsx +58 -0
  64. package/dashboard/src/components/ui/NextUpBlock.jsx +92 -0
  65. package/dashboard/src/components/ui/NumberInput.jsx +44 -0
  66. package/dashboard/src/components/ui/PBRBanner.jsx +47 -0
  67. package/dashboard/src/components/ui/PipelineView.jsx +130 -0
  68. package/dashboard/src/components/ui/ProgressBar.jsx +28 -0
  69. package/dashboard/src/components/ui/ProgressDisplay.jsx +47 -0
  70. package/dashboard/src/components/ui/QualityGateBadge.jsx +15 -0
  71. package/dashboard/src/components/ui/SectionTitle.jsx +35 -0
  72. package/dashboard/src/components/ui/SelectInput.jsx +45 -0
  73. package/dashboard/src/components/ui/StatusDot.jsx +51 -0
  74. package/dashboard/src/components/ui/StatusSymbol.jsx +49 -0
  75. package/dashboard/src/components/ui/TabBar.jsx +41 -0
  76. package/dashboard/src/components/ui/TextInput.jsx +42 -0
  77. package/dashboard/src/components/ui/Toast.jsx +117 -0
  78. package/dashboard/src/components/ui/Toggle.jsx +70 -0
  79. package/dashboard/src/components/ui/index.js +29 -0
  80. package/dashboard/src/hooks/useDocumentTitle.js +16 -0
  81. package/dashboard/src/hooks/useFetch.js +50 -0
  82. package/dashboard/src/hooks/useToast.jsx +43 -0
  83. package/dashboard/src/hooks/useWebSocket.js +103 -0
  84. package/dashboard/src/lib/api.js +112 -0
  85. package/dashboard/src/lib/configSchema.js +189 -0
  86. package/dashboard/src/lib/constants.js +22 -0
  87. package/dashboard/src/main.jsx +15 -0
  88. package/dashboard/src/pages/AgentsPage.jsx +191 -0
  89. package/dashboard/src/pages/ConfigPage.jsx +298 -0
  90. package/dashboard/src/pages/HooksPage.jsx +412 -0
  91. package/dashboard/src/pages/IncidentsPage.jsx +135 -0
  92. package/dashboard/src/pages/IntelPage.jsx +193 -0
  93. package/dashboard/src/pages/LiveFeed.jsx +274 -0
  94. package/dashboard/src/pages/MemoryPage.jsx +107 -0
  95. package/dashboard/src/pages/OnboardingPage.jsx +117 -0
  96. package/dashboard/src/pages/Overview.jsx +360 -0
  97. package/dashboard/src/pages/PhaseDetailView.jsx +216 -0
  98. package/dashboard/src/pages/PlanningPage.jsx +181 -0
  99. package/dashboard/src/pages/ProgressPage.jsx +249 -0
  100. package/dashboard/src/pages/ResearchPage.jsx +129 -0
  101. package/dashboard/src/pages/RoadmapPage.jsx +251 -0
  102. package/dashboard/src/pages/SessionsPage.jsx +117 -0
  103. package/dashboard/src/pages/Telemetry.jsx +166 -0
  104. package/dashboard/src/pages/planning/DecisionsTab.jsx +153 -0
  105. package/dashboard/src/pages/planning/FilesTab.jsx +420 -0
  106. package/dashboard/src/pages/planning/MilestoneDetail.jsx +319 -0
  107. package/dashboard/src/pages/planning/MilestonesTab.jsx +151 -0
  108. package/dashboard/src/pages/planning/NotesTab.jsx +251 -0
  109. package/dashboard/src/pages/planning/PhasesTab.jsx +218 -0
  110. package/dashboard/src/pages/planning/QuickTab.jsx +50 -0
  111. package/dashboard/src/pages/planning/ResearchTab.jsx +103 -0
  112. package/dashboard/src/pages/planning/TodosTab.jsx +297 -0
  113. package/dashboard/src/theme/ThemeProvider.jsx +38 -0
  114. package/dashboard/src/theme/tokens.js +17 -0
  115. package/dashboard/tests/components/ConfirmModal.test.jsx +179 -0
  116. package/dashboard/tests/components/ConnectionBanner.test.jsx +37 -0
  117. package/dashboard/tests/components/ErrorBoundary.test.jsx +59 -0
  118. package/dashboard/tests/components/LoadingSkeleton.test.jsx +46 -0
  119. package/dashboard/tests/components/ToastContainer.test.jsx +47 -0
  120. package/dashboard/tests/components/Toggle.test.jsx +61 -0
  121. package/dashboard/tests/hooks/useFetch.test.jsx +77 -0
  122. package/dashboard/tests/hooks/useToast.test.jsx +78 -0
  123. package/dashboard/tests/hooks/useWebSocket.test.jsx +128 -0
  124. package/dashboard/tests/pages/ConfigPage.test.jsx +199 -0
  125. package/dashboard/tests/pages/PlanningPage.test.jsx +119 -0
  126. package/dashboard/tests/pages/planning/FilesTab.test.jsx +198 -0
  127. package/dashboard/tests/pages/planning/NotesTab.test.jsx +178 -0
  128. package/dashboard/tests/pages/planning/TodosTab.test.jsx +188 -0
  129. package/dashboard/tests/performance.test.jsx +46 -0
  130. package/dashboard/tests/routes/config.test.js +98 -0
  131. package/dashboard/tests/routes/health.test.js +40 -0
  132. package/dashboard/tests/routes/planning.test.js +112 -0
  133. package/dashboard/tests/routes/roadmap.test.js +91 -0
  134. package/dashboard/tests/routes/status.test.js +131 -0
  135. package/dashboard/tests/server/planning-reader.test.js +153 -0
  136. package/dashboard/tests/setup.js +7 -0
  137. package/dashboard/vite.config.js +41 -0
  138. package/package.json +56 -41
  139. package/plan-build-run/bin/config-schema.json +1298 -0
  140. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  141. package/plugins/pbr/CLAUDE.md +19 -0
  142. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
  143. package/plugins/pbr/agents/advisor-researcher.md +101 -0
  144. package/plugins/pbr/agents/audit.md +207 -89
  145. package/plugins/pbr/agents/codebase-mapper.md +158 -23
  146. package/plugins/pbr/agents/debugger.md +212 -34
  147. package/plugins/pbr/agents/dev-sync.md +206 -0
  148. package/plugins/pbr/agents/executor.md +737 -39
  149. package/plugins/pbr/agents/general.md +71 -6
  150. package/plugins/pbr/agents/integration-checker.md +148 -30
  151. package/plugins/pbr/agents/intel-updater.md +332 -0
  152. package/plugins/pbr/agents/nyquist-auditor.md +254 -0
  153. package/plugins/pbr/agents/plan-checker.md +268 -66
  154. package/plugins/pbr/agents/planner.md +451 -42
  155. package/plugins/pbr/agents/researcher.md +219 -36
  156. package/plugins/pbr/agents/roadmapper.md +398 -0
  157. package/plugins/pbr/agents/synthesizer.md +166 -26
  158. package/plugins/pbr/agents/ui-checker.md +204 -0
  159. package/plugins/pbr/agents/ui-researcher.md +224 -0
  160. package/plugins/pbr/agents/verifier.md +571 -47
  161. package/plugins/pbr/commands/add-phase.md +75 -0
  162. package/plugins/pbr/commands/add-todo.md +8 -0
  163. package/plugins/pbr/commands/audit-fix.md +5 -0
  164. package/plugins/pbr/commands/audit-milestone.md +8 -0
  165. package/plugins/pbr/commands/autonomous.md +5 -0
  166. package/plugins/pbr/commands/backlog.md +6 -0
  167. package/plugins/pbr/commands/check-todos.md +8 -0
  168. package/plugins/pbr/commands/complete-milestone.md +8 -0
  169. package/plugins/pbr/commands/config.md +1 -1
  170. package/plugins/pbr/commands/discuss-phase.md +6 -0
  171. package/plugins/pbr/commands/do.md +5 -0
  172. package/plugins/pbr/commands/execute-phase.md +6 -0
  173. package/plugins/pbr/commands/fast.md +6 -0
  174. package/plugins/pbr/commands/forensics.md +6 -0
  175. package/plugins/pbr/commands/import.md +1 -1
  176. package/plugins/pbr/commands/insert-phase.md +65 -0
  177. package/plugins/pbr/commands/intel.md +5 -0
  178. package/plugins/pbr/commands/join-discord.md +11 -0
  179. package/plugins/pbr/commands/list-phase-assumptions.md +5 -0
  180. package/plugins/pbr/commands/map-codebase.md +6 -0
  181. package/plugins/pbr/commands/milestone-summary.md +6 -0
  182. package/plugins/pbr/commands/new-milestone.md +8 -0
  183. package/plugins/pbr/commands/new-project.md +6 -0
  184. package/plugins/pbr/commands/pause-work.md +5 -0
  185. package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
  186. package/plugins/pbr/commands/plan-phase.md +6 -0
  187. package/plugins/pbr/commands/plant-seed.md +6 -0
  188. package/plugins/pbr/commands/profile-user.md +5 -0
  189. package/plugins/pbr/commands/profile.md +5 -0
  190. package/plugins/pbr/commands/progress.md +6 -0
  191. package/plugins/pbr/commands/quick.md +1 -1
  192. package/plugins/pbr/commands/reapply-patches.md +47 -0
  193. package/plugins/pbr/commands/release.md +6 -0
  194. package/plugins/pbr/commands/remove-phase.md +66 -0
  195. package/plugins/pbr/commands/research-phase.md +59 -0
  196. package/plugins/pbr/commands/resume-work.md +5 -0
  197. package/plugins/pbr/commands/seed.md +6 -0
  198. package/plugins/pbr/commands/session-report.md +5 -0
  199. package/plugins/pbr/commands/set-profile.md +6 -0
  200. package/plugins/pbr/commands/settings.md +5 -0
  201. package/plugins/pbr/commands/setup.md +1 -1
  202. package/plugins/pbr/commands/ship.md +5 -0
  203. package/plugins/pbr/commands/stats.md +6 -0
  204. package/plugins/pbr/commands/test.md +5 -0
  205. package/plugins/pbr/commands/thread.md +6 -0
  206. package/plugins/pbr/commands/todo.md +1 -1
  207. package/plugins/pbr/commands/ui-phase.md +5 -0
  208. package/plugins/pbr/commands/ui-review.md +5 -0
  209. package/plugins/pbr/commands/undo.md +5 -0
  210. package/plugins/pbr/commands/update.md +37 -0
  211. package/plugins/pbr/commands/validate-phase.md +5 -0
  212. package/plugins/pbr/commands/verify-work.md +6 -0
  213. package/plugins/pbr/dashboard/package-lock.json +6 -0
  214. package/plugins/pbr/dist/architecture-guard.js +76 -0
  215. package/plugins/pbr/dist/audit-dimensions.js +556 -0
  216. package/plugins/pbr/dist/auto-continue.js +277 -0
  217. package/plugins/pbr/dist/block-skill-self-read.js +124 -0
  218. package/plugins/pbr/dist/check-agent-state-write.js +63 -0
  219. package/plugins/pbr/dist/check-config-change.js +213 -0
  220. package/plugins/pbr/dist/check-cross-plugin-sync.js +93 -0
  221. package/plugins/pbr/dist/check-dangerous-commands.js +193 -0
  222. package/plugins/pbr/dist/check-direct-state-write.js +37 -0
  223. package/plugins/pbr/dist/check-doc-sprawl.js +102 -0
  224. package/plugins/pbr/dist/check-phase-boundary.js +191 -0
  225. package/plugins/pbr/dist/check-plan-format.js +227 -0
  226. package/plugins/pbr/dist/check-read-first.js +345 -0
  227. package/plugins/pbr/dist/check-roadmap-sync.js +507 -0
  228. package/plugins/pbr/dist/check-skill-workflow.js +354 -0
  229. package/plugins/pbr/dist/check-state-sync.js +676 -0
  230. package/plugins/pbr/dist/check-subagent-output.js +425 -0
  231. package/plugins/pbr/dist/check-summary-gate.js +188 -0
  232. package/plugins/pbr/dist/context-bridge.js +425 -0
  233. package/plugins/pbr/dist/context-budget-check.js +442 -0
  234. package/plugins/pbr/dist/context-quality.js +271 -0
  235. package/plugins/pbr/dist/enforce-context-budget.js +138 -0
  236. package/plugins/pbr/dist/enforce-pbr-workflow.js +277 -0
  237. package/plugins/pbr/dist/event-handler.js +212 -0
  238. package/plugins/pbr/dist/event-logger.js +125 -0
  239. package/plugins/pbr/dist/feedback-loop.js +155 -0
  240. package/plugins/pbr/dist/graph-update.js +422 -0
  241. package/plugins/pbr/dist/hook-logger.js +114 -0
  242. package/plugins/pbr/dist/hook-server-client.js +361 -0
  243. package/plugins/pbr/dist/hook-server.js +664 -0
  244. package/plugins/pbr/dist/hooks-schema.json +87 -0
  245. package/plugins/pbr/dist/instructions-loaded.js +173 -0
  246. package/plugins/pbr/dist/intercept-plan-mode.js +81 -0
  247. package/plugins/pbr/dist/log-notification.js +131 -0
  248. package/plugins/pbr/dist/log-subagent.js +367 -0
  249. package/plugins/pbr/dist/log-tool-failure.js +140 -0
  250. package/plugins/pbr/dist/milestone-learnings.js +519 -0
  251. package/plugins/pbr/dist/pbr-tools.js +493 -0
  252. package/plugins/pbr/dist/post-bash-triage.js +96 -0
  253. package/plugins/pbr/dist/post-compact.js +135 -0
  254. package/plugins/pbr/dist/post-hoc.js +237 -0
  255. package/plugins/pbr/dist/post-write-dispatch.js +243 -0
  256. package/plugins/pbr/dist/post-write-quality.js +208 -0
  257. package/plugins/pbr/dist/pre-bash-dispatch.js +212 -0
  258. package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
  259. package/plugins/pbr/dist/pre-task-dispatch.js +269 -0
  260. package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
  261. package/plugins/pbr/dist/progress-tracker.js +173 -0
  262. package/plugins/pbr/dist/prompt-guard.js +114 -0
  263. package/plugins/pbr/dist/prompt-routing.js +209 -0
  264. package/plugins/pbr/dist/quick-status.js +179 -0
  265. package/plugins/pbr/dist/record-incident.js +37 -0
  266. package/plugins/pbr/dist/run-hook.js +132 -0
  267. package/plugins/pbr/dist/session-cleanup.js +653 -0
  268. package/plugins/pbr/dist/session-tracker.js +124 -0
  269. package/plugins/pbr/dist/status-line.js +849 -0
  270. package/plugins/pbr/dist/suggest-compact.js +307 -0
  271. package/plugins/pbr/dist/sync-context-to-claude.js +100 -0
  272. package/plugins/pbr/dist/task-completed.js +206 -0
  273. package/plugins/pbr/dist/track-context-budget.js +432 -0
  274. package/plugins/pbr/dist/track-user-gates.js +88 -0
  275. package/plugins/pbr/dist/trust-tracker.js +193 -0
  276. package/plugins/pbr/dist/validate-commit.js +233 -0
  277. package/plugins/pbr/dist/validate-skill-args.js +222 -0
  278. package/plugins/pbr/dist/validate-task.js +271 -0
  279. package/plugins/pbr/dist/worktree-create.js +144 -0
  280. package/plugins/pbr/dist/worktree-remove.js +147 -0
  281. package/plugins/pbr/hooks/hooks.json +137 -65
  282. package/plugins/pbr/references/agent-contracts.md +39 -8
  283. package/plugins/pbr/references/agent-teams.md +3 -3
  284. package/plugins/pbr/references/archive/checkpoints.md +189 -0
  285. package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
  286. package/plugins/pbr/references/archive/hook-ordering.md +89 -0
  287. package/plugins/pbr/references/archive/limitations.md +106 -0
  288. package/plugins/pbr/references/archive/pbr-rules.md +194 -0
  289. package/plugins/pbr/references/archive/pbr-tools-cli.md +415 -0
  290. package/plugins/pbr/references/archive/pretooluse-jsonl-behavior.md +58 -0
  291. package/plugins/pbr/references/archive/signal-files.md +41 -0
  292. package/plugins/pbr/references/archive/tmux-setup.md +288 -0
  293. package/plugins/pbr/references/archive/verification-matrix.md +34 -0
  294. package/plugins/pbr/references/archive/verification-patterns.md +277 -0
  295. package/plugins/pbr/references/archive/worktree-sparse-checkout.md +86 -0
  296. package/plugins/pbr/references/assumptions.md +42 -0
  297. package/plugins/pbr/references/checkpoints.md +723 -104
  298. package/plugins/pbr/references/config-reference.md +387 -10
  299. package/plugins/pbr/references/continuation-format.md +1 -0
  300. package/plugins/pbr/references/decimal-phase-calculation.md +65 -0
  301. package/plugins/pbr/references/deviation-rules.md +12 -0
  302. package/plugins/pbr/references/few-shot-examples/audit.md +77 -0
  303. package/plugins/pbr/references/few-shot-examples/check-plan-format.md +172 -0
  304. package/plugins/pbr/references/few-shot-examples/check-subagent-output.md +118 -0
  305. package/plugins/pbr/references/few-shot-examples/integration-checker.md +70 -0
  306. package/plugins/pbr/references/few-shot-examples/nyquist-auditor.md +83 -0
  307. package/plugins/pbr/references/few-shot-examples/plan-checker.md +73 -0
  308. package/plugins/pbr/references/few-shot-examples/ui-checker.md +71 -0
  309. package/plugins/pbr/references/few-shot-examples/verifier.md +109 -0
  310. package/plugins/pbr/references/git-integration.md +110 -27
  311. package/plugins/pbr/references/git-planning-commit.md +35 -0
  312. package/plugins/pbr/references/model-profile-resolution.md +34 -0
  313. package/plugins/pbr/references/model-profiles.md +90 -7
  314. package/plugins/pbr/references/model-selection.md +1 -1
  315. package/plugins/pbr/references/node-repair.md +48 -0
  316. package/plugins/pbr/references/plan-authoring.md +65 -0
  317. package/plugins/pbr/references/plan-format.md +184 -10
  318. package/plugins/pbr/references/questioning.md +138 -49
  319. package/plugins/pbr/references/reading-verification.md +4 -4
  320. package/plugins/pbr/references/tdd.md +263 -0
  321. package/plugins/pbr/references/thinking-models-planning.md +47 -0
  322. package/plugins/pbr/references/thinking-models-verification.md +44 -0
  323. package/plugins/pbr/references/ui-brand.md +449 -0
  324. package/plugins/pbr/references/verification-overrides.md +39 -0
  325. package/plugins/pbr/references/verification-patterns.md +529 -113
  326. package/plugins/pbr/scripts/architecture-guard.js +76 -0
  327. package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
  328. package/plugins/pbr/scripts/audit-checks/error-analysis.js +989 -0
  329. package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
  330. package/plugins/pbr/scripts/audit-checks/index.js +433 -0
  331. package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
  332. package/plugins/pbr/scripts/audit-checks/quality-metrics.js +455 -0
  333. package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
  334. package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +396 -0
  335. package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
  336. package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
  337. package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1175 -0
  338. package/plugins/pbr/scripts/audit-dimensions.js +556 -0
  339. package/plugins/pbr/scripts/auto-continue.js +192 -37
  340. package/plugins/pbr/scripts/block-skill-self-read.js +124 -0
  341. package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
  342. package/plugins/pbr/scripts/check-config-change.js +84 -1
  343. package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
  344. package/plugins/pbr/scripts/check-dangerous-commands.js +18 -5
  345. package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
  346. package/plugins/pbr/scripts/check-phase-boundary.js +3 -8
  347. package/plugins/pbr/scripts/check-plan-format.js +153 -278
  348. package/plugins/pbr/scripts/check-read-first.js +345 -0
  349. package/plugins/pbr/scripts/check-roadmap-sync.js +174 -19
  350. package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
  351. package/plugins/pbr/scripts/check-state-sync.js +360 -218
  352. package/plugins/pbr/scripts/check-subagent-output.js +308 -273
  353. package/plugins/pbr/scripts/check-summary-gate.js +5 -15
  354. package/plugins/pbr/scripts/commands/benchmarks.js +195 -0
  355. package/plugins/pbr/scripts/commands/calibrate.js +530 -0
  356. package/plugins/pbr/scripts/commands/config.js +72 -0
  357. package/plugins/pbr/scripts/commands/misc.js +779 -0
  358. package/plugins/pbr/scripts/commands/phase.js +293 -0
  359. package/plugins/pbr/scripts/commands/roadmap.js +75 -0
  360. package/plugins/pbr/scripts/commands/state.js +84 -0
  361. package/plugins/pbr/scripts/commands/stress-test.js +349 -0
  362. package/plugins/pbr/scripts/commands/todo.js +191 -0
  363. package/plugins/pbr/scripts/commands/verify.js +169 -0
  364. package/plugins/pbr/scripts/config-schema.json +1183 -95
  365. package/plugins/pbr/scripts/context-bridge.js +425 -0
  366. package/plugins/pbr/scripts/context-budget-check.js +171 -16
  367. package/plugins/pbr/scripts/context-quality.js +271 -0
  368. package/plugins/pbr/scripts/enforce-context-budget.js +138 -0
  369. package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
  370. package/plugins/pbr/scripts/event-handler.js +137 -87
  371. package/plugins/pbr/scripts/event-logger.js +58 -25
  372. package/plugins/pbr/scripts/feedback-loop.js +155 -0
  373. package/plugins/pbr/scripts/graph-update.js +422 -0
  374. package/plugins/pbr/scripts/hook-logger.js +69 -35
  375. package/plugins/pbr/scripts/hook-server-client.js +361 -0
  376. package/plugins/pbr/scripts/hook-server.js +664 -0
  377. package/plugins/pbr/scripts/hooks-schema.json +12 -5
  378. package/plugins/pbr/scripts/instructions-loaded.js +173 -0
  379. package/plugins/pbr/scripts/intent-router.cjs +147 -0
  380. package/plugins/pbr/scripts/intercept-plan-mode.js +52 -18
  381. package/plugins/pbr/scripts/lib/alternatives.js +203 -0
  382. package/plugins/pbr/scripts/lib/audit.js +65 -0
  383. package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
  384. package/plugins/pbr/scripts/lib/auto-verify.js +123 -0
  385. package/plugins/pbr/scripts/lib/benchmark.js +190 -0
  386. package/plugins/pbr/scripts/lib/build.js +719 -0
  387. package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
  388. package/plugins/pbr/scripts/lib/commands.js +483 -0
  389. package/plugins/pbr/scripts/lib/compound.js +222 -0
  390. package/plugins/pbr/scripts/lib/config-cache.js +83 -0
  391. package/plugins/pbr/scripts/lib/config.js +1469 -0
  392. package/plugins/pbr/scripts/lib/context.js +254 -0
  393. package/plugins/pbr/scripts/lib/contextual-help.js +183 -0
  394. package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
  395. package/plugins/pbr/scripts/lib/core.js +1585 -0
  396. package/plugins/pbr/scripts/lib/dashboard-launch.js +364 -0
  397. package/plugins/pbr/scripts/lib/data-hygiene.js +179 -0
  398. package/plugins/pbr/scripts/lib/decision-extraction.js +183 -0
  399. package/plugins/pbr/scripts/lib/decisions.js +194 -0
  400. package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
  401. package/plugins/pbr/scripts/lib/format-validators.js +1049 -0
  402. package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
  403. package/plugins/pbr/scripts/lib/gates/advisories.js +133 -0
  404. package/plugins/pbr/scripts/lib/gates/build-dependency.js +118 -0
  405. package/plugins/pbr/scripts/lib/gates/build-executor.js +106 -0
  406. package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
  407. package/plugins/pbr/scripts/lib/gates/helpers.js +98 -0
  408. package/plugins/pbr/scripts/lib/gates/inline-execution.js +187 -0
  409. package/plugins/pbr/scripts/lib/gates/milestone-complete.js +139 -0
  410. package/plugins/pbr/scripts/lib/gates/milestone-summary.js +121 -0
  411. package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +149 -0
  412. package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
  413. package/plugins/pbr/scripts/lib/gates/plan-validation.js +115 -0
  414. package/plugins/pbr/scripts/lib/gates/quick-executor.js +78 -0
  415. package/plugins/pbr/scripts/lib/gates/review-planner.js +63 -0
  416. package/plugins/pbr/scripts/lib/gates/review-verifier.js +71 -0
  417. package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +148 -0
  418. package/plugins/pbr/scripts/lib/gates/sprint-preflight.js +30 -0
  419. package/plugins/pbr/scripts/lib/gates/user-confirmation.js +95 -0
  420. package/plugins/pbr/scripts/lib/graph-cli.js +89 -0
  421. package/plugins/pbr/scripts/lib/graph.js +553 -0
  422. package/plugins/pbr/scripts/lib/handoff-validators.js +224 -0
  423. package/plugins/pbr/scripts/lib/health-checks.js +107 -0
  424. package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
  425. package/plugins/pbr/scripts/lib/health.js +132 -0
  426. package/plugins/pbr/scripts/lib/help.js +100 -0
  427. package/plugins/pbr/scripts/lib/history.js +150 -0
  428. package/plugins/pbr/scripts/lib/impact-analysis.js +319 -0
  429. package/plugins/pbr/scripts/lib/incidents.js +190 -0
  430. package/plugins/pbr/scripts/lib/init.js +643 -0
  431. package/plugins/pbr/scripts/lib/insights-parser.js +320 -0
  432. package/plugins/pbr/scripts/lib/intel.js +653 -0
  433. package/plugins/pbr/scripts/lib/learnings.js +511 -0
  434. package/plugins/pbr/scripts/lib/migrate.js +309 -0
  435. package/plugins/pbr/scripts/lib/milestone.js +306 -0
  436. package/plugins/pbr/scripts/lib/msys-path.js +20 -0
  437. package/plugins/pbr/scripts/lib/negative-knowledge.js +194 -0
  438. package/plugins/pbr/scripts/lib/notification-throttle.js +141 -0
  439. package/plugins/pbr/scripts/lib/onboarding-generator.js +288 -0
  440. package/plugins/pbr/scripts/lib/parse-args.js +134 -0
  441. package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
  442. package/plugins/pbr/scripts/lib/patterns.js +272 -0
  443. package/plugins/pbr/scripts/lib/perf.js +190 -0
  444. package/plugins/pbr/scripts/lib/phase.js +1043 -0
  445. package/plugins/pbr/scripts/lib/pid-lock.js +156 -0
  446. package/plugins/pbr/scripts/lib/post-hoc.js +160 -0
  447. package/plugins/pbr/scripts/lib/pre-commit-checks.js +220 -0
  448. package/plugins/pbr/scripts/lib/pre-research.js +126 -0
  449. package/plugins/pbr/scripts/lib/premature-completion.js +312 -0
  450. package/plugins/pbr/scripts/lib/preview.js +174 -0
  451. package/plugins/pbr/scripts/lib/progress-visualization.js +296 -0
  452. package/plugins/pbr/scripts/lib/quick-init.js +131 -0
  453. package/plugins/pbr/scripts/lib/reference.js +236 -0
  454. package/plugins/pbr/scripts/lib/requirements.js +153 -0
  455. package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
  456. package/plugins/pbr/scripts/lib/reverse-spec.js +259 -0
  457. package/plugins/pbr/scripts/lib/roadmap.js +1089 -0
  458. package/plugins/pbr/scripts/lib/security-scan.js +200 -0
  459. package/plugins/pbr/scripts/lib/session-briefing.js +918 -0
  460. package/plugins/pbr/scripts/lib/skill-section.js +99 -0
  461. package/plugins/pbr/scripts/lib/smart-next-task.js +198 -0
  462. package/plugins/pbr/scripts/lib/snapshot-manager.js +232 -0
  463. package/plugins/pbr/scripts/lib/spec-diff.js +209 -0
  464. package/plugins/pbr/scripts/lib/spec-engine.js +189 -0
  465. package/plugins/pbr/scripts/lib/spot-check.js +539 -0
  466. package/plugins/pbr/scripts/lib/state-queue.js +171 -0
  467. package/plugins/pbr/scripts/lib/state.js +1082 -0
  468. package/plugins/pbr/scripts/lib/status-render.js +511 -0
  469. package/plugins/pbr/scripts/lib/step-verify.js +149 -0
  470. package/plugins/pbr/scripts/lib/subagent-validators.js +1119 -0
  471. package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
  472. package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
  473. package/plugins/pbr/scripts/lib/templates.js +362 -0
  474. package/plugins/pbr/scripts/lib/test-selection.js +163 -0
  475. package/plugins/pbr/scripts/lib/todo.js +300 -0
  476. package/plugins/pbr/scripts/lib/verify.js +1561 -0
  477. package/plugins/pbr/scripts/log-notification.js +131 -0
  478. package/plugins/pbr/scripts/log-subagent.js +221 -18
  479. package/plugins/pbr/scripts/log-tool-failure.js +60 -8
  480. package/plugins/pbr/scripts/milestone-learnings.js +519 -0
  481. package/plugins/pbr/scripts/package.json +1 -1
  482. package/plugins/pbr/scripts/pbr-tools.js +362 -1247
  483. package/plugins/pbr/scripts/post-bash-triage.js +96 -0
  484. package/plugins/pbr/scripts/post-compact.js +135 -0
  485. package/plugins/pbr/scripts/post-hoc.js +237 -0
  486. package/plugins/pbr/scripts/post-write-dispatch.js +201 -31
  487. package/plugins/pbr/scripts/post-write-quality.js +4 -3
  488. package/plugins/pbr/scripts/pre-bash-dispatch.js +147 -51
  489. package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
  490. package/plugins/pbr/scripts/pre-task-dispatch.js +269 -0
  491. package/plugins/pbr/scripts/pre-write-dispatch.js +170 -73
  492. package/plugins/pbr/scripts/progress-tracker.js +121 -324
  493. package/plugins/pbr/scripts/prompt-guard.js +114 -0
  494. package/plugins/pbr/scripts/prompt-routing.js +209 -0
  495. package/plugins/pbr/scripts/quick-status.js +179 -0
  496. package/plugins/pbr/scripts/record-incident.js +37 -0
  497. package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
  498. package/plugins/pbr/scripts/run-hook.js +63 -23
  499. package/plugins/pbr/scripts/session-cleanup.js +428 -29
  500. package/plugins/pbr/scripts/session-tracker.js +124 -0
  501. package/plugins/pbr/scripts/status-line.js +593 -32
  502. package/plugins/pbr/scripts/suggest-compact.js +201 -13
  503. package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
  504. package/plugins/pbr/scripts/task-completed.js +165 -4
  505. package/plugins/pbr/scripts/test/config.test.js +126 -0
  506. package/plugins/pbr/scripts/test/cross-platform.test.js +120 -0
  507. package/plugins/pbr/scripts/test/fixtures/config.json +20 -0
  508. package/plugins/pbr/scripts/test/fixtures/plan.md +54 -0
  509. package/plugins/pbr/scripts/test/fixtures/project.md +30 -0
  510. package/plugins/pbr/scripts/test/fixtures/roadmap.md +55 -0
  511. package/plugins/pbr/scripts/test/fixtures/state.md +60 -0
  512. package/plugins/pbr/scripts/test/fixtures/summary.md +35 -0
  513. package/plugins/pbr/scripts/test/fixtures.test.js +184 -0
  514. package/plugins/pbr/scripts/test/phase.test.js +142 -0
  515. package/plugins/pbr/scripts/test/roadmap.test.js +96 -0
  516. package/plugins/pbr/scripts/test/state.test.js +155 -0
  517. package/plugins/pbr/scripts/track-context-budget.js +368 -104
  518. package/plugins/pbr/scripts/track-user-gates.js +88 -0
  519. package/plugins/pbr/scripts/trust-tracker.js +193 -0
  520. package/plugins/pbr/scripts/validate-commit.js +59 -26
  521. package/plugins/pbr/scripts/validate-skill-args.js +87 -15
  522. package/plugins/pbr/scripts/validate-task.js +83 -627
  523. package/plugins/pbr/scripts/worktree-create.js +144 -0
  524. package/plugins/pbr/scripts/worktree-remove.js +147 -0
  525. package/plugins/pbr/skills/audit/SKILL.md +195 -24
  526. package/plugins/pbr/skills/audit-fix/SKILL.md +326 -0
  527. package/plugins/pbr/skills/autonomous/SKILL.md +551 -0
  528. package/plugins/pbr/skills/backlog/SKILL.md +56 -0
  529. package/plugins/pbr/skills/begin/SKILL.md +508 -153
  530. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
  531. package/plugins/pbr/skills/begin/templates/config.json.tmpl +419 -36
  532. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
  533. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +28 -3
  534. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
  535. package/plugins/pbr/skills/build/SKILL.md +1180 -358
  536. package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
  537. package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
  538. package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
  539. package/plugins/pbr/skills/build/templates/qa-round-context.md.tmpl +16 -0
  540. package/plugins/pbr/skills/config/SKILL.md +112 -9
  541. package/plugins/pbr/skills/continue/SKILL.md +113 -33
  542. package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
  543. package/plugins/pbr/skills/debug/SKILL.md +70 -12
  544. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +12 -1
  545. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +12 -5
  546. package/plugins/pbr/skills/discuss/SKILL.md +205 -24
  547. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
  548. package/plugins/pbr/skills/do/SKILL.md +119 -24
  549. package/plugins/pbr/skills/explore/SKILL.md +95 -20
  550. package/plugins/pbr/skills/fast/SKILL.md +94 -0
  551. package/plugins/pbr/skills/forensics/SKILL.md +144 -0
  552. package/plugins/pbr/skills/health/SKILL.md +35 -117
  553. package/plugins/pbr/skills/help/SKILL.md +83 -123
  554. package/plugins/pbr/skills/import/SKILL.md +332 -13
  555. package/plugins/pbr/skills/intel/SKILL.md +131 -0
  556. package/plugins/pbr/skills/list-phase-assumptions/SKILL.md +231 -0
  557. package/plugins/pbr/skills/milestone/SKILL.md +383 -274
  558. package/plugins/pbr/skills/milestone/templates/audit-output.md.tmpl +76 -0
  559. package/plugins/pbr/skills/milestone/templates/complete-output.md.tmpl +32 -0
  560. package/plugins/pbr/skills/milestone/templates/edge-cases.md +54 -0
  561. package/plugins/pbr/skills/milestone/templates/gaps-output.md.tmpl +25 -0
  562. package/plugins/pbr/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
  563. package/plugins/pbr/skills/milestone/templates/new-output.md.tmpl +29 -0
  564. package/plugins/pbr/skills/milestone-summary/SKILL.md +86 -0
  565. package/plugins/pbr/skills/note/SKILL.md +20 -4
  566. package/plugins/pbr/skills/pause/SKILL.md +54 -14
  567. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
  568. package/plugins/pbr/skills/plan/SKILL.md +526 -280
  569. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +20 -2
  570. package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
  571. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +43 -1
  572. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
  573. package/plugins/pbr/skills/profile/SKILL.md +185 -0
  574. package/plugins/pbr/skills/profile-user/SKILL.md +227 -0
  575. package/plugins/pbr/skills/quick/SKILL.md +435 -100
  576. package/plugins/pbr/skills/release/SKILL.md +206 -0
  577. package/plugins/pbr/skills/resume/SKILL.md +170 -46
  578. package/plugins/pbr/skills/review/SKILL.md +233 -165
  579. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
  580. package/plugins/pbr/skills/scan/SKILL.md +152 -106
  581. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +5 -56
  582. package/plugins/pbr/skills/seed/SKILL.md +87 -0
  583. package/plugins/pbr/skills/session-report/SKILL.md +130 -0
  584. package/plugins/pbr/skills/setup/SKILL.md +150 -202
  585. package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
  586. package/plugins/pbr/skills/shared/agent-type-resolution.md +32 -0
  587. package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
  588. package/plugins/pbr/skills/shared/context-budget.md +66 -1
  589. package/plugins/pbr/skills/shared/context-loader-task.md +18 -11
  590. package/plugins/pbr/skills/shared/criterion-writing.md +58 -0
  591. package/plugins/pbr/skills/shared/digest-select.md +2 -2
  592. package/plugins/pbr/skills/shared/domain-probes.md +1 -1
  593. package/plugins/pbr/skills/shared/error-reporting.md +38 -60
  594. package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
  595. package/plugins/pbr/skills/shared/memory-capture.md +48 -0
  596. package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
  597. package/plugins/pbr/skills/shared/revision-loop.md +24 -6
  598. package/plugins/pbr/skills/shared/state-update.md +49 -56
  599. package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
  600. package/plugins/pbr/skills/ship/SKILL.md +155 -0
  601. package/plugins/pbr/skills/stats/SKILL.md +110 -0
  602. package/plugins/pbr/skills/status/SKILL.md +185 -119
  603. package/plugins/pbr/skills/test/SKILL.md +254 -0
  604. package/plugins/pbr/skills/thread/SKILL.md +73 -0
  605. package/plugins/pbr/skills/todo/SKILL.md +28 -72
  606. package/plugins/pbr/skills/ui-phase/SKILL.md +180 -0
  607. package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
  608. package/plugins/pbr/skills/undo/SKILL.md +221 -0
  609. package/plugins/pbr/skills/validate-phase/SKILL.md +362 -0
  610. package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
  611. package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
  612. package/plugins/pbr/templates/DISCUSSION-LOG.md.tmpl +49 -0
  613. package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
  614. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
  615. package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
  616. package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
  617. package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
  618. package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
  619. package/plugins/pbr/templates/ROADMAP.md.tmpl +108 -14
  620. package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
  621. package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
  622. package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
  623. package/plugins/pbr/templates/UAT.md.tmpl +94 -0
  624. package/plugins/pbr/templates/UI-SPEC.md.tmpl +144 -0
  625. package/plugins/pbr/templates/VALIDATION.md.tmpl +94 -0
  626. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +54 -13
  627. package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
  628. package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
  629. package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
  630. package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
  631. package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
  632. package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
  633. package/scripts/build-hooks.js +61 -0
  634. package/scripts/check-ci.js +100 -0
  635. package/scripts/clean-changelog.js +364 -0
  636. package/scripts/generate-derivatives.js +581 -0
  637. package/scripts/posttest.js +93 -0
  638. package/scripts/release.js +262 -0
  639. package/scripts/run-tests.cjs +29 -0
  640. package/scripts/test-wrapper.js +43 -0
  641. package/dashboard/bin/cli.js +0 -25
  642. package/dashboard/public/css/layout.css +0 -704
  643. package/dashboard/public/css/status-colors.css +0 -98
  644. package/dashboard/public/css/tokens.css +0 -59
  645. package/dashboard/public/js/htmx-title.js +0 -5
  646. package/dashboard/public/js/sidebar-toggle.js +0 -34
  647. package/dashboard/public/js/sse-client.js +0 -100
  648. package/dashboard/public/js/theme-toggle.js +0 -46
  649. package/dashboard/src/app.js +0 -91
  650. package/dashboard/src/middleware/current-phase.js +0 -24
  651. package/dashboard/src/middleware/errorHandler.js +0 -52
  652. package/dashboard/src/middleware/notFoundHandler.js +0 -9
  653. package/dashboard/src/repositories/planning.repository.js +0 -130
  654. package/dashboard/src/routes/events.routes.js +0 -45
  655. package/dashboard/src/routes/index.routes.js +0 -35
  656. package/dashboard/src/routes/pages.routes.js +0 -426
  657. package/dashboard/src/server.js +0 -42
  658. package/dashboard/src/services/analytics.service.js +0 -141
  659. package/dashboard/src/services/dashboard.service.js +0 -309
  660. package/dashboard/src/services/milestone.service.js +0 -222
  661. package/dashboard/src/services/notes.service.js +0 -50
  662. package/dashboard/src/services/phase.service.js +0 -232
  663. package/dashboard/src/services/project.service.js +0 -57
  664. package/dashboard/src/services/roadmap.service.js +0 -258
  665. package/dashboard/src/services/sse.service.js +0 -58
  666. package/dashboard/src/services/todo.service.js +0 -272
  667. package/dashboard/src/services/watcher.service.js +0 -48
  668. package/dashboard/src/utils/cache.js +0 -55
  669. package/dashboard/src/views/analytics.ejs +0 -5
  670. package/dashboard/src/views/coming-soon.ejs +0 -11
  671. package/dashboard/src/views/dependencies.ejs +0 -5
  672. package/dashboard/src/views/error.ejs +0 -20
  673. package/dashboard/src/views/index.ejs +0 -5
  674. package/dashboard/src/views/milestone-detail.ejs +0 -5
  675. package/dashboard/src/views/milestones.ejs +0 -5
  676. package/dashboard/src/views/notes.ejs +0 -5
  677. package/dashboard/src/views/partials/analytics-content.ejs +0 -90
  678. package/dashboard/src/views/partials/breadcrumbs.ejs +0 -14
  679. package/dashboard/src/views/partials/dashboard-content.ejs +0 -84
  680. package/dashboard/src/views/partials/dependencies-content.ejs +0 -48
  681. package/dashboard/src/views/partials/empty-state.ejs +0 -7
  682. package/dashboard/src/views/partials/footer.ejs +0 -3
  683. package/dashboard/src/views/partials/head.ejs +0 -30
  684. package/dashboard/src/views/partials/header.ejs +0 -21
  685. package/dashboard/src/views/partials/layout-bottom.ejs +0 -43
  686. package/dashboard/src/views/partials/layout-top.ejs +0 -16
  687. package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -20
  688. package/dashboard/src/views/partials/milestones-content.ejs +0 -88
  689. package/dashboard/src/views/partials/notes-content.ejs +0 -23
  690. package/dashboard/src/views/partials/phase-content.ejs +0 -193
  691. package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
  692. package/dashboard/src/views/partials/phases-content.ejs +0 -124
  693. package/dashboard/src/views/partials/roadmap-content.ejs +0 -180
  694. package/dashboard/src/views/partials/sidebar.ejs +0 -99
  695. package/dashboard/src/views/partials/todo-create-content.ejs +0 -54
  696. package/dashboard/src/views/partials/todo-detail-content.ejs +0 -42
  697. package/dashboard/src/views/partials/todos-content.ejs +0 -97
  698. package/dashboard/src/views/phase-detail.ejs +0 -5
  699. package/dashboard/src/views/phase-doc.ejs +0 -5
  700. package/dashboard/src/views/phases.ejs +0 -5
  701. package/dashboard/src/views/roadmap.ejs +0 -5
  702. package/dashboard/src/views/todo-create.ejs +0 -5
  703. package/dashboard/src/views/todo-detail.ejs +0 -5
  704. package/dashboard/src/views/todos.ejs +0 -5
  705. package/plugins/copilot-pbr/CHANGELOG.md +0 -19
  706. package/plugins/copilot-pbr/README.md +0 -139
  707. package/plugins/copilot-pbr/agents/audit.agent.md +0 -113
  708. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
  709. package/plugins/copilot-pbr/agents/debugger.agent.md +0 -182
  710. package/plugins/copilot-pbr/agents/executor.agent.md +0 -267
  711. package/plugins/copilot-pbr/agents/general.agent.md +0 -88
  712. package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -119
  713. package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -208
  714. package/plugins/copilot-pbr/agents/planner.agent.md +0 -238
  715. package/plugins/copilot-pbr/agents/researcher.agent.md +0 -186
  716. package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
  717. package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
  718. package/plugins/copilot-pbr/hooks/hooks.json +0 -258
  719. package/plugins/copilot-pbr/plugin.json +0 -30
  720. package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
  721. package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
  722. package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
  723. package/plugins/copilot-pbr/references/agent-teams.md +0 -55
  724. package/plugins/copilot-pbr/references/checkpoints.md +0 -158
  725. package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
  726. package/plugins/copilot-pbr/references/config-reference.md +0 -442
  727. package/plugins/copilot-pbr/references/continuation-format.md +0 -213
  728. package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
  729. package/plugins/copilot-pbr/references/git-integration.md +0 -227
  730. package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
  731. package/plugins/copilot-pbr/references/model-profiles.md +0 -100
  732. package/plugins/copilot-pbr/references/model-selection.md +0 -32
  733. package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
  734. package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
  735. package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
  736. package/plugins/copilot-pbr/references/plan-format.md +0 -288
  737. package/plugins/copilot-pbr/references/planning-config.md +0 -214
  738. package/plugins/copilot-pbr/references/questioning.md +0 -215
  739. package/plugins/copilot-pbr/references/reading-verification.md +0 -128
  740. package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
  741. package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
  742. package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
  743. package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
  744. package/plugins/copilot-pbr/references/wave-execution.md +0 -96
  745. package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
  746. package/plugins/copilot-pbr/setup.ps1 +0 -93
  747. package/plugins/copilot-pbr/setup.sh +0 -93
  748. package/plugins/copilot-pbr/skills/audit/SKILL.md +0 -330
  749. package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
  750. package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  751. package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  752. package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  753. package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
  754. package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  755. package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  756. package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  757. package/plugins/copilot-pbr/skills/build/SKILL.md +0 -960
  758. package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
  759. package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
  760. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
  761. package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
  762. package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  763. package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  764. package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
  765. package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  766. package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
  767. package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
  768. package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
  769. package/plugins/copilot-pbr/skills/health/SKILL.md +0 -283
  770. package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  771. package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  772. package/plugins/copilot-pbr/skills/help/SKILL.md +0 -193
  773. package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
  774. package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -806
  775. package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  776. package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  777. package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
  778. package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
  779. package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  780. package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
  781. package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  782. package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  783. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  784. package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  785. package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  786. package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
  787. package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
  788. package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
  789. package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  790. package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  791. package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  792. package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
  793. package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  794. package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
  795. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
  796. package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
  797. package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
  798. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
  799. package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
  800. package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
  801. package/plugins/copilot-pbr/skills/shared/error-recovery-strategies.md +0 -51
  802. package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
  803. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
  804. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
  805. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
  806. package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
  807. package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
  808. package/plugins/copilot-pbr/skills/shared/state-update.md +0 -162
  809. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
  810. package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
  811. package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
  812. package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
  813. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
  814. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  815. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  816. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -41
  817. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
  818. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  819. package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  820. package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  821. package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  822. package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  823. package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
  824. package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  825. package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  826. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
  827. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  828. package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  829. package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
  830. package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  831. package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  832. package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  833. package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  834. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
  835. package/plugins/cursor-pbr/CHANGELOG.md +0 -15
  836. package/plugins/cursor-pbr/README.md +0 -123
  837. package/plugins/cursor-pbr/agents/audit.md +0 -178
  838. package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
  839. package/plugins/cursor-pbr/agents/debugger.md +0 -181
  840. package/plugins/cursor-pbr/agents/executor.md +0 -266
  841. package/plugins/cursor-pbr/agents/general.md +0 -87
  842. package/plugins/cursor-pbr/agents/integration-checker.md +0 -118
  843. package/plugins/cursor-pbr/agents/plan-checker.md +0 -207
  844. package/plugins/cursor-pbr/agents/planner.md +0 -237
  845. package/plugins/cursor-pbr/agents/researcher.md +0 -185
  846. package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
  847. package/plugins/cursor-pbr/agents/verifier.md +0 -227
  848. package/plugins/cursor-pbr/assets/.gitkeep +0 -0
  849. package/plugins/cursor-pbr/assets/logo.svg +0 -21
  850. package/plugins/cursor-pbr/hooks/hooks.json +0 -224
  851. package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
  852. package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
  853. package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
  854. package/plugins/cursor-pbr/references/agent-teams.md +0 -55
  855. package/plugins/cursor-pbr/references/checkpoints.md +0 -158
  856. package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
  857. package/plugins/cursor-pbr/references/config-reference.md +0 -442
  858. package/plugins/cursor-pbr/references/continuation-format.md +0 -213
  859. package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
  860. package/plugins/cursor-pbr/references/git-integration.md +0 -227
  861. package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
  862. package/plugins/cursor-pbr/references/model-profiles.md +0 -100
  863. package/plugins/cursor-pbr/references/model-selection.md +0 -32
  864. package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
  865. package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
  866. package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
  867. package/plugins/cursor-pbr/references/plan-format.md +0 -288
  868. package/plugins/cursor-pbr/references/planning-config.md +0 -214
  869. package/plugins/cursor-pbr/references/questioning.md +0 -215
  870. package/plugins/cursor-pbr/references/reading-verification.md +0 -128
  871. package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
  872. package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
  873. package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
  874. package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
  875. package/plugins/cursor-pbr/references/wave-execution.md +0 -96
  876. package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
  877. package/plugins/cursor-pbr/setup.ps1 +0 -78
  878. package/plugins/cursor-pbr/setup.sh +0 -83
  879. package/plugins/cursor-pbr/skills/audit/SKILL.md +0 -331
  880. package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
  881. package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  882. package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  883. package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  884. package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
  885. package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  886. package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  887. package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  888. package/plugins/cursor-pbr/skills/build/SKILL.md +0 -961
  889. package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
  890. package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
  891. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
  892. package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
  893. package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  894. package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  895. package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
  896. package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  897. package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
  898. package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
  899. package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
  900. package/plugins/cursor-pbr/skills/health/SKILL.md +0 -283
  901. package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  902. package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  903. package/plugins/cursor-pbr/skills/help/SKILL.md +0 -193
  904. package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
  905. package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -807
  906. package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  907. package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  908. package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
  909. package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
  910. package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  911. package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
  912. package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  913. package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  914. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  915. package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  916. package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  917. package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
  918. package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
  919. package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
  920. package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  921. package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  922. package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  923. package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
  924. package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  925. package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
  926. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
  927. package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
  928. package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
  929. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
  930. package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
  931. package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
  932. package/plugins/cursor-pbr/skills/shared/error-recovery-strategies.md +0 -51
  933. package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
  934. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
  935. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
  936. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
  937. package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
  938. package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
  939. package/plugins/cursor-pbr/skills/shared/state-update.md +0 -162
  940. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
  941. package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
  942. package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
  943. package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
  944. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
  945. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  946. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  947. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -41
  948. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
  949. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  950. package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  951. package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  952. package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  953. package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  954. package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
  955. package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  956. package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  957. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
  958. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  959. package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  960. package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
  961. package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  962. package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  963. package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  964. package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  965. package/plugins/pbr/references/agent-interactions.md +0 -134
  966. package/plugins/pbr/references/pbr-rules.md +0 -194
  967. package/plugins/pbr/references/pbr-tools-cli.md +0 -285
  968. package/plugins/pbr/references/planning-config.md +0 -213
  969. package/plugins/pbr/references/subagent-coordination.md +0 -119
  970. package/plugins/pbr/references/ui-formatting.md +0 -444
  971. package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
  972. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
  973. package/plugins/pbr/skills/shared/error-recovery-strategies.md +0 -51
  974. package/plugins/pbr/skills/shared/progress-display.md +0 -53
  975. package/plugins/pbr/skills/shared/state-loading.md +0 -62
  976. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
  977. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  978. package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
  979. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
  980. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  981. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  982. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  983. /package/plugins/pbr/references/{agent-anti-patterns.md → archive/agent-anti-patterns.md} +0 -0
@@ -26,11 +26,17 @@ You are running the **milestone** skill. Milestones represent significant projec
26
26
 
27
27
  This skill runs **inline** for most subcommands, but spawns agents for `audit`.
28
28
 
29
+ ## References
30
+
31
+ - `references/questioning.md` — Questioning patterns for milestone review decisions
32
+ - `references/ui-brand.md` — Status symbols, banners, milestone celebration format
33
+
29
34
  ---
30
35
 
31
36
  ## Context Budget
32
37
 
33
38
  Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
39
+ Reference: `skills/shared/agent-type-resolution.md` for agent type fallback when spawning Task() subagents.
34
40
 
35
41
  Additionally for this skill:
36
42
  - **Never** perform integration checks yourself — delegate to the integration-checker subagent
@@ -39,6 +45,22 @@ Additionally for this skill:
39
45
 
40
46
  ---
41
47
 
48
+ ## Multi-Session Sync
49
+
50
+ Before any phase-modifying operations (archiving phases, updating ROADMAP.md/STATE.md/PROJECT.md), acquire a claim:
51
+
52
+ ```
53
+ acquireClaim(planningDir, sessionId)
54
+ ```
55
+
56
+ If the claim fails (another session owns this project), display: "Another session owns this project. Use `/pbr:progress` to see active claims."
57
+
58
+ On completion or error (including all exit paths), release the claim:
59
+
60
+ ```
61
+ releaseClaim(planningDir, sessionId)
62
+ ```
63
+
42
64
  ## Core Principle
43
65
 
44
66
  **Milestones are the rhythm of the project.** They force you to step back, verify everything works together, and create a clean snapshot before moving on. Never skip the audit — integration issues hide at milestone boundaries.
@@ -75,6 +97,24 @@ Subcommands:
75
97
  gaps — Create phases to close audit gaps
76
98
  ```
77
99
 
100
+ **CRITICAL — After parsing the subcommand, run init command before any manual state reads:**
101
+
102
+ ```bash
103
+ node plugins/pbr/scripts/pbr-tools.js init milestone
104
+ ```
105
+
106
+ Store the JSON result as `blob`. This single call replaces multiple file reads across all subcommands:
107
+ - `blob.state.current_phase`, `blob.state.status` — current phase and status from STATE.md
108
+ - `blob.state.last_milestone_version`, `blob.state.last_milestone_completed` — milestone history
109
+ - `blob.has_roadmap` — whether ROADMAP.md exists
110
+ - `blob.has_project` — whether PROJECT.md exists
111
+ - `blob.milestones` — array of milestone sections parsed from ROADMAP.md (each with `name` and `phases_range`)
112
+ - `blob.existing_archives` — array of existing archive directory names
113
+ - `blob.phase_count` — total phase count
114
+ - `blob.config.mode`, `blob.config.planning`, `blob.config.git` — config settings
115
+
116
+ If `blob.error` is set, display the error banner and stop (no project found).
117
+
78
118
  ---
79
119
 
80
120
  ## Subcommand: `new`
@@ -83,10 +123,11 @@ Start a new milestone cycle with new phases.
83
123
 
84
124
  ### Flow
85
125
 
86
- 1. **Read current state:**
87
- - Read ROADMAP.md to see existing phases
88
- - Read STATE.md for current position
89
- - Read PROJECT.md if it exists (milestone history)
126
+ 1. **Read current state from init blob:**
127
+ - `blob.milestones` for existing milestone sections from ROADMAP.md
128
+ - `blob.state.current_phase` and `blob.state.status` for current position
129
+ - `blob.has_project` to check if PROJECT.md exists (read it for milestone history if needed)
130
+ - `blob.phase_count` for total phase count
90
131
 
91
132
  2. **Get milestone details** via AskUserQuestion:
92
133
  - "What's the name/goal for this new milestone?"
@@ -99,7 +140,7 @@ Start a new milestone cycle with new phases.
99
140
  - Example: if phases 1-5 exist, new milestone starts at phase 6
100
141
 
101
142
  4. **Mini roadmap session:**
102
- Run a condensed version of the `/pbr:begin` questioning flow:
143
+ Run a condensed version of the `/pbr:new-project` questioning flow:
103
144
 
104
145
  a. Ask about major components needed (via AskUserQuestion):
105
146
  - "What are the 2-5 major areas of work for this milestone?"
@@ -125,8 +166,8 @@ Start a new milestone cycle with new phases.
125
166
 
126
167
  ### Phase {N}: {name}
127
168
  **Goal:** {goal}
128
- **Requirements:** {list}
129
- **Success criteria:** {criteria}
169
+ **Requirements:** {REQ-IDs mapped to this phase}
170
+ **Success Criteria:** {verifiable conditions for phase completion}
130
171
  **Depends on:** {prior phases}
131
172
 
132
173
  ### Phase {N+1}: {name}
@@ -151,48 +192,48 @@ Start a new milestone cycle with new phases.
151
192
  - **Status:** In progress
152
193
  ```
153
194
 
195
+ **CRITICAL (no hook) -- DO NOT SKIP: Update STATE.md frontmatter AND body with new milestone info.**
196
+
154
197
  8. **Update STATE.md:**
155
198
  - Set current phase to the first new phase
156
199
  - Update milestone info
157
200
 
158
- 9. **Commit** if `planning.commit_docs: true`:
159
- ```
160
- docs(planning): start milestone "{name}" (phases {start}-{end})
161
- ```
162
-
163
- 10. **Confirm** with branded output:
164
- ```
165
- ╔══════════════════════════════════════════════════════════════╗
166
- ║ PLAN-BUILD-RUN ► MILESTONE CREATED ✓ ║
167
- ╚══════════════════════════════════════════════════════════════╝
168
-
169
- **Milestone: {name}** — {count} phases
170
-
171
- Phases:
172
- {N}. {name}
173
- {N+1}. {name}
174
- ...
175
-
201
+ **CRITICAL (no hook) -- DO NOT SKIP: Generate root MILESTONE.md file.**
176
202
 
203
+ 8b. **Generate root MILESTONE.md:**
204
+ Read the current milestone section from ROADMAP.md (the `## Milestone:` section just created in Step 5) and STATE.md for current phase and status. Write `MILESTONE.md` at the project root with:
177
205
 
178
- ╔══════════════════════════════════════════════════════════════╗
179
- ║ ▶ NEXT UP ║
180
- ╚══════════════════════════════════════════════════════════════╝
181
-
182
- **Phase {N}: {name}** — start with discussion or planning
206
+ ```markdown
207
+ # Current Milestone: {name}
208
+ **Version:** {version} | **Status:** In Progress | **Created:** {date}
183
209
 
184
- `/pbr:discuss {N}`
210
+ **Goal:** {goal}
185
211
 
186
- <sub>`/clear` first → fresh context window</sub>
212
+ ## Phases
213
+ | Phase | Goal | Status |
214
+ |-------|------|--------|
215
+ | {N}. {name} | {goal} | Pending |
216
+ ...
187
217
 
218
+ ---
219
+ *Auto-generated by `/pbr:milestone new`. Updated by `/pbr:autonomous`.*
220
+ ```
188
221
 
222
+ - Read the phase list from the ROADMAP.md section just written in Step 5
223
+ - Status column: "Pending" for all new phases
189
224
 
190
- **Also available:**
191
- - `/pbr:plan {N}` skip discussion, plan directly
192
- - `/pbr:status` see project status
225
+ **Milestone branch creation (when git.branching is 'milestone'):**
226
+ When starting a new milestone and `git.branching` is `milestone`:
227
+ - Create branch: `git switch -c pbr/milestone-v{version}`
228
+ - All phase work happens on this branch
229
+ - Branch is merged when `/pbr:milestone complete` is run
193
230
 
231
+ 9. **Commit** if `planning.commit_docs: true`:
232
+ ```
233
+ docs(planning): start milestone "{name}" (phases {start}-{end})
234
+ ```
194
235
 
195
- ```
236
+ 10. **Confirm** with branded output — read `${CLAUDE_SKILL_DIR}/templates/new-output.md.tmpl` and fill in `{name}` (milestone name), `{count}` (phase count), `{N}` (first phase number).
196
237
 
197
238
  ---
198
239
 
@@ -237,7 +278,7 @@ Dry-run of milestone completion — shows what would happen without making any c
237
278
  6. **Display summary:**
238
279
  ```
239
280
  ╔══════════════════════════════════════════════════════════════╗
240
- ║ MILESTONE PREVIEW — v{version}
281
+ PLAN-BUILD-RUN ► MILESTONE PREVIEW — v{version}
241
282
  ╚══════════════════════════════════════════════════════════════╝
242
283
 
243
284
  Phases to archive: {count}
@@ -248,10 +289,10 @@ Dry-run of milestone completion — shows what would happen without making any c
248
289
  Archive location: .planning/milestones/v{version}/
249
290
  Git tag: v{version}
250
291
 
251
- Ready to complete? Run: /pbr:milestone complete v{version}
292
+ Ready to complete? Run: /pbr:complete-milestone v{version}
252
293
  ```
253
294
 
254
- **CRITICAL**: This subcommand is READ-ONLY. Do not create directories, move files, modify STATE.md, modify ROADMAP.md, or create git tags. Only read and display.
295
+ **CRITICAL (no hook)**: This subcommand is READ-ONLY. Do not create directories, move files, modify STATE.md, modify ROADMAP.md, or create git tags. Only read and display.
255
296
 
256
297
  ---
257
298
 
@@ -265,9 +306,19 @@ Archive a completed milestone and prepare for the next one.
265
306
  - If provided in `$ARGUMENTS`: use it (auto-prefix `v` if missing)
266
307
  - If not provided: ask via AskUserQuestion: "What version number for this milestone? (e.g., v1.0)"
267
308
 
268
- 2. **Verify all phases are complete:**
269
- - Read ROADMAP.md to find milestone phases
270
- - For each phase, check for VERIFICATION.md
309
+ 2. **Check verification debt across ALL phases:**
310
+ - Use `blob.milestones` to find the target milestone's phase range
311
+ - For each phase in the range, check VERIFICATION.md status:
312
+ - `gaps_found` or `human_needed` or `partial` → verification debt exists
313
+ - If verification debt found, display warning:
314
+ ```
315
+ Verification Debt:
316
+ - Phase {N}: {status} ({count} outstanding items)
317
+ ```
318
+ - This is non-blocking but prominently displayed before the completion decision
319
+
320
+ 3. **Verify all phases are complete:**
321
+ - For each phase in the range, check for VERIFICATION.md
271
322
  - If any phase lacks VERIFICATION.md:
272
323
 
273
324
  Present the warning context:
@@ -275,12 +326,13 @@ Archive a completed milestone and prepare for the next one.
275
326
  - Phase {N}: {name}
276
327
  - Phase {M}: {name}
277
328
 
329
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
278
330
  Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
279
331
  question: "{count} phases haven't been verified. Continue with milestone completion?"
280
332
  header: "Unverified"
281
333
  options:
282
334
  - label: "Continue anyway" description: "Proceed despite unverified phases (not recommended)"
283
- - label: "Stop and review" description: "Run /pbr:review for unverified phases first"
335
+ - label: "Stop and review" description: "Run /pbr:verify-work for unverified phases first"
284
336
  - If "Stop and review" or "Other": stop and suggest the review commands for each unverified phase
285
337
  - If "Continue anyway": proceed with warning noted
286
338
 
@@ -290,11 +342,12 @@ Archive a completed milestone and prepare for the next one.
290
342
  - Warn: "Phase {N} ({name}) was modified after verification. The VERIFICATION.md may not reflect the current code state."
291
343
  - List affected phases with their freshness details
292
344
 
345
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
293
346
  Use AskUserQuestion (pattern: stale-continue from `skills/shared/gate-prompts.md`):
294
347
  question: "{count} phases were modified after verification. Re-verify or continue?"
295
348
  header: "Stale"
296
349
  options:
297
- - label: "Re-verify" description: "Run /pbr:review for affected phases (recommended)"
350
+ - label: "Re-verify" description: "Run /pbr:verify-work for affected phases (recommended)"
298
351
  - label: "Continue anyway" description: "Proceed with potentially outdated verification"
299
352
  - If "Re-verify" or "Other": suggest the review commands for affected phases and stop
300
353
  - If "Continue anyway": proceed with warning noted
@@ -325,12 +378,32 @@ Archive a completed milestone and prepare for the next one.
325
378
  - Collect `patterns` fields
326
379
  - Collect `tech_stack` union
327
380
 
381
+ **Milestone branching (config-gated):**
382
+ Read `blob.config.git.branching` (or fall back to reading config if blob unavailable).
383
+ - If `milestone`:
384
+ a. Check if milestone branch exists: `git branch --list pbr/milestone-v{version}`
385
+ b. If branch exists:
386
+ - Use AskUserQuestion:
387
+ question: "Milestone v{version} complete. Merge branch `pbr/milestone-v{version}` to main?"
388
+ header: "Merge milestone branch?"
389
+ options:
390
+ - label: "Yes, merge" description: "Merge milestone branch to main and delete it"
391
+ - label: "No, keep" description: "Keep the branch for manual review"
392
+ - If "Yes, merge":
393
+ 1. `git switch main`
394
+ 2. `git merge --no-ff pbr/milestone-v{version}` (no-ff to preserve milestone history)
395
+ 3. `git branch -d pbr/milestone-v{version}`
396
+ 4. Log: "Milestone branch merged and deleted"
397
+ - If "No, keep": leave branch as-is
398
+ c. If branch does not exist: no action (phases were on main or individual phase branches)
399
+ - If `none`, `phase`, or `disabled`: no milestone branch operations
400
+
328
401
  5. **Archive milestone documents:**
329
402
 
330
- **CRITICAL: Pre-flight safety checks BEFORE archiving. Do NOT skip this step.**
403
+ **CRITICAL (no hook): Pre-flight safety checks BEFORE archiving. Do NOT skip this step.**
331
404
 
332
405
  Before creating or moving anything, verify the destination is safe:
333
- - Check if `.planning/milestones/{version}/` already exists
406
+ - Check `blob.existing_archives` to see if the version directory already exists
334
407
  - If it exists AND contains files (phases/, STATS.md, etc.), STOP and display:
335
408
  ```
336
409
  ╔══════════════════════════════════════════════════════════════╗
@@ -347,23 +420,43 @@ Archive a completed milestone and prepare for the next one.
347
420
  - Verify each source phase directory exists before attempting to move it
348
421
  - If any source phase directory is missing, warn but continue with the phases that do exist
349
422
 
350
- **CRITICAL: Create the archive directory .planning/milestones/{version}/ NOW. Do NOT skip this step.**
423
+ **CRITICAL (no hook): Back up ROADMAP.md BEFORE any destructive operations. Do NOT skip this step.**
424
+
425
+ Use the compound init-milestone command to atomically create the archive directory, copy ROADMAP.md, copy REQUIREMENTS.md (if present), and update STATE.md:
426
+
427
+ ```bash
428
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js compound init-milestone {version} --name "{milestone_name}" --phases "{start}-{end}"
429
+ ```
430
+
431
+ This MUST happen before any of the following: moving phase directories, collapsing ROADMAP.md sections, or further STATE.md updates.
351
432
 
352
- Create a versioned archive directory and move phase directories into it:
353
- - `.planning/milestones/{version}/ROADMAP.md` — snapshot of ROADMAP.md at completion
354
- - `.planning/milestones/{version}/REQUIREMENTS.md` — **CRITICAL: Copy REQUIREMENTS.md to archive NOW. Do NOT skip this step.** Snapshot of REQUIREMENTS.md
433
+ The compound command creates the archive directory and copies ROADMAP.md + REQUIREMENTS.md. Now move phase directories and create STATS.md:
355
434
  - `.planning/milestones/{version}/STATS.md` — milestone statistics
356
435
  - `.planning/milestones/{version}/phases/{NN}-{slug}/` — move each milestone phase directory from `.planning/phases/` into the archive
357
436
 
358
- **CRITICAL: Move phase directories from .planning/phases/ to archive NOW. Do NOT skip this step.**
437
+ **CRITICAL (no hook): Move phase directories from .planning/phases/ to archive NOW. Do NOT skip this step.**
359
438
 
360
439
  **Move phases:** For each phase belonging to this milestone, move (not copy) its directory from `.planning/phases/{NN}-{slug}/` to `.planning/milestones/{version}/phases/{NN}-{slug}/`. This keeps the active phases directory clean for the next milestone.
361
440
 
362
- **CRITICAL: Write STATS.md to .planning/milestones/{version}/STATS.md NOW. Do NOT skip this step.**
441
+ **CRITICAL (no hook): Write STATS.md to .planning/milestones/{version}/STATS.md NOW. Do NOT skip this step.**
363
442
 
364
443
  **Stats file content:**
365
444
 
366
- Read `skills/milestone/templates/stats-file.md.tmpl` for the stats file format. Fill in all `{variable}` placeholders with actual data gathered in Steps 3-4.
445
+ Read `${CLAUDE_SKILL_DIR}/templates/stats-file.md.tmpl` for the stats file format. Fill in all `{variable}` placeholders with actual data gathered in Steps 3-4.
446
+
447
+ 5b. **Archive stale research data:**
448
+
449
+ After archiving phase directories, prune stale research/intel/codebase data that predates the milestone:
450
+
451
+ ```bash
452
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js data prune --before {milestone_start_date}
453
+ ```
454
+
455
+ Where `{milestone_start_date}` is the earliest phase start date from the milestone (derived from the first SUMMARY.md `start_time` or the milestone creation date).
456
+
457
+ - Log the count of archived files (e.g., "Archived 12 stale research files")
458
+ - If no files to archive, log "No stale research files to archive"
459
+ - Note: SUMMARY.md, STACK.md, and FEATURES.md are preserved (never pruned) since they are canonical references for active work
367
460
 
368
461
  6. **Update PROJECT.md:**
369
462
  - Move milestone from "Active" to "Completed"
@@ -380,232 +473,323 @@ Archive a completed milestone and prepare for the next one.
380
473
 
381
474
  - Move validated requirements from active to completed section
382
475
 
383
- **CRITICAL: Update ROADMAP.md with collapsed milestone section NOW. Do NOT skip this step.**
476
+ **CRITICAL (no hook): Run PROJECT.md evolution review NOW. Do NOT skip this step.**
477
+
478
+ 6b. **PROJECT.md Evolution Review:**
479
+ After moving the milestone to completed status, review and evolve the project definition:
480
+
481
+ 1. **Move completed Active Requirements to Validated** — Any requirement from the completed milestone that was satisfied (per VERIFICATION.md) should move from Active to Validated section
482
+ 2. **Review Out of Scope** — Check if any previously out-of-scope items are now unblocked by the completed milestone's deliverables. If so, note them for the user's consideration (do not move them automatically)
483
+ 3. **Annotate Key Decisions with outcomes** — For each Key Decision in PROJECT.md that relates to the completed milestone, add an Outcome column value: `Good` (decision worked well), `Revisit` (decision caused issues), or `Pending` (outcome not yet clear)
484
+ 4. **Update Constraints** — Remove or update any constraints that changed during the milestone (e.g., a technology constraint that was relaxed)
485
+ 5. **Refresh Core Value** — If the project direction shifted meaningfully during the milestone, suggest an updated Core Value statement to the user via AskUserQuestion
486
+
487
+ **CRITICAL (no hook): Update ROADMAP.md with collapsed milestone section NOW. Do NOT skip this step.**
384
488
 
385
489
  7. **Collapse completed phases in ROADMAP.md:**
386
- Replace detailed phase entries with collapsed summaries:
490
+ Replace detailed phase entries with a `<details>` collapsed summary (backward compat: also recognized by `-- COMPLETED` text):
387
491
 
388
492
  ```markdown
389
- ## Milestone: {name} ({version}) -- COMPLETED
390
-
391
- Phases {start}-{end} completed on {date}. See `.planning/milestones/{version}/ROADMAP.md` for details.
493
+ <details>
494
+ <summary>## Milestone: {name} ({version}) — SHIPPED {date}</summary>
392
495
 
393
496
  | Phase | Status |
394
497
  |-------|--------|
395
498
  | {N}. {name} | Completed |
396
499
  | {N+1}. {name} | Completed |
500
+
501
+ Completed: {date} | Archive: `.planning/milestones/{version}/`
502
+
503
+ </details>
397
504
  ```
398
505
 
399
- **CRITICAL: Update STATE.md to mark milestone as complete NOW. Do NOT skip this step.**
506
+ 7a. **Update milestone index:**
507
+ After collapsing the milestone, update or create a `## Milestones` index section near the top of ROADMAP.md (after the title, before the first active milestone). Each entry is one line:
400
508
 
401
- 7b. **Update STATE.md:**
402
- - Update `.planning/STATE.md` to mark the milestone as complete
403
- - Clear the current milestone field or set status to "completed"
404
- - Update last activity timestamp
405
- - Record the milestone version in the history/completed section
406
-
407
- 7c. **Update HISTORY.md:**
408
- - Append a milestone completion entry to `.planning/HISTORY.md`:
409
- ```markdown
410
- ## {date} — Milestone {version} Completed
411
-
412
- - Milestone: {name}
413
- - Phases: {start} - {end}
414
- - Duration: {duration} days
415
- - Key deliverables: {summary from Step 4}
416
- ```
509
+ ```markdown
510
+ ## Milestones
417
511
 
418
- 8. **Git tag:**
419
- ```bash
420
- git tag -a {version} -m "Milestone: {name}"
512
+ | Version | Name | Status | Date |
513
+ |---------|------|--------|------|
514
+ | {version} | {name} | SHIPPED | {date} |
421
515
  ```
422
516
 
423
- 9. **Commit:**
424
- ```bash
425
- git add .planning/milestones/ .planning/phases/ .planning/ROADMAP.md .planning/PROJECT.md .planning/STATE.md .planning/HISTORY.md
426
- git commit -m "docs(planning): complete milestone {version}"
427
- ```
517
+ If the section already exists, append a row. If it does not exist, create it.
428
518
 
429
- 10. **Confirm** with branded output:
430
- ```
431
- ╔══════════════════════════════════════════════════════════════╗
432
- ║ PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉 ║
433
- ╚══════════════════════════════════════════════════════════════╝
519
+ **CRITICAL (no hook): Update STATE.md to mark milestone as complete NOW. Do NOT skip this step.**
434
520
 
435
- **{version}**
521
+ 7b. **Update STATE.md:**
522
+ - Update `.planning/STATE.md` frontmatter to reset to idle state:
523
+ - `current_phase: null`
524
+ - `phase_slug: null`
525
+ - `phase_name: null`
526
+ - `phases_total: 0`
527
+ - `status: "idle"`
528
+ - `progress_percent: 0`
529
+ - `plans_total: 0`
530
+ - `plans_complete: 0`
531
+ - `last_activity: "{date} Milestone {version} complete"`
532
+ - Update the body section to reflect idle state (no active phase)
533
+
534
+ 7c. **Record milestone completion in STATE.md frontmatter:**
535
+ - Update STATE.md frontmatter with milestone completion data:
536
+ - Set `last_milestone_version: "{version}"`
537
+ - Set `last_milestone_completed: "{ISO datetime}"`
538
+ - **Do NOT write to a ## History section in STATE.md** — History has been removed from STATE.md to keep it lean. Milestone completion records are preserved in the archive's STATS.md and ROADMAP.md snapshot.
539
+ - If a ## History section exists in STATE.md (from a prior version), remove it during milestone completion to enforce the new format.
540
+
541
+ **Run state reconcile after archival** to reset phases_total and current_phase to reflect the next milestone's phases:
542
+
543
+ ```bash
544
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state reconcile
545
+ ```
436
546
 
437
- Stats:
438
- - {count} phases, {count} plans
439
- - {count} commits, {lines} lines of code
440
- - {duration} days
547
+ This command re-derives phase counts from ROADMAP.md and reports any phantom phase rows (progress table rows with no corresponding directory on disk). Review and remove phantom rows manually if no longer needed.
441
548
 
442
- Archived to: .planning/milestones/{version}/
443
- Git tag: {version}
549
+ **CRITICAL (no hook): Reconcile ROADMAP phase statuses NOW. Do NOT skip this step.**
444
550
 
551
+ 7c2. **ROADMAP Reconciliation:**
552
+ After state reconcile, run a full reconciliation pass to fix any stale phase statuses across the entire ROADMAP:
445
553
 
554
+ ```bash
555
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap reconcile
556
+ ```
446
557
 
447
- ╔══════════════════════════════════════════════════════════════╗
448
- ║ ▶ NEXT UP ║
449
- ╚══════════════════════════════════════════════════════════════╝
558
+ - Log the output (number of entries fixed)
559
+ - This catches phase status mismatches that accumulated during the milestone lifecycle
560
+ - Covers both the just-completed milestone and any prior stale entries
450
561
 
451
- **Start the next milestone** plan new features
562
+ 7d. **Aggregate learnings into KNOWLEDGE.md from milestone phases:**
452
563
 
453
- `/pbr:milestone new`
564
+ **CRITICAL (no hook): Run learnings aggregation NOW. Do NOT skip this step.**
454
565
 
455
- <sub>`/clear` first → fresh context window</sub>
566
+ ```bash
567
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/milestone-learnings.js .planning/milestones/{version} --project {project-name-from-STATE.md}
568
+ ```
456
569
 
570
+ This script aggregates SUMMARY.md patterns, decisions, and deferred items into the project-scoped `.planning/KNOWLEDGE.md` (table format with K/P/L-prefixed IDs). It also writes to the global `~/.claude/learnings.jsonl` for cross-project use.
457
571
 
572
+ - If the script outputs an error, log it but do NOT abort milestone completion — learnings aggregation is advisory.
573
+ - Display the aggregation summary line to the user (e.g., "KNOWLEDGE.md: 5 new entries, 2 duplicates skipped").
574
+ - After aggregation, check for triggered deferral thresholds:
458
575
 
459
- **Also available:**
460
- - `/pbr:status` see project status
461
- - `/pbr:help` — see all commands
576
+ ```bash
577
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js learnings check-thresholds
578
+ ```
462
579
 
580
+ If any thresholds are triggered, display each as a notification:
463
581
 
464
- ```
582
+ ```
583
+ Note: Learnings threshold met — {key}: {trigger}. Consider implementing the deferred feature.
584
+ ```
465
585
 
466
- ---
586
+ 7e. **Run calibration for all evaluative agents on expanded corpus:**
467
587
 
468
- ## Subcommand: `audit`
588
+ ```bash
589
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js calibrate all
590
+ ```
469
591
 
470
- Verify milestone completion with cross-phase integration checks.
592
+ This re-analyzes corpus data for all evaluative agents (verifier, audit, integration-checker, plan-checker) and updates `.planning/intel/{agent}-calibration.md` with gap patterns and recommendations. The calibration data informs each agent's few-shot examples.
471
593
 
472
- ### Flow
594
+ - If the command fails, log it but do NOT abort — calibration is advisory.
595
+ - Display per-agent corpus size and pass rate summary to the user.
596
+ - If any agent has recommendations, note: "Calibration updated for {agents}. Review few-shot examples to apply findings."
473
597
 
474
- 1. **Determine target:**
475
- - If version provided: audit that specific milestone
476
- - If no version: audit the current milestone (most recent active)
598
+ 8. **Git tag:**
599
+ ```bash
600
+ git tag -a {version} -m "Milestone: {name}"
601
+ ```
477
602
 
478
- 2. **Read all VERIFICATION.md files** for milestone phases:
479
- - Collect verification results
480
- - Note any `gaps_found` statuses
481
- - Note any phases without verification
603
+ 9. **Generate RETROSPECTIVE.md:**
482
604
 
483
- 3. **Spawn integration checker:**
605
+ The CLI (`pbr-tools.js milestone complete`) auto-generates a RETROSPECTIVE.md entry. Verify it exists at `.planning/RETROSPECTIVE.md`. If the CLI was not used (manual completion), create the entry using `${CLAUDE_PLUGIN_ROOT}/templates/RETROSPECTIVE.md.tmpl` as the format reference. Fill in `{version}`, `{name}`, `{date}`, and the "What Was Built" section from MILESTONES.md accomplishments. Leave other sections as placeholders for the user to fill.
484
606
 
485
- Display to the user: `◐ Spawning integration checker...`
607
+ 9aa. **Insights integration:**
486
608
 
487
- Spawn `Task(subagent_type: "pbr:integration-checker")` with:
609
+ Check for a recent /insights HTML report:
488
610
 
611
+ ```bash
612
+ find ~/.claude/insights/ -name "*.html" -mtime -7 2>/dev/null | head -1
489
613
  ```
490
- You are integration-checker. Perform cross-phase integration verification.
491
614
 
492
- Milestone: {version or "current"}
493
- Phases to check: {list of phase directories}
615
+ **If a recent report exists (modified within 7 days):**
616
+ 1. Read the HTML file and extract key workflow findings (friction patterns, efficiency suggestions, recurring issues)
617
+ 2. Append a "## Workflow Insights" section to `.planning/RETROSPECTIVE.md` with 3-5 bullet points summarizing the most relevant insights for this milestone's work
618
+ 3. Add the RETROSPECTIVE.md to the git staging area
619
+
620
+ **If no recent report exists:**
621
+ Display this suggestion after the RETROSPECTIVE.md is generated:
494
622
 
495
- Instructions:
496
- 1. Read all SUMMARY.md files for the milestone phases
497
- 2. Build a dependency graph from provides/affects/requires fields
498
- 3. Verify integration points:
499
- a. Every "requires" in a later phase is "provided" by an earlier phase
500
- b. Every "affects" target still exists and hasn't been broken
501
- c. No circular dependencies
502
- d. No orphaned provides (things built but never consumed)
503
- 4. Check for:
504
- - Broken imports/references between phases
505
- - API contract mismatches
506
- - Missing error handling at integration points
507
- - Configuration inconsistencies
508
- 5. Return findings as a structured report
623
+ ```
624
+ Tip: Run /insights to capture workflow patterns from this milestone's sessions.
625
+ Insights feed into future audits and help the planner avoid repeated friction.
509
626
  ```
510
627
 
511
- 4. **Check requirements coverage:**
512
- - Read REQUIREMENTS.md
513
- - For each requirement tagged for this milestone:
514
- - Search VERIFICATION.md files for coverage
515
- - Search SUMMARY.md `provides` fields
516
- - Flag uncovered requirements
628
+ 9a. **Commit:**
629
+ ```bash
630
+ git add .planning/milestones/ .planning/phases/ .planning/ROADMAP.md .planning/PROJECT.md .planning/STATE.md .planning/RETROSPECTIVE.md
631
+ git commit -m "docs(planning): complete milestone {version}"
632
+ ```
517
633
 
518
- 5. **Write audit report:**
634
+ **CRITICAL (no hook): Generate changelog entry NOW. Do NOT skip this step.**
519
635
 
520
- Create `.planning/{version}-MILESTONE-AUDIT.md` using the template:
636
+ 9b. **Generate changelog entry:**
521
637
 
522
- Read `skills/milestone/templates/audit-report.md.tmpl` for the audit report format. Fill in all `{variable}` placeholders with actual data from the audit.
638
+ Generate a user-facing changelog entry for this milestone. Read all SUMMARY.md files from the milestone phases (now in `.planning/milestones/{version}/phases/`) and categorize deliverables into Keep a Changelog sections:
523
639
 
524
- 6. **Report to user** using branded banners:
640
+ - **Added** New features, commands, capabilities (from SUMMARY.md `provides` fields)
641
+ - **Changed** — Modifications to existing behavior, UI updates, performance improvements
642
+ - **Fixed** — Bug fixes, error corrections (from commits with `fix:` type)
525
643
 
526
- **If PASSED:**
644
+ Format each entry with a **bolded feature name** followed by an em-dash and description:
645
+ ```markdown
646
+ ### Added
647
+ - **Feature name** — What it does and why it matters
648
+ - **Another feature** — Description focusing on user impact
527
649
  ```
528
- ╔══════════════════════════════════════════════════════════════╗
529
- ║ PLAN-BUILD-RUN ► MILESTONE AUDIT PASSED ✓ ║
530
- ╚══════════════════════════════════════════════════════════════╝
531
650
 
532
- All phases verified, integration checks passed, requirements covered.
651
+ Rules for good entries:
652
+ - Lead with the user-visible impact, not the implementation detail
653
+ - Group related commits into a single entry (e.g., 5 commits for "auth" become one "Authentication system" entry)
654
+ - Use bold feature names, not commit scopes
655
+ - No commit hashes — this is prose, not a git log
656
+ - No internal scopes (phase-plan numbers, TDD markers)
657
+ - End with install line: `Install/upgrade: \`npx @sienklogic/plan-build-run@latest\``
533
658
 
659
+ Draft the full entry and present it to the user for review:
534
660
 
661
+ Use AskUserQuestion:
662
+ ```
663
+ question: "Here's the draft changelog for {version}. Want to edit it before writing?"
664
+ header: "Changelog"
665
+ options:
666
+ - label: "Looks good" description: "Write this to CHANGELOG.md as-is"
667
+ - label: "Edit" description: "I'll provide corrections"
668
+ - label: "Skip changelog" description: "Don't update the changelog for this release"
669
+ ```
535
670
 
536
- ╔══════════════════════════════════════════════════════════════╗
537
- ║ ▶ NEXT UP ║
538
- ╚══════════════════════════════════════════════════════════════╝
671
+ - If "Looks good": write the entry to CHANGELOG.md (insert after the header, before any existing version entries)
672
+ - If "Edit" or "Other": apply the user's corrections, then present again for final confirmation
673
+ - If "Skip changelog": proceed without changelog update
674
+
675
+ If writing to CHANGELOG.md:
676
+ ```bash
677
+ git add CHANGELOG.md
678
+ git commit -m "docs: update changelog for {version}"
679
+ ```
539
680
 
540
- **Complete the milestone** archive and tag
681
+ 9c. **Push milestone to remote:**
541
682
 
542
- `/pbr:milestone complete {version}`
683
+ Use AskUserQuestion to ask the user how they want to publish the milestone:
543
684
 
544
- <sub>`/clear` first → fresh context window</sub>
685
+ ```
686
+ question: "How should this milestone be published to GitHub?"
687
+ header: "Publish"
688
+ options:
689
+ - label: "Push tag + commits" description: "Push the v{version} tag and any unpushed commits to origin"
690
+ - label: "Skip for now" description: "Keep everything local — push later manually"
691
+ ```
545
692
 
693
+ - If "Push tag + commits": run `git push origin main --follow-tags` to push both commits and the annotated tag in one command. Display success or error.
694
+ - If "Skip for now": display reminder: "Tag v{version} is local only. Push when ready: `git push origin main --follow-tags`"
695
+ - If "Other": follow user instructions (e.g., create a PR, push to a different branch, etc.)
546
696
 
697
+ 9d. **Automatic npm release:**
547
698
 
548
- **Also available:**
549
- - `/pbr:milestone gaps` — address any minor issues first
550
- - `/pbr:status` — see project status
699
+ After pushing, automatically run the npm release to publish this milestone:
551
700
 
701
+ ```bash
702
+ npm run release -- --minor
703
+ ```
552
704
 
553
- ```
705
+ Display the output to the user. The `--minor` flag is used because milestone completions always represent new features.
706
+
707
+ - If the release succeeds: display the new version number and GitHub Release URL
708
+ - If the release fails: show the error as an advisory warning — the milestone is already archived. Suggest the user run `npm run release` manually after fixing the issue.
709
+
710
+ ### Post-Completion Smoke Test
711
+
712
+ If `config.deployment.smoke_test_command` is set and non-empty:
713
+
714
+ 1. Run the command via Bash
715
+ 2. If exit code 0: display "Smoke test passed" with command output
716
+ 3. If exit code non-zero: display advisory warning:
554
717
 
555
- **If GAPS FOUND:**
556
718
  ```
557
- ╔══════════════════════════════════════════════════════════════╗
558
- ║ PLAN-BUILD-RUN ► MILESTONE AUDIT — GAPS FOUND ⚠ ║
559
- ╚══════════════════════════════════════════════════════════════╝
719
+ ⚠ Smoke test failed (exit code {N})
720
+ Command: {smoke_test_command}
721
+ Output: {first 20 lines of output}
722
+ ```
560
723
 
561
- Found {count} gaps:
562
- - {gap 1}
563
- - {gap 2}
724
+ This is advisory only — the milestone is already archived. Surface it as a potential issue for the user to investigate.
564
725
 
726
+ 10. **Confirm** with branded output — read `${CLAUDE_SKILL_DIR}/templates/complete-output.md.tmpl` and fill in `{version}`, `{count}` (phases, plans, commits), `{lines}`, `{duration}`.
565
727
 
728
+ **NEXT UP block after milestone complete:**
566
729
 
567
- ╔══════════════════════════════════════════════════════════════╗
730
+ After displaying the branded complete-output banner, always display a NEXT UP routing block:
731
+
732
+ ```
733
+ ╔══════════════════════════════════════════════════════════════╗
568
734
  ║ ▶ NEXT UP ║
569
735
  ╚══════════════════════════════════════════════════════════════╝
570
736
 
571
- **Close the gaps** — create fix phases
737
+ **Start the next milestone** — continue development with new phases
572
738
 
573
- `/pbr:milestone gaps`
739
+ `/pbr:milestone new`
574
740
 
575
- <sub>`/clear` first → fresh context window</sub>
741
+ **Also available:**
742
+ - `/pbr:release` — tag and publish this milestone as a GitHub Release
743
+ - `/pbr:status` — review project state before continuing
576
744
 
745
+ <sub>`/clear` first → fresh context window</sub>
746
+ ```
577
747
 
748
+ This ensures the milestone complete subcommand never ends in a routing dead end.
578
749
 
579
- **Also available:**
580
- - `/pbr:milestone complete` — proceed despite gaps
581
- - `/pbr:status` — see project status
750
+ ---
582
751
 
752
+ ## Subcommand: `audit`
583
753
 
584
- ```
754
+ Verify milestone completion with cross-phase integration checks.
585
755
 
586
- **If TECH DEBT:**
587
- ```
588
- ╔══════════════════════════════════════════════════════════════╗
589
- ║ PLAN-BUILD-RUN ► MILESTONE AUDIT — TECH DEBT ⚠ ║
590
- ╚══════════════════════════════════════════════════════════════╝
756
+ ### Flow
591
757
 
592
- Milestone functional but has {count} tech debt items.
758
+ 1. **Determine target:**
759
+ - If version provided: audit that specific milestone
760
+ - If no version: audit the current milestone (use `blob.milestones` to identify the most recent active milestone)
593
761
 
762
+ 2. **Read all VERIFICATION.md files** for milestone phases (use `blob.milestones` to identify the phase range):
763
+ - Collect verification results
764
+ - Note any `gaps_found` statuses
765
+ - Note any phases without verification
594
766
 
767
+ 3. **Spawn integration checker:**
595
768
 
596
- ╔══════════════════════════════════════════════════════════════╗
597
- ║ ▶ NEXT UP ║
598
- ╚══════════════════════════════════════════════════════════════╝
769
+ Display to the user: `◆ Spawning integration checker...`
599
770
 
600
- **Address tech debt or proceed**
771
+ Spawn `Task(subagent_type: "pbr:integration-checker")`. Read `${CLAUDE_SKILL_DIR}/templates/integration-checker-prompt.md.tmpl`, fill in `{version or "current"}`, `{list of phase directories}`, and `{phase SUMMARY.md paths}`, then use the filled template as the Task() prompt.
601
772
 
602
- `/pbr:milestone gaps` create cleanup phases
603
- `/pbr:milestone complete` — proceed as-is
773
+ 4. **Check integration-checker completion:**
604
774
 
605
- <sub>`/clear` first fresh context window</sub>
775
+ After the integration-checker completes, check for `## INTEGRATION CHECK COMPLETE` in the Task() output. If the marker is absent, warn: `⚠ Integration checker did not return completion marker — results may be incomplete.` Proceed with whatever findings were returned but note the incomplete status in the audit report.
606
776
 
777
+ 5. **Check requirements coverage:**
778
+ - Read REQUIREMENTS.md
779
+ - For each requirement tagged for this milestone:
780
+ - Search VERIFICATION.md files for coverage
781
+ - Search SUMMARY.md `provides` fields
782
+ - Flag uncovered requirements
607
783
 
608
- ```
784
+ 6. **Write audit report:**
785
+
786
+ Create `.planning/{version}-MILESTONE-AUDIT.md` using the structured template:
787
+
788
+ Read `${CLAUDE_PLUGIN_ROOT}/templates/MILESTONE-AUDIT.md.tmpl` for the audit report format with YAML frontmatter scores. Fill in all `{variable}` placeholders with actual data from the audit. The YAML frontmatter MUST include `scores` (requirements, phases, integration, flows), `gaps` array, and `tech_debt` array.
789
+
790
+ **Spot-check:** After writing, verify `.planning/{version}-MILESTONE-AUDIT.md` exists on disk using Glob. If missing, re-attempt the write. If still missing, display an error and include findings inline.
791
+
792
+ 7. **Report to user** using branded banners — read `${CLAUDE_SKILL_DIR}/templates/audit-output.md.tmpl`. The template contains all 3 variants (PASSED, GAPS FOUND, TECH DEBT). Select the appropriate section based on audit result. Fill in `{version}`, `{count}`, `{gap 1}`, `{gap 2}` as applicable.
609
793
 
610
794
  ---
611
795
 
@@ -618,7 +802,7 @@ Create phases to close gaps found during an audit.
618
802
  1. **Find most recent audit:**
619
803
  - Search for `*-MILESTONE-AUDIT.md` in `.planning/`
620
804
  - If multiple, use the most recent
621
- - If none: "No audit found. Run `/pbr:milestone audit` first."
805
+ - If none: "No audit found. Run `/pbr:audit-milestone` first."
622
806
 
623
807
  2. **Read audit report:**
624
808
  - Extract all gaps and tech debt items
@@ -645,6 +829,7 @@ Create phases to close gaps found during an audit.
645
829
  Nice to fix ({count}):
646
830
  - {gap}: {description}
647
831
 
832
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
648
833
  Use AskUserQuestion (pattern: multi-option-priority from `skills/shared/gate-prompts.md`):
649
834
  question: "Which gaps should we address? ({must_count} must-fix, {should_count} should-fix, {nice_count} nice-to-fix)"
650
835
  header: "Priority"
@@ -685,41 +870,13 @@ Create phases to close gaps found during an audit.
685
870
  docs(planning): add gap-closure phases from milestone audit
686
871
  ```
687
872
 
688
- 9. **Confirm** with branded output:
689
- ```
690
- ╔══════════════════════════════════════════════════════════════╗
691
- ║ PLAN-BUILD-RUN ► GAP PHASES CREATED ✓ ║
692
- ╚══════════════════════════════════════════════════════════════╝
693
-
694
- Created {count} gap-closure phase(s):
695
- - Phase {N}: {name}
696
- - Phase {N+1}: {name}
697
-
698
-
699
-
700
- ╔══════════════════════════════════════════════════════════════╗
701
- ║ ▶ NEXT UP ║
702
- ╚══════════════════════════════════════════════════════════════╝
703
-
704
- **Plan the first gap-closure phase**
705
-
706
- `/pbr:plan {N}`
707
-
708
- <sub>`/clear` first → fresh context window</sub>
709
-
710
-
711
-
712
- **Also available:**
713
- - `/pbr:status` — see project status
714
-
715
-
716
- ```
873
+ 9. **Confirm** with branded output — read `${CLAUDE_SKILL_DIR}/templates/gaps-output.md.tmpl` and fill in `{count}` (gap-closure phases created), `{N}` (first gap phase number), `{name}` (phase name).
717
874
 
718
875
  ---
719
876
 
720
877
  ## State Integration
721
878
 
722
- All subcommands update STATE.md:
879
+ All subcommands use `blob.state` and `blob.config` from the init call for reading state. All subcommands update STATE.md on write:
723
880
  - `new`: Sets current milestone, resets phase
724
881
  - `complete`: Clears current milestone, updates history
725
882
  - `audit`: Notes audit status and date
@@ -731,7 +888,7 @@ All subcommands update STATE.md:
731
888
 
732
889
  Reference: `skills/shared/commit-planning-docs.md` for the standard commit pattern.
733
890
 
734
- All subcommands commit if `planning.commit_docs: true`:
891
+ All subcommands commit if `blob.config.planning.commit_docs` is true:
735
892
  - `new`: `docs(planning): start milestone "{name}" (phases {start}-{end})`
736
893
  - `complete`: `docs(planning): complete milestone {version}`
737
894
  - `audit`: `docs(planning): audit milestone {version} - {status}`
@@ -742,60 +899,12 @@ Tags (complete only):
742
899
 
743
900
  ---
744
901
 
745
- ## Edge Cases
746
-
747
- ### No ROADMAP.md exists
748
- - For `new`: Create one from scratch (this is a fresh start)
749
- - For others, display:
750
- ```
751
- ╔══════════════════════════════════════════════════════════════╗
752
- ║ ERROR ║
753
- ╚══════════════════════════════════════════════════════════════╝
754
-
755
- No roadmap found.
756
-
757
- **To fix:** Run `/pbr:begin` or `/pbr:milestone new` first.
758
- ```
759
-
760
- ### Milestone has no phases
761
- Display:
762
- ```
763
- ╔══════════════════════════════════════════════════════════════╗
764
- ║ ERROR ║
765
- ╚══════════════════════════════════════════════════════════════╝
902
+ Reference: `skills/shared/error-reporting.md` for branded error output patterns.
766
903
 
767
- No phases found for this milestone.
768
-
769
- **To fix:**
770
- - For `complete`: Nothing to complete — add phases first.
771
- - For `audit`: Nothing to audit — build phases first.
772
- ```
773
-
774
- ### Audit finds no gaps
775
- - Status: PASSED
776
- - Skip the recommendations section
777
- - Suggest proceeding to complete
778
-
779
- ### Version already exists (tag collision)
780
- Display:
781
- ```
782
- ╔══════════════════════════════════════════════════════════════╗
783
- ║ ERROR ║
784
- ╚══════════════════════════════════════════════════════════════╝
785
-
786
- Git tag {version} already exists.
787
-
788
- **To fix:** Use a different version number (e.g., {version}.1).
789
- ```
790
- Ask for alternative via AskUserQuestion.
791
-
792
- ### Partially verified milestone
793
- - `complete` warns but allows proceeding with user confirmation
794
- - `audit` treats unverified phases as gaps
904
+ ## Edge Cases
795
905
 
796
- ### Large milestone (8+ phases)
797
- - `audit` may take longer due to integration checking
798
- - Warn: "This milestone has {count} phases. The audit may take a few minutes."
906
+ For all edge case handling, see `${CLAUDE_SKILL_DIR}/templates/edge-cases.md`.
907
+ Key scenarios: no ROADMAP.md, no phases, no gaps found, version collision, partially verified, large milestone (8+ phases).
799
908
 
800
909
  ---
801
910