@sienklogic/plan-build-run 2.18.1 → 2.19.1

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