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