@sienklogic/plan-build-run 2.21.1 → 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 (982) hide show
  1. package/CHANGELOG.md +1331 -323
  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 +210 -34
  147. package/plugins/pbr/agents/dev-sync.md +206 -0
  148. package/plugins/pbr/agents/executor.md +734 -38
  149. package/plugins/pbr/agents/general.md +69 -5
  150. package/plugins/pbr/agents/integration-checker.md +147 -31
  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 -65
  154. package/plugins/pbr/agents/planner.md +449 -41
  155. package/plugins/pbr/agents/researcher.md +218 -37
  156. package/plugins/pbr/agents/roadmapper.md +398 -0
  157. package/plugins/pbr/agents/synthesizer.md +166 -25
  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 +570 -46
  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/execute-phase.md +6 -0
  172. package/plugins/pbr/commands/fast.md +6 -0
  173. package/plugins/pbr/commands/forensics.md +6 -0
  174. package/plugins/pbr/commands/import.md +1 -1
  175. package/plugins/pbr/commands/insert-phase.md +65 -0
  176. package/plugins/pbr/commands/intel.md +5 -0
  177. package/plugins/pbr/commands/join-discord.md +11 -0
  178. package/plugins/pbr/commands/list-phase-assumptions.md +5 -0
  179. package/plugins/pbr/commands/map-codebase.md +6 -0
  180. package/plugins/pbr/commands/milestone-summary.md +6 -0
  181. package/plugins/pbr/commands/new-milestone.md +8 -0
  182. package/plugins/pbr/commands/new-project.md +6 -0
  183. package/plugins/pbr/commands/pause-work.md +5 -0
  184. package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
  185. package/plugins/pbr/commands/plan-phase.md +6 -0
  186. package/plugins/pbr/commands/plant-seed.md +6 -0
  187. package/plugins/pbr/commands/profile-user.md +5 -0
  188. package/plugins/pbr/commands/profile.md +5 -0
  189. package/plugins/pbr/commands/progress.md +6 -0
  190. package/plugins/pbr/commands/quick.md +1 -1
  191. package/plugins/pbr/commands/reapply-patches.md +47 -0
  192. package/plugins/pbr/commands/release.md +6 -0
  193. package/plugins/pbr/commands/remove-phase.md +66 -0
  194. package/plugins/pbr/commands/research-phase.md +59 -0
  195. package/plugins/pbr/commands/resume-work.md +5 -0
  196. package/plugins/pbr/commands/seed.md +6 -0
  197. package/plugins/pbr/commands/session-report.md +5 -0
  198. package/plugins/pbr/commands/set-profile.md +6 -0
  199. package/plugins/pbr/commands/settings.md +5 -0
  200. package/plugins/pbr/commands/setup.md +1 -1
  201. package/plugins/pbr/commands/ship.md +5 -0
  202. package/plugins/pbr/commands/stats.md +6 -0
  203. package/plugins/pbr/commands/test.md +5 -0
  204. package/plugins/pbr/commands/thread.md +6 -0
  205. package/plugins/pbr/commands/todo.md +1 -1
  206. package/plugins/pbr/commands/ui-phase.md +5 -0
  207. package/plugins/pbr/commands/ui-review.md +5 -0
  208. package/plugins/pbr/commands/undo.md +5 -0
  209. package/plugins/pbr/commands/update.md +37 -0
  210. package/plugins/pbr/commands/validate-phase.md +5 -0
  211. package/plugins/pbr/commands/verify-work.md +6 -0
  212. package/plugins/pbr/dashboard/package-lock.json +6 -0
  213. package/plugins/pbr/dist/architecture-guard.js +76 -0
  214. package/plugins/pbr/dist/audit-dimensions.js +556 -0
  215. package/plugins/pbr/dist/auto-continue.js +277 -0
  216. package/plugins/pbr/dist/block-skill-self-read.js +124 -0
  217. package/plugins/pbr/dist/check-agent-state-write.js +63 -0
  218. package/plugins/pbr/dist/check-config-change.js +213 -0
  219. package/plugins/pbr/dist/check-cross-plugin-sync.js +93 -0
  220. package/plugins/pbr/dist/check-dangerous-commands.js +193 -0
  221. package/plugins/pbr/dist/check-direct-state-write.js +37 -0
  222. package/plugins/pbr/dist/check-doc-sprawl.js +102 -0
  223. package/plugins/pbr/dist/check-phase-boundary.js +191 -0
  224. package/plugins/pbr/dist/check-plan-format.js +227 -0
  225. package/plugins/pbr/dist/check-read-first.js +345 -0
  226. package/plugins/pbr/dist/check-roadmap-sync.js +507 -0
  227. package/plugins/pbr/dist/check-skill-workflow.js +354 -0
  228. package/plugins/pbr/dist/check-state-sync.js +676 -0
  229. package/plugins/pbr/dist/check-subagent-output.js +425 -0
  230. package/plugins/pbr/dist/check-summary-gate.js +188 -0
  231. package/plugins/pbr/dist/context-bridge.js +425 -0
  232. package/plugins/pbr/dist/context-budget-check.js +442 -0
  233. package/plugins/pbr/dist/context-quality.js +271 -0
  234. package/plugins/pbr/dist/enforce-context-budget.js +138 -0
  235. package/plugins/pbr/dist/enforce-pbr-workflow.js +277 -0
  236. package/plugins/pbr/dist/event-handler.js +212 -0
  237. package/plugins/pbr/dist/event-logger.js +125 -0
  238. package/plugins/pbr/dist/feedback-loop.js +155 -0
  239. package/plugins/pbr/dist/graph-update.js +422 -0
  240. package/plugins/pbr/dist/hook-logger.js +114 -0
  241. package/plugins/pbr/dist/hook-server-client.js +361 -0
  242. package/plugins/pbr/dist/hook-server.js +664 -0
  243. package/plugins/pbr/dist/hooks-schema.json +87 -0
  244. package/plugins/pbr/dist/instructions-loaded.js +173 -0
  245. package/plugins/pbr/dist/intercept-plan-mode.js +81 -0
  246. package/plugins/pbr/dist/log-notification.js +131 -0
  247. package/plugins/pbr/dist/log-subagent.js +367 -0
  248. package/plugins/pbr/dist/log-tool-failure.js +140 -0
  249. package/plugins/pbr/dist/milestone-learnings.js +519 -0
  250. package/plugins/pbr/dist/pbr-tools.js +493 -0
  251. package/plugins/pbr/dist/post-bash-triage.js +96 -0
  252. package/plugins/pbr/dist/post-compact.js +135 -0
  253. package/plugins/pbr/dist/post-hoc.js +237 -0
  254. package/plugins/pbr/dist/post-write-dispatch.js +243 -0
  255. package/plugins/pbr/dist/post-write-quality.js +208 -0
  256. package/plugins/pbr/dist/pre-bash-dispatch.js +212 -0
  257. package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
  258. package/plugins/pbr/dist/pre-task-dispatch.js +269 -0
  259. package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
  260. package/plugins/pbr/dist/progress-tracker.js +173 -0
  261. package/plugins/pbr/dist/prompt-guard.js +114 -0
  262. package/plugins/pbr/dist/prompt-routing.js +209 -0
  263. package/plugins/pbr/dist/quick-status.js +179 -0
  264. package/plugins/pbr/dist/record-incident.js +37 -0
  265. package/plugins/pbr/dist/run-hook.js +132 -0
  266. package/plugins/pbr/dist/session-cleanup.js +653 -0
  267. package/plugins/pbr/dist/session-tracker.js +124 -0
  268. package/plugins/pbr/dist/status-line.js +849 -0
  269. package/plugins/pbr/dist/suggest-compact.js +307 -0
  270. package/plugins/pbr/dist/sync-context-to-claude.js +100 -0
  271. package/plugins/pbr/dist/task-completed.js +206 -0
  272. package/plugins/pbr/dist/track-context-budget.js +432 -0
  273. package/plugins/pbr/dist/track-user-gates.js +88 -0
  274. package/plugins/pbr/dist/trust-tracker.js +193 -0
  275. package/plugins/pbr/dist/validate-commit.js +233 -0
  276. package/plugins/pbr/dist/validate-skill-args.js +222 -0
  277. package/plugins/pbr/dist/validate-task.js +271 -0
  278. package/plugins/pbr/dist/worktree-create.js +144 -0
  279. package/plugins/pbr/dist/worktree-remove.js +147 -0
  280. package/plugins/pbr/hooks/hooks.json +137 -65
  281. package/plugins/pbr/references/agent-contracts.md +39 -8
  282. package/plugins/pbr/references/agent-teams.md +3 -3
  283. package/plugins/pbr/references/archive/checkpoints.md +189 -0
  284. package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
  285. package/plugins/pbr/references/archive/hook-ordering.md +89 -0
  286. package/plugins/pbr/references/archive/limitations.md +106 -0
  287. package/plugins/pbr/references/archive/pbr-rules.md +194 -0
  288. package/plugins/pbr/references/archive/pbr-tools-cli.md +415 -0
  289. package/plugins/pbr/references/archive/pretooluse-jsonl-behavior.md +58 -0
  290. package/plugins/pbr/references/archive/signal-files.md +41 -0
  291. package/plugins/pbr/references/archive/tmux-setup.md +288 -0
  292. package/plugins/pbr/references/archive/verification-matrix.md +34 -0
  293. package/plugins/pbr/references/archive/verification-patterns.md +277 -0
  294. package/plugins/pbr/references/archive/worktree-sparse-checkout.md +86 -0
  295. package/plugins/pbr/references/assumptions.md +42 -0
  296. package/plugins/pbr/references/checkpoints.md +723 -104
  297. package/plugins/pbr/references/config-reference.md +387 -10
  298. package/plugins/pbr/references/continuation-format.md +1 -0
  299. package/plugins/pbr/references/decimal-phase-calculation.md +65 -0
  300. package/plugins/pbr/references/deviation-rules.md +12 -0
  301. package/plugins/pbr/references/few-shot-examples/audit.md +77 -0
  302. package/plugins/pbr/references/few-shot-examples/check-plan-format.md +172 -0
  303. package/plugins/pbr/references/few-shot-examples/check-subagent-output.md +118 -0
  304. package/plugins/pbr/references/few-shot-examples/integration-checker.md +70 -0
  305. package/plugins/pbr/references/few-shot-examples/nyquist-auditor.md +83 -0
  306. package/plugins/pbr/references/few-shot-examples/plan-checker.md +73 -0
  307. package/plugins/pbr/references/few-shot-examples/ui-checker.md +71 -0
  308. package/plugins/pbr/references/few-shot-examples/verifier.md +109 -0
  309. package/plugins/pbr/references/git-integration.md +110 -27
  310. package/plugins/pbr/references/git-planning-commit.md +35 -0
  311. package/plugins/pbr/references/model-profile-resolution.md +34 -0
  312. package/plugins/pbr/references/model-profiles.md +90 -7
  313. package/plugins/pbr/references/model-selection.md +1 -1
  314. package/plugins/pbr/references/node-repair.md +48 -0
  315. package/plugins/pbr/references/plan-authoring.md +65 -0
  316. package/plugins/pbr/references/plan-format.md +184 -10
  317. package/plugins/pbr/references/questioning.md +138 -49
  318. package/plugins/pbr/references/reading-verification.md +4 -4
  319. package/plugins/pbr/references/tdd.md +263 -0
  320. package/plugins/pbr/references/thinking-models-planning.md +47 -0
  321. package/plugins/pbr/references/thinking-models-verification.md +44 -0
  322. package/plugins/pbr/references/ui-brand.md +449 -0
  323. package/plugins/pbr/references/verification-overrides.md +39 -0
  324. package/plugins/pbr/references/verification-patterns.md +529 -113
  325. package/plugins/pbr/scripts/architecture-guard.js +76 -0
  326. package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
  327. package/plugins/pbr/scripts/audit-checks/error-analysis.js +989 -0
  328. package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
  329. package/plugins/pbr/scripts/audit-checks/index.js +433 -0
  330. package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
  331. package/plugins/pbr/scripts/audit-checks/quality-metrics.js +455 -0
  332. package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
  333. package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +396 -0
  334. package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
  335. package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
  336. package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1175 -0
  337. package/plugins/pbr/scripts/audit-dimensions.js +556 -0
  338. package/plugins/pbr/scripts/auto-continue.js +192 -37
  339. package/plugins/pbr/scripts/block-skill-self-read.js +124 -0
  340. package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
  341. package/plugins/pbr/scripts/check-config-change.js +84 -1
  342. package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
  343. package/plugins/pbr/scripts/check-dangerous-commands.js +18 -5
  344. package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
  345. package/plugins/pbr/scripts/check-phase-boundary.js +3 -2
  346. package/plugins/pbr/scripts/check-plan-format.js +153 -354
  347. package/plugins/pbr/scripts/check-read-first.js +345 -0
  348. package/plugins/pbr/scripts/check-roadmap-sync.js +174 -19
  349. package/plugins/pbr/scripts/check-skill-workflow.js +21 -16
  350. package/plugins/pbr/scripts/check-state-sync.js +352 -220
  351. package/plugins/pbr/scripts/check-subagent-output.js +296 -333
  352. package/plugins/pbr/scripts/check-summary-gate.js +5 -15
  353. package/plugins/pbr/scripts/commands/benchmarks.js +195 -0
  354. package/plugins/pbr/scripts/commands/calibrate.js +530 -0
  355. package/plugins/pbr/scripts/commands/config.js +72 -0
  356. package/plugins/pbr/scripts/commands/misc.js +779 -0
  357. package/plugins/pbr/scripts/commands/phase.js +293 -0
  358. package/plugins/pbr/scripts/commands/roadmap.js +75 -0
  359. package/plugins/pbr/scripts/commands/state.js +84 -0
  360. package/plugins/pbr/scripts/commands/stress-test.js +349 -0
  361. package/plugins/pbr/scripts/commands/todo.js +191 -0
  362. package/plugins/pbr/scripts/commands/verify.js +169 -0
  363. package/plugins/pbr/scripts/config-schema.json +1183 -95
  364. package/plugins/pbr/scripts/context-bridge.js +425 -0
  365. package/plugins/pbr/scripts/context-budget-check.js +171 -16
  366. package/plugins/pbr/scripts/context-quality.js +271 -0
  367. package/plugins/pbr/scripts/enforce-context-budget.js +138 -0
  368. package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
  369. package/plugins/pbr/scripts/event-handler.js +137 -87
  370. package/plugins/pbr/scripts/event-logger.js +58 -25
  371. package/plugins/pbr/scripts/feedback-loop.js +155 -0
  372. package/plugins/pbr/scripts/graph-update.js +422 -0
  373. package/plugins/pbr/scripts/hook-logger.js +69 -35
  374. package/plugins/pbr/scripts/hook-server-client.js +361 -0
  375. package/plugins/pbr/scripts/hook-server.js +664 -0
  376. package/plugins/pbr/scripts/hooks-schema.json +12 -5
  377. package/plugins/pbr/scripts/instructions-loaded.js +173 -0
  378. package/plugins/pbr/scripts/intent-router.cjs +147 -0
  379. package/plugins/pbr/scripts/intercept-plan-mode.js +52 -18
  380. package/plugins/pbr/scripts/lib/alternatives.js +203 -0
  381. package/plugins/pbr/scripts/lib/audit.js +65 -0
  382. package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
  383. package/plugins/pbr/scripts/lib/auto-verify.js +123 -0
  384. package/plugins/pbr/scripts/lib/benchmark.js +190 -0
  385. package/plugins/pbr/scripts/lib/build.js +719 -0
  386. package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
  387. package/plugins/pbr/scripts/lib/commands.js +483 -0
  388. package/plugins/pbr/scripts/lib/compound.js +222 -0
  389. package/plugins/pbr/scripts/lib/config-cache.js +83 -0
  390. package/plugins/pbr/scripts/lib/config.js +1469 -0
  391. package/plugins/pbr/scripts/lib/context.js +254 -0
  392. package/plugins/pbr/scripts/lib/contextual-help.js +183 -0
  393. package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
  394. package/plugins/pbr/scripts/lib/core.js +1585 -0
  395. package/plugins/pbr/scripts/lib/dashboard-launch.js +364 -0
  396. package/plugins/pbr/scripts/lib/data-hygiene.js +179 -0
  397. package/plugins/pbr/scripts/lib/decision-extraction.js +183 -0
  398. package/plugins/pbr/scripts/lib/decisions.js +194 -0
  399. package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
  400. package/plugins/pbr/scripts/lib/format-validators.js +1049 -0
  401. package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
  402. package/plugins/pbr/scripts/lib/gates/advisories.js +133 -0
  403. package/plugins/pbr/scripts/lib/gates/build-dependency.js +118 -0
  404. package/plugins/pbr/scripts/lib/gates/build-executor.js +106 -0
  405. package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
  406. package/plugins/pbr/scripts/lib/gates/helpers.js +98 -0
  407. package/plugins/pbr/scripts/lib/gates/inline-execution.js +187 -0
  408. package/plugins/pbr/scripts/lib/gates/milestone-complete.js +139 -0
  409. package/plugins/pbr/scripts/lib/gates/milestone-summary.js +121 -0
  410. package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +149 -0
  411. package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
  412. package/plugins/pbr/scripts/lib/gates/plan-validation.js +115 -0
  413. package/plugins/pbr/scripts/lib/gates/quick-executor.js +78 -0
  414. package/plugins/pbr/scripts/lib/gates/review-planner.js +63 -0
  415. package/plugins/pbr/scripts/lib/gates/review-verifier.js +71 -0
  416. package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +148 -0
  417. package/plugins/pbr/scripts/lib/gates/sprint-preflight.js +30 -0
  418. package/plugins/pbr/scripts/lib/gates/user-confirmation.js +95 -0
  419. package/plugins/pbr/scripts/lib/graph-cli.js +89 -0
  420. package/plugins/pbr/scripts/lib/graph.js +553 -0
  421. package/plugins/pbr/scripts/lib/handoff-validators.js +224 -0
  422. package/plugins/pbr/scripts/lib/health-checks.js +107 -0
  423. package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
  424. package/plugins/pbr/scripts/lib/health.js +132 -0
  425. package/plugins/pbr/scripts/lib/help.js +100 -0
  426. package/plugins/pbr/scripts/lib/history.js +150 -0
  427. package/plugins/pbr/scripts/lib/impact-analysis.js +319 -0
  428. package/plugins/pbr/scripts/lib/incidents.js +190 -0
  429. package/plugins/pbr/scripts/lib/init.js +643 -0
  430. package/plugins/pbr/scripts/lib/insights-parser.js +320 -0
  431. package/plugins/pbr/scripts/lib/intel.js +653 -0
  432. package/plugins/pbr/scripts/lib/learnings.js +511 -0
  433. package/plugins/pbr/scripts/lib/migrate.js +309 -0
  434. package/plugins/pbr/scripts/lib/milestone.js +306 -0
  435. package/plugins/pbr/scripts/lib/msys-path.js +20 -0
  436. package/plugins/pbr/scripts/lib/negative-knowledge.js +194 -0
  437. package/plugins/pbr/scripts/lib/notification-throttle.js +141 -0
  438. package/plugins/pbr/scripts/lib/onboarding-generator.js +288 -0
  439. package/plugins/pbr/scripts/lib/parse-args.js +134 -0
  440. package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
  441. package/plugins/pbr/scripts/lib/patterns.js +272 -0
  442. package/plugins/pbr/scripts/lib/perf.js +190 -0
  443. package/plugins/pbr/scripts/lib/phase.js +1043 -0
  444. package/plugins/pbr/scripts/lib/pid-lock.js +156 -0
  445. package/plugins/pbr/scripts/lib/post-hoc.js +160 -0
  446. package/plugins/pbr/scripts/lib/pre-commit-checks.js +220 -0
  447. package/plugins/pbr/scripts/lib/pre-research.js +126 -0
  448. package/plugins/pbr/scripts/lib/premature-completion.js +312 -0
  449. package/plugins/pbr/scripts/lib/preview.js +174 -0
  450. package/plugins/pbr/scripts/lib/progress-visualization.js +296 -0
  451. package/plugins/pbr/scripts/lib/quick-init.js +131 -0
  452. package/plugins/pbr/scripts/lib/reference.js +236 -0
  453. package/plugins/pbr/scripts/lib/requirements.js +153 -0
  454. package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
  455. package/plugins/pbr/scripts/lib/reverse-spec.js +259 -0
  456. package/plugins/pbr/scripts/lib/roadmap.js +1089 -0
  457. package/plugins/pbr/scripts/lib/security-scan.js +200 -0
  458. package/plugins/pbr/scripts/lib/session-briefing.js +918 -0
  459. package/plugins/pbr/scripts/lib/skill-section.js +99 -0
  460. package/plugins/pbr/scripts/lib/smart-next-task.js +198 -0
  461. package/plugins/pbr/scripts/lib/snapshot-manager.js +232 -0
  462. package/plugins/pbr/scripts/lib/spec-diff.js +209 -0
  463. package/plugins/pbr/scripts/lib/spec-engine.js +189 -0
  464. package/plugins/pbr/scripts/lib/spot-check.js +539 -0
  465. package/plugins/pbr/scripts/lib/state-queue.js +171 -0
  466. package/plugins/pbr/scripts/lib/state.js +1082 -0
  467. package/plugins/pbr/scripts/lib/status-render.js +511 -0
  468. package/plugins/pbr/scripts/lib/step-verify.js +149 -0
  469. package/plugins/pbr/scripts/lib/subagent-validators.js +1119 -0
  470. package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
  471. package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
  472. package/plugins/pbr/scripts/lib/templates.js +362 -0
  473. package/plugins/pbr/scripts/lib/test-selection.js +163 -0
  474. package/plugins/pbr/scripts/lib/todo.js +300 -0
  475. package/plugins/pbr/scripts/lib/verify.js +1561 -0
  476. package/plugins/pbr/scripts/log-notification.js +131 -0
  477. package/plugins/pbr/scripts/log-subagent.js +221 -18
  478. package/plugins/pbr/scripts/log-tool-failure.js +60 -5
  479. package/plugins/pbr/scripts/milestone-learnings.js +519 -0
  480. package/plugins/pbr/scripts/package.json +1 -1
  481. package/plugins/pbr/scripts/pbr-tools.js +362 -1247
  482. package/plugins/pbr/scripts/post-bash-triage.js +96 -0
  483. package/plugins/pbr/scripts/post-compact.js +135 -0
  484. package/plugins/pbr/scripts/post-hoc.js +237 -0
  485. package/plugins/pbr/scripts/post-write-dispatch.js +201 -31
  486. package/plugins/pbr/scripts/post-write-quality.js +4 -3
  487. package/plugins/pbr/scripts/pre-bash-dispatch.js +147 -51
  488. package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
  489. package/plugins/pbr/scripts/pre-task-dispatch.js +269 -0
  490. package/plugins/pbr/scripts/pre-write-dispatch.js +170 -72
  491. package/plugins/pbr/scripts/progress-tracker.js +121 -324
  492. package/plugins/pbr/scripts/prompt-guard.js +114 -0
  493. package/plugins/pbr/scripts/prompt-routing.js +209 -0
  494. package/plugins/pbr/scripts/quick-status.js +179 -0
  495. package/plugins/pbr/scripts/record-incident.js +37 -0
  496. package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
  497. package/plugins/pbr/scripts/run-hook.js +63 -23
  498. package/plugins/pbr/scripts/session-cleanup.js +428 -29
  499. package/plugins/pbr/scripts/session-tracker.js +124 -0
  500. package/plugins/pbr/scripts/status-line.js +571 -43
  501. package/plugins/pbr/scripts/suggest-compact.js +201 -13
  502. package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
  503. package/plugins/pbr/scripts/task-completed.js +165 -4
  504. package/plugins/pbr/scripts/test/config.test.js +126 -0
  505. package/plugins/pbr/scripts/test/cross-platform.test.js +120 -0
  506. package/plugins/pbr/scripts/test/fixtures/config.json +20 -0
  507. package/plugins/pbr/scripts/test/fixtures/plan.md +54 -0
  508. package/plugins/pbr/scripts/test/fixtures/project.md +30 -0
  509. package/plugins/pbr/scripts/test/fixtures/roadmap.md +55 -0
  510. package/plugins/pbr/scripts/test/fixtures/state.md +60 -0
  511. package/plugins/pbr/scripts/test/fixtures/summary.md +35 -0
  512. package/plugins/pbr/scripts/test/fixtures.test.js +184 -0
  513. package/plugins/pbr/scripts/test/phase.test.js +142 -0
  514. package/plugins/pbr/scripts/test/roadmap.test.js +96 -0
  515. package/plugins/pbr/scripts/test/state.test.js +155 -0
  516. package/plugins/pbr/scripts/track-context-budget.js +368 -104
  517. package/plugins/pbr/scripts/track-user-gates.js +88 -0
  518. package/plugins/pbr/scripts/trust-tracker.js +193 -0
  519. package/plugins/pbr/scripts/validate-commit.js +51 -19
  520. package/plugins/pbr/scripts/validate-skill-args.js +85 -14
  521. package/plugins/pbr/scripts/validate-task.js +83 -622
  522. package/plugins/pbr/scripts/worktree-create.js +144 -0
  523. package/plugins/pbr/scripts/worktree-remove.js +147 -0
  524. package/plugins/pbr/skills/audit/SKILL.md +195 -24
  525. package/plugins/pbr/skills/audit-fix/SKILL.md +326 -0
  526. package/plugins/pbr/skills/autonomous/SKILL.md +551 -0
  527. package/plugins/pbr/skills/backlog/SKILL.md +56 -0
  528. package/plugins/pbr/skills/begin/SKILL.md +508 -153
  529. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
  530. package/plugins/pbr/skills/begin/templates/config.json.tmpl +419 -36
  531. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
  532. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +28 -3
  533. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
  534. package/plugins/pbr/skills/build/SKILL.md +1180 -357
  535. package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
  536. package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
  537. package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
  538. package/plugins/pbr/skills/build/templates/qa-round-context.md.tmpl +16 -0
  539. package/plugins/pbr/skills/config/SKILL.md +112 -9
  540. package/plugins/pbr/skills/continue/SKILL.md +113 -33
  541. package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
  542. package/plugins/pbr/skills/debug/SKILL.md +70 -12
  543. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +12 -1
  544. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +12 -5
  545. package/plugins/pbr/skills/discuss/SKILL.md +205 -24
  546. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
  547. package/plugins/pbr/skills/do/SKILL.md +119 -24
  548. package/plugins/pbr/skills/explore/SKILL.md +95 -20
  549. package/plugins/pbr/skills/fast/SKILL.md +94 -0
  550. package/plugins/pbr/skills/forensics/SKILL.md +144 -0
  551. package/plugins/pbr/skills/health/SKILL.md +35 -115
  552. package/plugins/pbr/skills/help/SKILL.md +83 -123
  553. package/plugins/pbr/skills/import/SKILL.md +332 -13
  554. package/plugins/pbr/skills/intel/SKILL.md +131 -0
  555. package/plugins/pbr/skills/list-phase-assumptions/SKILL.md +231 -0
  556. package/plugins/pbr/skills/milestone/SKILL.md +383 -274
  557. package/plugins/pbr/skills/milestone/templates/audit-output.md.tmpl +76 -0
  558. package/plugins/pbr/skills/milestone/templates/complete-output.md.tmpl +32 -0
  559. package/plugins/pbr/skills/milestone/templates/edge-cases.md +54 -0
  560. package/plugins/pbr/skills/milestone/templates/gaps-output.md.tmpl +25 -0
  561. package/plugins/pbr/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
  562. package/plugins/pbr/skills/milestone/templates/new-output.md.tmpl +29 -0
  563. package/plugins/pbr/skills/milestone-summary/SKILL.md +86 -0
  564. package/plugins/pbr/skills/note/SKILL.md +20 -4
  565. package/plugins/pbr/skills/pause/SKILL.md +54 -14
  566. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
  567. package/plugins/pbr/skills/plan/SKILL.md +526 -280
  568. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +20 -2
  569. package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
  570. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +43 -1
  571. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
  572. package/plugins/pbr/skills/profile/SKILL.md +185 -0
  573. package/plugins/pbr/skills/profile-user/SKILL.md +227 -0
  574. package/plugins/pbr/skills/quick/SKILL.md +435 -100
  575. package/plugins/pbr/skills/release/SKILL.md +206 -0
  576. package/plugins/pbr/skills/resume/SKILL.md +170 -46
  577. package/plugins/pbr/skills/review/SKILL.md +233 -165
  578. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
  579. package/plugins/pbr/skills/scan/SKILL.md +152 -106
  580. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +5 -56
  581. package/plugins/pbr/skills/seed/SKILL.md +87 -0
  582. package/plugins/pbr/skills/session-report/SKILL.md +130 -0
  583. package/plugins/pbr/skills/setup/SKILL.md +150 -202
  584. package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
  585. package/plugins/pbr/skills/shared/agent-type-resolution.md +32 -0
  586. package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
  587. package/plugins/pbr/skills/shared/context-budget.md +66 -1
  588. package/plugins/pbr/skills/shared/context-loader-task.md +18 -11
  589. package/plugins/pbr/skills/shared/criterion-writing.md +58 -0
  590. package/plugins/pbr/skills/shared/digest-select.md +2 -2
  591. package/plugins/pbr/skills/shared/domain-probes.md +1 -1
  592. package/plugins/pbr/skills/shared/error-reporting.md +38 -60
  593. package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
  594. package/plugins/pbr/skills/shared/memory-capture.md +48 -0
  595. package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
  596. package/plugins/pbr/skills/shared/revision-loop.md +24 -6
  597. package/plugins/pbr/skills/shared/state-update.md +46 -61
  598. package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
  599. package/plugins/pbr/skills/ship/SKILL.md +155 -0
  600. package/plugins/pbr/skills/stats/SKILL.md +110 -0
  601. package/plugins/pbr/skills/status/SKILL.md +185 -119
  602. package/plugins/pbr/skills/test/SKILL.md +254 -0
  603. package/plugins/pbr/skills/thread/SKILL.md +73 -0
  604. package/plugins/pbr/skills/todo/SKILL.md +28 -72
  605. package/plugins/pbr/skills/ui-phase/SKILL.md +180 -0
  606. package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
  607. package/plugins/pbr/skills/undo/SKILL.md +221 -0
  608. package/plugins/pbr/skills/validate-phase/SKILL.md +362 -0
  609. package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
  610. package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
  611. package/plugins/pbr/templates/DISCUSSION-LOG.md.tmpl +49 -0
  612. package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
  613. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
  614. package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
  615. package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
  616. package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
  617. package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
  618. package/plugins/pbr/templates/ROADMAP.md.tmpl +106 -14
  619. package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
  620. package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
  621. package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
  622. package/plugins/pbr/templates/UAT.md.tmpl +94 -0
  623. package/plugins/pbr/templates/UI-SPEC.md.tmpl +144 -0
  624. package/plugins/pbr/templates/VALIDATION.md.tmpl +94 -0
  625. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +54 -13
  626. package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
  627. package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
  628. package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
  629. package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
  630. package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
  631. package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
  632. package/scripts/build-hooks.js +61 -0
  633. package/scripts/check-ci.js +100 -0
  634. package/scripts/clean-changelog.js +364 -0
  635. package/scripts/generate-derivatives.js +581 -0
  636. package/scripts/posttest.js +93 -0
  637. package/scripts/release.js +262 -0
  638. package/scripts/run-tests.cjs +29 -0
  639. package/scripts/test-wrapper.js +43 -0
  640. package/dashboard/bin/cli.js +0 -25
  641. package/dashboard/public/css/layout.css +0 -704
  642. package/dashboard/public/css/status-colors.css +0 -98
  643. package/dashboard/public/css/tokens.css +0 -59
  644. package/dashboard/public/js/htmx-title.js +0 -5
  645. package/dashboard/public/js/sidebar-toggle.js +0 -34
  646. package/dashboard/public/js/sse-client.js +0 -100
  647. package/dashboard/public/js/theme-toggle.js +0 -46
  648. package/dashboard/src/app.js +0 -91
  649. package/dashboard/src/middleware/current-phase.js +0 -24
  650. package/dashboard/src/middleware/errorHandler.js +0 -52
  651. package/dashboard/src/middleware/notFoundHandler.js +0 -9
  652. package/dashboard/src/repositories/planning.repository.js +0 -130
  653. package/dashboard/src/routes/events.routes.js +0 -45
  654. package/dashboard/src/routes/index.routes.js +0 -35
  655. package/dashboard/src/routes/pages.routes.js +0 -426
  656. package/dashboard/src/server.js +0 -42
  657. package/dashboard/src/services/analytics.service.js +0 -141
  658. package/dashboard/src/services/dashboard.service.js +0 -309
  659. package/dashboard/src/services/milestone.service.js +0 -222
  660. package/dashboard/src/services/notes.service.js +0 -50
  661. package/dashboard/src/services/phase.service.js +0 -232
  662. package/dashboard/src/services/project.service.js +0 -57
  663. package/dashboard/src/services/roadmap.service.js +0 -258
  664. package/dashboard/src/services/sse.service.js +0 -58
  665. package/dashboard/src/services/todo.service.js +0 -272
  666. package/dashboard/src/services/watcher.service.js +0 -48
  667. package/dashboard/src/utils/cache.js +0 -55
  668. package/dashboard/src/views/analytics.ejs +0 -5
  669. package/dashboard/src/views/coming-soon.ejs +0 -11
  670. package/dashboard/src/views/dependencies.ejs +0 -5
  671. package/dashboard/src/views/error.ejs +0 -20
  672. package/dashboard/src/views/index.ejs +0 -5
  673. package/dashboard/src/views/milestone-detail.ejs +0 -5
  674. package/dashboard/src/views/milestones.ejs +0 -5
  675. package/dashboard/src/views/notes.ejs +0 -5
  676. package/dashboard/src/views/partials/analytics-content.ejs +0 -90
  677. package/dashboard/src/views/partials/breadcrumbs.ejs +0 -14
  678. package/dashboard/src/views/partials/dashboard-content.ejs +0 -84
  679. package/dashboard/src/views/partials/dependencies-content.ejs +0 -48
  680. package/dashboard/src/views/partials/empty-state.ejs +0 -7
  681. package/dashboard/src/views/partials/footer.ejs +0 -3
  682. package/dashboard/src/views/partials/head.ejs +0 -30
  683. package/dashboard/src/views/partials/header.ejs +0 -21
  684. package/dashboard/src/views/partials/layout-bottom.ejs +0 -43
  685. package/dashboard/src/views/partials/layout-top.ejs +0 -16
  686. package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -20
  687. package/dashboard/src/views/partials/milestones-content.ejs +0 -88
  688. package/dashboard/src/views/partials/notes-content.ejs +0 -23
  689. package/dashboard/src/views/partials/phase-content.ejs +0 -193
  690. package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
  691. package/dashboard/src/views/partials/phases-content.ejs +0 -124
  692. package/dashboard/src/views/partials/roadmap-content.ejs +0 -180
  693. package/dashboard/src/views/partials/sidebar.ejs +0 -99
  694. package/dashboard/src/views/partials/todo-create-content.ejs +0 -54
  695. package/dashboard/src/views/partials/todo-detail-content.ejs +0 -42
  696. package/dashboard/src/views/partials/todos-content.ejs +0 -97
  697. package/dashboard/src/views/phase-detail.ejs +0 -5
  698. package/dashboard/src/views/phase-doc.ejs +0 -5
  699. package/dashboard/src/views/phases.ejs +0 -5
  700. package/dashboard/src/views/roadmap.ejs +0 -5
  701. package/dashboard/src/views/todo-create.ejs +0 -5
  702. package/dashboard/src/views/todo-detail.ejs +0 -5
  703. package/dashboard/src/views/todos.ejs +0 -5
  704. package/plugins/copilot-pbr/CHANGELOG.md +0 -19
  705. package/plugins/copilot-pbr/README.md +0 -139
  706. package/plugins/copilot-pbr/agents/audit.agent.md +0 -113
  707. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
  708. package/plugins/copilot-pbr/agents/debugger.agent.md +0 -184
  709. package/plugins/copilot-pbr/agents/executor.agent.md +0 -269
  710. package/plugins/copilot-pbr/agents/general.agent.md +0 -89
  711. package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -121
  712. package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -208
  713. package/plugins/copilot-pbr/agents/planner.agent.md +0 -240
  714. package/plugins/copilot-pbr/agents/researcher.agent.md +0 -188
  715. package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
  716. package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
  717. package/plugins/copilot-pbr/hooks/hooks.json +0 -258
  718. package/plugins/copilot-pbr/plugin.json +0 -30
  719. package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
  720. package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
  721. package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
  722. package/plugins/copilot-pbr/references/agent-teams.md +0 -55
  723. package/plugins/copilot-pbr/references/checkpoints.md +0 -158
  724. package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
  725. package/plugins/copilot-pbr/references/config-reference.md +0 -442
  726. package/plugins/copilot-pbr/references/continuation-format.md +0 -213
  727. package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
  728. package/plugins/copilot-pbr/references/git-integration.md +0 -227
  729. package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
  730. package/plugins/copilot-pbr/references/model-profiles.md +0 -100
  731. package/plugins/copilot-pbr/references/model-selection.md +0 -32
  732. package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
  733. package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
  734. package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
  735. package/plugins/copilot-pbr/references/plan-format.md +0 -288
  736. package/plugins/copilot-pbr/references/planning-config.md +0 -214
  737. package/plugins/copilot-pbr/references/questioning.md +0 -215
  738. package/plugins/copilot-pbr/references/reading-verification.md +0 -128
  739. package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
  740. package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
  741. package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
  742. package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
  743. package/plugins/copilot-pbr/references/wave-execution.md +0 -96
  744. package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
  745. package/plugins/copilot-pbr/setup.ps1 +0 -93
  746. package/plugins/copilot-pbr/setup.sh +0 -93
  747. package/plugins/copilot-pbr/skills/audit/SKILL.md +0 -330
  748. package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
  749. package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  750. package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  751. package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  752. package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
  753. package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  754. package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  755. package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  756. package/plugins/copilot-pbr/skills/build/SKILL.md +0 -959
  757. package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
  758. package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
  759. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
  760. package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
  761. package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  762. package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  763. package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
  764. package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  765. package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
  766. package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
  767. package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
  768. package/plugins/copilot-pbr/skills/health/SKILL.md +0 -283
  769. package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  770. package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  771. package/plugins/copilot-pbr/skills/help/SKILL.md +0 -193
  772. package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
  773. package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -806
  774. package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  775. package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  776. package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
  777. package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
  778. package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  779. package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
  780. package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  781. package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  782. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  783. package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  784. package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  785. package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
  786. package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
  787. package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
  788. package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  789. package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  790. package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  791. package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
  792. package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  793. package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
  794. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
  795. package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
  796. package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
  797. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
  798. package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
  799. package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
  800. package/plugins/copilot-pbr/skills/shared/error-recovery-strategies.md +0 -51
  801. package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
  802. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
  803. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
  804. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
  805. package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
  806. package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
  807. package/plugins/copilot-pbr/skills/shared/state-update.md +0 -170
  808. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
  809. package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
  810. package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
  811. package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
  812. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
  813. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  814. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  815. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -48
  816. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
  817. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  818. package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  819. package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  820. package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  821. package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  822. package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
  823. package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  824. package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  825. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
  826. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  827. package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  828. package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
  829. package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  830. package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  831. package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  832. package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  833. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
  834. package/plugins/cursor-pbr/CHANGELOG.md +0 -15
  835. package/plugins/cursor-pbr/README.md +0 -123
  836. package/plugins/cursor-pbr/agents/audit.md +0 -178
  837. package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
  838. package/plugins/cursor-pbr/agents/debugger.md +0 -183
  839. package/plugins/cursor-pbr/agents/executor.md +0 -268
  840. package/plugins/cursor-pbr/agents/general.md +0 -88
  841. package/plugins/cursor-pbr/agents/integration-checker.md +0 -120
  842. package/plugins/cursor-pbr/agents/plan-checker.md +0 -207
  843. package/plugins/cursor-pbr/agents/planner.md +0 -239
  844. package/plugins/cursor-pbr/agents/researcher.md +0 -187
  845. package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
  846. package/plugins/cursor-pbr/agents/verifier.md +0 -227
  847. package/plugins/cursor-pbr/assets/.gitkeep +0 -0
  848. package/plugins/cursor-pbr/assets/logo.svg +0 -21
  849. package/plugins/cursor-pbr/hooks/hooks.json +0 -224
  850. package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
  851. package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
  852. package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
  853. package/plugins/cursor-pbr/references/agent-teams.md +0 -55
  854. package/plugins/cursor-pbr/references/checkpoints.md +0 -158
  855. package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
  856. package/plugins/cursor-pbr/references/config-reference.md +0 -442
  857. package/plugins/cursor-pbr/references/continuation-format.md +0 -213
  858. package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
  859. package/plugins/cursor-pbr/references/git-integration.md +0 -227
  860. package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
  861. package/plugins/cursor-pbr/references/model-profiles.md +0 -100
  862. package/plugins/cursor-pbr/references/model-selection.md +0 -32
  863. package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
  864. package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
  865. package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
  866. package/plugins/cursor-pbr/references/plan-format.md +0 -288
  867. package/plugins/cursor-pbr/references/planning-config.md +0 -214
  868. package/plugins/cursor-pbr/references/questioning.md +0 -215
  869. package/plugins/cursor-pbr/references/reading-verification.md +0 -128
  870. package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
  871. package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
  872. package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
  873. package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
  874. package/plugins/cursor-pbr/references/wave-execution.md +0 -96
  875. package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
  876. package/plugins/cursor-pbr/setup.ps1 +0 -78
  877. package/plugins/cursor-pbr/setup.sh +0 -83
  878. package/plugins/cursor-pbr/skills/audit/SKILL.md +0 -331
  879. package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
  880. package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  881. package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  882. package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  883. package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
  884. package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  885. package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  886. package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  887. package/plugins/cursor-pbr/skills/build/SKILL.md +0 -960
  888. package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
  889. package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
  890. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
  891. package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
  892. package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  893. package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  894. package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
  895. package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  896. package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
  897. package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
  898. package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
  899. package/plugins/cursor-pbr/skills/health/SKILL.md +0 -283
  900. package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  901. package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  902. package/plugins/cursor-pbr/skills/help/SKILL.md +0 -193
  903. package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
  904. package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -807
  905. package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  906. package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  907. package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
  908. package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
  909. package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  910. package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
  911. package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  912. package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  913. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  914. package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  915. package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  916. package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
  917. package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
  918. package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
  919. package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  920. package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  921. package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  922. package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
  923. package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  924. package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
  925. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
  926. package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
  927. package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
  928. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
  929. package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
  930. package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
  931. package/plugins/cursor-pbr/skills/shared/error-recovery-strategies.md +0 -51
  932. package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
  933. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
  934. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
  935. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
  936. package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
  937. package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
  938. package/plugins/cursor-pbr/skills/shared/state-update.md +0 -170
  939. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
  940. package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
  941. package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
  942. package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
  943. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
  944. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  945. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  946. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -48
  947. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
  948. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  949. package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  950. package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  951. package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  952. package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  953. package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
  954. package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  955. package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  956. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
  957. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  958. package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  959. package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
  960. package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  961. package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  962. package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  963. package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  964. package/plugins/pbr/references/agent-interactions.md +0 -134
  965. package/plugins/pbr/references/pbr-rules.md +0 -194
  966. package/plugins/pbr/references/pbr-tools-cli.md +0 -285
  967. package/plugins/pbr/references/planning-config.md +0 -213
  968. package/plugins/pbr/references/subagent-coordination.md +0 -119
  969. package/plugins/pbr/references/ui-formatting.md +0 -444
  970. package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
  971. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
  972. package/plugins/pbr/skills/shared/error-recovery-strategies.md +0 -51
  973. package/plugins/pbr/skills/shared/progress-display.md +0 -53
  974. package/plugins/pbr/skills/shared/state-loading.md +0 -62
  975. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
  976. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  977. package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
  978. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
  979. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  980. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  981. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  982. /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