@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
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: verifier
|
|
3
|
+
version: 2
|
|
4
|
+
last_calibrated: 2026-03-25
|
|
5
|
+
calibration_source: "153 verification entries, 89% pass rate, 3 gap categories"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Verifier Few-Shot Examples
|
|
9
|
+
|
|
10
|
+
## Positive Examples
|
|
11
|
+
|
|
12
|
+
### Example 1: Thorough multi-level artifact verification with real gap discovery
|
|
13
|
+
|
|
14
|
+
**Input:** Must-have artifact: `plugins/pbr/scripts/context-bridge.js: >50 lines`
|
|
15
|
+
|
|
16
|
+
**Output:**
|
|
17
|
+
|
|
18
|
+
> **L1 (Existence):** EXISTS -- `plugins/pbr/scripts/context-bridge.js` found, 187 lines.
|
|
19
|
+
> **L2 (Substantive):** SUBSTANTIVE -- No TODO/FIXME markers, 4 exported functions (`updateContextTier`, `getContextBudget`, `injectContextWarning`, `resetTierState`), non-trivial logic with config reads and threshold calculations.
|
|
20
|
+
> **L3 (Wired):** WIRED -- Imported by `plugins/pbr/hooks/hooks.json` as PostToolUse handler (line 47). Called by `post-write-dispatch.js` at line 23 via `require('./context-bridge')`. Arguments verified: receives `(toolName, data, planningDir)` matching the function signature.
|
|
21
|
+
> **Status: PASSED**
|
|
22
|
+
|
|
23
|
+
**Why this is good:** The verifier checked all three levels independently with specific evidence at each level -- file path, line count, exported symbols, import location, and argument verification. It did not stop at "file exists" but traced wiring through to actual usage with correct arguments.
|
|
24
|
+
|
|
25
|
+
### Example 2: Correct FAILED classification with grep evidence
|
|
26
|
+
|
|
27
|
+
**Input:** Must-have truth: `validate-commit.js rejects commits missing scope parentheses`
|
|
28
|
+
|
|
29
|
+
**Output:**
|
|
30
|
+
|
|
31
|
+
> **Method:** Ran `grep -n "scope" plugins/pbr/scripts/validate-commit.js` to locate scope validation logic.
|
|
32
|
+
> **Evidence:** Lines 34-41 show regex `/^(feat|fix|refactor|test|docs|chore|wip)\(/` which requires opening paren after type. However, no test for MISSING closing paren exists -- the regex accepts `feat(: description` (missing scope content and closing paren).
|
|
33
|
+
> **Ran:** `echo "feat(: test" | node plugins/pbr/scripts/validate-commit.js` -- exit code 0 (accepted).
|
|
34
|
+
> **Status: FAILED** -- Commit messages with empty scope `feat(: desc)` are accepted. The truth "rejects commits missing scope parentheses" does not hold for empty-scope edge case.
|
|
35
|
+
|
|
36
|
+
**Why this is good:** The verifier did not trust the code's intent -- it ran an actual test with an edge case input and reported the specific failure. Evidence includes the regex, the test command, the exit code, and why the truth does not hold.
|
|
37
|
+
|
|
38
|
+
### Example 3: Catching missing wiring (calibration-derived gap pattern)
|
|
39
|
+
|
|
40
|
+
**Input:** Must-have key_link: `check-subagent-output.js imports and calls feedback-loop.js extractFeedback()`
|
|
41
|
+
|
|
42
|
+
**Output:**
|
|
43
|
+
|
|
44
|
+
> **Method:** Ran `grep -n "feedback-loop\|extractFeedback" plugins/pbr/scripts/check-subagent-output.js`.
|
|
45
|
+
> **Evidence:** Zero matches. The file `feedback-loop.js` exists (172 lines, substantive), and `tests/feedback-loop.test.js` passes (229 lines). But `check-subagent-output.js` never imports or calls it.
|
|
46
|
+
> **Cross-check:** `grep -rn "require.*feedback-loop" plugins/pbr/scripts/` returns zero results across all scripts.
|
|
47
|
+
> **Status: FAILED** -- The artifact exists and is tested, but is completely orphaned. The key_link "imports and calls" does not hold. This is a **missing wiring** gap.
|
|
48
|
+
|
|
49
|
+
**Why this is good:** The verifier caught a common calibration pattern: code that exists, is tested, but is never actually wired into the system. L1 and L2 pass, but L3 (wiring) fails. This pattern accounts for 37% of all gaps found in calibration corpus.
|
|
50
|
+
|
|
51
|
+
### Example 4: Catching missing config schema entries (calibration-derived gap pattern)
|
|
52
|
+
|
|
53
|
+
**Input:** Must-have truth: `Config toggles features.architecture_graph and features.architecture_guard exist with defaults`
|
|
54
|
+
|
|
55
|
+
**Output:**
|
|
56
|
+
|
|
57
|
+
> **Method:** Ran `grep "architecture_graph\|architecture_guard" plugins/pbr/scripts/config-schema.json`.
|
|
58
|
+
> **Evidence:** Zero matches in schema. However, `grep "architecture" plugins/pbr/scripts/lib/config.js` shows both flags in CONFIG_DEFAULTS (lines 426, 428).
|
|
59
|
+
> **Gap:** Defaults exist in code but schema validation doesn't know about them. `configValidate()` would strip these fields on load, making the defaults unreachable.
|
|
60
|
+
> **Status: FAILED** -- Config flags work in code but are invisible to schema validation. This is a **missing wiring** gap between config layers.
|
|
61
|
+
|
|
62
|
+
**Why this is good:** The verifier checked multiple config layers (schema vs defaults vs code) rather than just one. Config wiring requires schema + defaults + code to agree — checking only one layer misses layer-mismatch bugs.
|
|
63
|
+
|
|
64
|
+
### Example 5: Distinguishing planning gaps from execution failures
|
|
65
|
+
|
|
66
|
+
**Input:** Must-have truth: `All MSYS regex patterns consolidated into shared module`
|
|
67
|
+
|
|
68
|
+
**Output:**
|
|
69
|
+
|
|
70
|
+
> **Method:** Ran `grep -rn "\/\[a-zA-Z\]\/" plugins/pbr/scripts/` to find inline MSYS regex.
|
|
71
|
+
> **Evidence:** 2 matches in `commands/misc.js` (lines 26, 487). These were NOT in the original plan scope — Phase 148 extracted code into misc.js AFTER Phase 149's plan was written.
|
|
72
|
+
> **Assessment:** The executor correctly completed all planned tasks. The gap is a **planning ordering issue**, not an execution failure.
|
|
73
|
+
> **Status: PASS_WITH_NOTES** -- Executor did what was planned. Unconsolidated regex noted as follow-up, not as a failure of this phase.
|
|
74
|
+
|
|
75
|
+
**Why this is good:** The verifier distinguished between what was planned vs what exists now. Code that changed AFTER plan creation is a planning gap, not an executor failure. This prevents false FAIL verdicts on correctly-executed work.
|
|
76
|
+
|
|
77
|
+
## Calibration-Derived Gap Patterns
|
|
78
|
+
|
|
79
|
+
Based on analysis of 153 verification entries (80% pass rate, 8 gaps):
|
|
80
|
+
|
|
81
|
+
| Pattern | Count | % of Gaps | What to Check |
|
|
82
|
+
|---------|-------|-----------|---------------|
|
|
83
|
+
| Missing wiring | 3 | 37% | File exists + tested but never imported/called by consumer |
|
|
84
|
+
| Missing tests | 2 | 25% | Feature works but test file excluded from CI or never runs |
|
|
85
|
+
| Other | 3 | 38% | Config layer mismatches, planning ordering issues, schema gaps |
|
|
86
|
+
|
|
87
|
+
## Negative Examples
|
|
88
|
+
|
|
89
|
+
### Example 1: Blanket pass with no per-criterion evidence
|
|
90
|
+
|
|
91
|
+
**Input:** Must-haves: 5 truths, 3 artifacts, 2 key_links from plan frontmatter.
|
|
92
|
+
|
|
93
|
+
**Output:**
|
|
94
|
+
|
|
95
|
+
> All must-haves have been verified. The implementation matches the plan requirements. Files exist and are properly connected. Status: PASSED.
|
|
96
|
+
> must_haves_checked: 10, must_haves_passed: 10
|
|
97
|
+
|
|
98
|
+
**Why this is bad:** No individual must-have is listed or checked. No file paths, no line numbers, no grep output, no level-by-level breakdown. The verifier restated the must-haves as passing without showing any evidence. This would miss stubs, orphaned exports, and broken wiring.
|
|
99
|
+
|
|
100
|
+
### Example 2: File existence check without substance or wiring verification
|
|
101
|
+
|
|
102
|
+
**Input:** Must-have artifact: `plugins/pbr/scripts/audit-checks/index.js: >100 lines`
|
|
103
|
+
|
|
104
|
+
**Output:**
|
|
105
|
+
|
|
106
|
+
> **L1 (Existence):** EXISTS -- File found at `plugins/pbr/scripts/audit-checks/index.js`, 142 lines.
|
|
107
|
+
> **Status: PASSED**
|
|
108
|
+
|
|
109
|
+
**Why this is bad:** The verifier stopped at Level 1. The file has 142 lines but could contain `// TODO: implement all checks` with stub functions returning empty objects. Level 2 (substantive) and Level 3 (wired) were skipped entirely. A file that exists but is never imported or contains only placeholder code should not pass.
|
|
@@ -7,23 +7,42 @@ Plan-Build-Run's commit conventions, commit points, branching strategy, and hook
|
|
|
7
7
|
## Commit Message Format
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
{type}({
|
|
10
|
+
{type}({scope}): {description}
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
### Components
|
|
14
14
|
|
|
15
15
|
| Part | Description | Example |
|
|
16
16
|
|------|-------------|---------|
|
|
17
|
-
| `{type}` | Conventional commit type | `feat`, `fix`, `
|
|
18
|
-
| `{
|
|
19
|
-
| `{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
| `{type}` | Conventional commit type | `feat`, `fix`, `chore` |
|
|
18
|
+
| `{scope}` | Component name for the area of change | `hooks`, `skills`, `agents` |
|
|
19
|
+
| `{description}` | Imperative, lowercase description | `add drift detection to state sync` |
|
|
20
|
+
|
|
21
|
+
The format is configurable via `config.json` at `git.commit_format`. The default is `{type}({scope}): {description}`.
|
|
22
|
+
|
|
23
|
+
### Component Scopes
|
|
24
|
+
|
|
25
|
+
Use these scopes to indicate which part of PBR the change affects. git-cliff uses these to group changelog entries by component.
|
|
26
|
+
|
|
27
|
+
| Scope | What It Covers | Example |
|
|
28
|
+
|-------|---------------|---------|
|
|
29
|
+
| `hooks` | Hook scripts in `hooks/` and `plugins/pbr/scripts/` | `feat(hooks): add drift detection to state sync` |
|
|
30
|
+
| `skills` | SKILL.md files and skill logic | `feat(skills): add velocity metrics to status` |
|
|
31
|
+
| `agents` | Agent definitions in `agents/` | `fix(agents): scale executor budget for 1M context` |
|
|
32
|
+
| `cli` | `pbr-tools.js` and `bin/lib/` modules | `feat(cli): implement stateRederive command` |
|
|
33
|
+
| `dashboard` | Dashboard UI and server | `fix(dashboard): handle missing phases in chart` |
|
|
34
|
+
| `templates` | `.tmpl` template files | `feat(templates): add XML sections to CONTEXT.md` |
|
|
35
|
+
| `plugin` | Plugin manifests, CLAUDE.md, commands | `chore(plugin): bump version to 2.9.0` |
|
|
36
|
+
| `config` | Config schema, validation, defaults | `feat(config): add node_repair_budget setting` |
|
|
37
|
+
| `ci` | GitHub Actions, lint, coverage | `fix(ci): lower branch coverage threshold` |
|
|
38
|
+
| `tests` | Test files and fixtures | `test(tests): add resolve-root macOS symlink test` |
|
|
39
|
+
| `refs` | Reference docs in `references/` | `docs(refs): document hook ordering expectations` |
|
|
40
|
+
| `commands` | Command registration files | `feat(commands): add autonomous command` |
|
|
23
41
|
|
|
24
42
|
### Full Example
|
|
43
|
+
|
|
25
44
|
```
|
|
26
|
-
feat(
|
|
45
|
+
feat(hooks): implement stateRederive with drift detection
|
|
27
46
|
```
|
|
28
47
|
|
|
29
48
|
---
|
|
@@ -32,26 +51,60 @@ feat(02-01): implement discord oauth client
|
|
|
32
51
|
|
|
33
52
|
| Type | When to Use | Example |
|
|
34
53
|
|------|------------|---------|
|
|
35
|
-
| `feat` | New feature or functionality | `feat(
|
|
36
|
-
| `fix` | Bug fix (including during execution) | `fix(
|
|
37
|
-
| `refactor` | Code restructuring, no behavior change | `refactor(
|
|
38
|
-
| `test` | Adding or modifying tests | `test(
|
|
39
|
-
| `docs` | Documentation changes | `docs(
|
|
40
|
-
| `chore` | Build config, dependencies, tooling | `chore(
|
|
41
|
-
| `
|
|
54
|
+
| `feat` | New feature or functionality | `feat(skills): add velocity metrics to status` |
|
|
55
|
+
| `fix` | Bug fix (including during execution) | `fix(hooks): resolve MSYS path bridging on Windows` |
|
|
56
|
+
| `refactor` | Code restructuring, no behavior change | `refactor(cli): extract state mutations to lib/state.cjs` |
|
|
57
|
+
| `test` | Adding or modifying tests | `test(hooks): add resolve-root tests for walk-up discovery` |
|
|
58
|
+
| `docs` | Documentation changes | `docs(refs): document hook ordering expectations` |
|
|
59
|
+
| `chore` | Build config, dependencies, tooling | `chore(plugin): bump version to 2.9.0` |
|
|
60
|
+
| `wip` | Work in progress (use sparingly) | `wip(skills): partial checkpoint routing` |
|
|
61
|
+
| `revert` | Reverting a previous commit | `revert(hooks): revert auto-continue signal file change` |
|
|
62
|
+
| `perf` | Performance improvement | `perf(cli): cache resolveProjectRoot result` |
|
|
63
|
+
| `ci` | CI/CD changes | `ci(ci): add markdownlint job to test workflow` |
|
|
64
|
+
| `build` | Build system changes | `build(plugin): update hooks.json paths` |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Commit Type Discipline
|
|
69
|
+
|
|
70
|
+
| Type | Use For | Appears in Changelog |
|
|
71
|
+
|------|---------|---------------------|
|
|
72
|
+
| `feat` | User-visible features ONLY (new commands, new config options, changed behavior users notice) | YES |
|
|
73
|
+
| `fix` | Bug fixes users would notice | YES |
|
|
74
|
+
| `refactor` | Internal restructuring, TDD GREEN commits, code cleanup | No |
|
|
75
|
+
| `test` | Test additions including TDD RED commits | No |
|
|
76
|
+
| `docs` | Documentation (hidden — mostly planning artifacts) | No |
|
|
77
|
+
| `chore` | Build config, deps, tooling, internal scaffolding | No |
|
|
78
|
+
| `wip` | Work in progress (use sparingly) | No |
|
|
79
|
+
| `revert` | Reverting a previous commit | YES |
|
|
80
|
+
|
|
81
|
+
**TDD commits**: RED phase → `test({scope}): RED - ...`, GREEN phase → `refactor({scope}): GREEN - ...`, REFACTOR phase → `refactor({scope}): REFACTOR - ...`
|
|
42
82
|
|
|
43
83
|
---
|
|
44
84
|
|
|
45
|
-
## Special Commit
|
|
85
|
+
## Special Commit Patterns
|
|
46
86
|
|
|
47
|
-
Beyond
|
|
87
|
+
Beyond component scopes, Plan-Build-Run recognizes these additional patterns:
|
|
48
88
|
|
|
49
89
|
| Pattern | When Used | Example |
|
|
50
90
|
|---------|-----------|---------|
|
|
51
91
|
| `{type}(quick-{NNN})` | Quick-task commits via `/pbr:quick` | `feat(quick-001): add health endpoint` |
|
|
52
92
|
| `docs(planning)` | Planning document commits | `docs(planning): add phase 3 plans` |
|
|
53
|
-
| `wip: {desc}` or `wip({area}): {desc}` | Work-in-progress (use sparingly) | `wip(
|
|
54
|
-
| Merge commits | Git merge operations | `Merge branch '
|
|
93
|
+
| `wip: {desc}` or `wip({area}): {desc}` | Work-in-progress (use sparingly) | `wip(skills): partial checkpoint routing` |
|
|
94
|
+
| Merge commits | Git merge operations | `Merge branch 'feature/auth-rework'` |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Session Affinity Metadata
|
|
99
|
+
|
|
100
|
+
When a session ID is available, append a `[session:{short_id}]` suffix to the commit description. The `short_id` is the first 8 characters of the session_id. This enables conflict tracing across concurrent sessions.
|
|
101
|
+
|
|
102
|
+
Example:
|
|
103
|
+
```
|
|
104
|
+
feat(auth): implement discord oauth client [session:a1b2c3d4]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
When no session ID is available (e.g., manual commits), omit the suffix.
|
|
55
108
|
|
|
56
109
|
---
|
|
57
110
|
|
|
@@ -60,7 +113,7 @@ Beyond the standard `{phase}-{plan}` scope, Plan-Build-Run recognizes these addi
|
|
|
60
113
|
For commits that need explanation, add a body after a blank line:
|
|
61
114
|
|
|
62
115
|
```
|
|
63
|
-
feat(02-01): implement discord oauth client
|
|
116
|
+
feat(02-01): implement discord oauth client [session:a1b2c3d4]
|
|
64
117
|
|
|
65
118
|
- Uses discord-oauth2 library for token exchange
|
|
66
119
|
- Stores tokens in httpOnly cookies for security
|
|
@@ -84,9 +137,9 @@ Each successfully completed plan task gets exactly one atomic commit. No more, n
|
|
|
84
137
|
TDD tasks (`tdd="true"`) produce exactly 3 commits following Red-Green-Refactor:
|
|
85
138
|
|
|
86
139
|
```
|
|
87
|
-
test(
|
|
88
|
-
|
|
89
|
-
refactor(
|
|
140
|
+
test(auth): RED - add failing tests for auth middleware
|
|
141
|
+
refactor(auth): GREEN - implement auth middleware to pass tests
|
|
142
|
+
refactor(auth): REFACTOR - extract token verification helper
|
|
90
143
|
```
|
|
91
144
|
|
|
92
145
|
### Commit Preconditions
|
|
@@ -125,15 +178,15 @@ When an executor applies a deviation rule during a task, the deviation is includ
|
|
|
125
178
|
```bash
|
|
126
179
|
# Standard task
|
|
127
180
|
git add src/auth/discord.ts src/auth/types.ts
|
|
128
|
-
git commit -m "feat(
|
|
181
|
+
git commit -m "feat(auth): implement Discord OAuth client with token exchange"
|
|
129
182
|
|
|
130
183
|
# Task that also installed a dependency (Rule 2)
|
|
131
184
|
git add src/auth/discord.ts src/auth/types.ts package.json package-lock.json
|
|
132
|
-
git commit -m "feat(
|
|
185
|
+
git commit -m "feat(auth): implement Discord OAuth client with token exchange"
|
|
133
186
|
|
|
134
187
|
# TDD RED
|
|
135
188
|
git add tests/auth/discord.test.ts
|
|
136
|
-
git commit -m "test(
|
|
189
|
+
git commit -m "test(auth): add failing tests for Discord OAuth flow"
|
|
137
190
|
```
|
|
138
191
|
|
|
139
192
|
---
|
|
@@ -174,6 +227,36 @@ Branch name templates are configured in `config.json`:
|
|
|
174
227
|
- `git.phase_branch_template`: Default `plan-build-run/phase-{phase}-{slug}`
|
|
175
228
|
- `git.milestone_branch_template`: Default `plan-build-run/{milestone}-{slug}`
|
|
176
229
|
|
|
230
|
+
### PR Creation
|
|
231
|
+
|
|
232
|
+
When `git.auto_pr: true` and `git.branching` is `phase` or `milestone`, the build skill creates a GitHub PR after verification passes:
|
|
233
|
+
|
|
234
|
+
1. Push the phase branch to the remote
|
|
235
|
+
2. Create a PR via `gh pr create` with structured title and body
|
|
236
|
+
3. PR title follows the commit convention: `feat(phase-{N}): {phase slug}`
|
|
237
|
+
4. PR body includes phase goal, key files changed, and must-have verification results
|
|
238
|
+
|
|
239
|
+
When `git.auto_pr: false` (default), the build skill offers the user a choice after verification:
|
|
240
|
+
- Create PR now
|
|
241
|
+
- Skip PR creation
|
|
242
|
+
- Push branch only (create PR later)
|
|
243
|
+
|
|
244
|
+
PR creation requires `gh` CLI authenticated with repo write access.
|
|
245
|
+
|
|
246
|
+
### CI Integration
|
|
247
|
+
|
|
248
|
+
When `ci.gate_enabled: true`, the build skill checks GitHub Actions status after each wave completes:
|
|
249
|
+
|
|
250
|
+
1. Run: `gh run list --branch $(git branch --show-current) --limit 1 --json status,conclusion,url`
|
|
251
|
+
2. If `status == completed` and `conclusion == success`: proceed to next wave
|
|
252
|
+
3. If `status == in_progress`: wait up to `ci.wait_timeout_seconds`, re-check
|
|
253
|
+
4. If `conclusion != success` or timeout: surface warning with run URL and offer:
|
|
254
|
+
- **Wait**: continue polling
|
|
255
|
+
- **Continue anyway**: proceed despite CI failure (logged as deviation)
|
|
256
|
+
- **Abort**: stop the build
|
|
257
|
+
|
|
258
|
+
CI gate requires `gh` CLI and GitHub Actions configured on the repository. The gate only activates when there are commits pushed to a remote branch (branching must be enabled).
|
|
259
|
+
|
|
177
260
|
### Git Mode
|
|
178
261
|
|
|
179
262
|
The `git.mode` field controls whether git integration is active:
|
|
@@ -207,7 +290,7 @@ Plan-Build-Run uses Claude Code hooks (defined in `hooks/hooks.json`) to enforce
|
|
|
207
290
|
|
|
208
291
|
The commit validation hook (`PreToolUse` on Bash commands) enforces the commit format:
|
|
209
292
|
- Checks that `git commit -m "..."` messages match the pattern: `{type}({scope}): {description}`
|
|
210
|
-
- Valid types: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `wip`
|
|
293
|
+
- Valid types: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `wip`, `revert`
|
|
211
294
|
- Allows merge commits (starting with "Merge")
|
|
212
295
|
- Allows quick-task, planning, and WIP scope patterns
|
|
213
296
|
- Blocks commits with sensitive file patterns (`.env`, `.key`, `.pem`, credentials) unless they match safe patterns (`.example`, `.template`, `.sample`, test directories)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Git Planning Commit
|
|
2
|
+
|
|
3
|
+
Use git directly for `.planning/` file commits. Check `commit_docs` in config and `.gitignore` before committing. If `commit_docs: false` in config or `.planning/` is gitignored, skip committing planning files.
|
|
4
|
+
|
|
5
|
+
## Commit via git
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Check if .planning/ is gitignored first
|
|
9
|
+
git check-ignore -q .planning/ && echo "SKIP: .planning/ is gitignored" || git add .planning/STATE.md .planning/ROADMAP.md && git commit -m "docs({scope}): {description}"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Amend previous commit
|
|
13
|
+
|
|
14
|
+
To fold `.planning/` file changes into the previous commit:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
git add .planning/codebase/*.md && git commit --amend --no-edit
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Commit Message Patterns
|
|
21
|
+
|
|
22
|
+
| Command | Scope | Example |
|
|
23
|
+
|---------|-------|---------|
|
|
24
|
+
| plan-phase | phase | `docs(phase-03): create authentication plans` |
|
|
25
|
+
| execute-phase | phase | `docs(phase-03): complete authentication phase` |
|
|
26
|
+
| new-milestone | milestone | `docs: start milestone v1.1` |
|
|
27
|
+
| remove-phase | chore | `chore: remove phase 17 (dashboard)` |
|
|
28
|
+
| insert-phase | phase | `docs: insert phase 16.1 (critical fix)` |
|
|
29
|
+
| add-phase | phase | `docs: add phase 07 (settings page)` |
|
|
30
|
+
|
|
31
|
+
## When to Skip
|
|
32
|
+
|
|
33
|
+
- `commit_docs: false` in config
|
|
34
|
+
- `.planning/` is gitignored
|
|
35
|
+
- No changes to commit (check with `git status --porcelain .planning/`)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Model Profile Resolution
|
|
2
|
+
|
|
3
|
+
Resolve model profile once at the start of orchestration, then use it for all Task spawns.
|
|
4
|
+
|
|
5
|
+
## Resolution Pattern
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Default: `balanced` if not set or config missing.
|
|
12
|
+
|
|
13
|
+
## Lookup Table
|
|
14
|
+
|
|
15
|
+
@${CLAUDE_PLUGIN_ROOT}/references/model-profiles.md
|
|
16
|
+
|
|
17
|
+
Look up the agent in the table for the resolved profile. Pass the model parameter to Task calls:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Task(
|
|
21
|
+
prompt="...",
|
|
22
|
+
subagent_type="pbr-planner",
|
|
23
|
+
model="{resolved_model}" # "inherit", "sonnet", or "haiku"
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Note:** Opus-tier agents resolve to `"inherit"` (not `"opus"`). This causes the agent to use the parent session's model, avoiding conflicts with organization policies that may block specific opus versions.
|
|
28
|
+
|
|
29
|
+
## Usage
|
|
30
|
+
|
|
31
|
+
1. Resolve once at orchestration start
|
|
32
|
+
2. Store the profile value
|
|
33
|
+
3. Look up each agent's model from the table when spawning
|
|
34
|
+
4. Pass model parameter to each Task call (values: `"inherit"`, `"sonnet"`, `"haiku"`)
|
|
@@ -4,9 +4,29 @@ How Plan-Build-Run maps agents to models and how to configure model selection.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Session Model (Orchestrator)
|
|
8
|
+
|
|
9
|
+
The orchestrator is your main Claude Code session -- it reads skills, manages state, and routes work to agents. Its model is whatever you selected in Claude Code (not controlled by PBR's `config.json`).
|
|
10
|
+
|
|
11
|
+
**Cost impact:** The orchestrator accounts for roughly 40% of total session cost. Agents set to `inherit` (planner, executor, debugger, general in the `balanced` profile) also use this model. Switching your session from Opus to Sonnet reduces cost for both the orchestrator and all `inherit` agents.
|
|
12
|
+
|
|
13
|
+
**Recommendations:**
|
|
14
|
+
|
|
15
|
+
| Goal | Session Model | Config Adjustment |
|
|
16
|
+
|------|---------------|-------------------|
|
|
17
|
+
| Maximum quality | Opus | None needed -- `inherit` agents get Opus |
|
|
18
|
+
| Balanced cost/quality | Sonnet | None needed -- `inherit` agents get Sonnet, which handles most tasks well |
|
|
19
|
+
| Cheap orchestration, Opus agents | Sonnet | Set `planner: "opus"`, `executor: "opus"`, `debugger: "opus"` to override inherit |
|
|
20
|
+
|
|
21
|
+
Sonnet 4.6 handles orchestration tasks (state reading, routing decisions, context assembly) effectively. Reserve Opus for agents doing complex reasoning, architecture, or novel code generation.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
7
25
|
## Agent-to-Model Mapping
|
|
8
26
|
|
|
9
|
-
Each Plan-Build-Run agent
|
|
27
|
+
Each Plan-Build-Run agent's model is controlled by `config.json models.*`. When no config entry exists for an agent, the agent inherits the session model.
|
|
28
|
+
|
|
29
|
+
The `model:` frontmatter field has been removed from PBR agent definitions — `config.json` is now the sole source of truth for agent model assignment.
|
|
10
30
|
|
|
11
31
|
### Default Agent Models
|
|
12
32
|
|
|
@@ -22,14 +42,16 @@ Each Plan-Build-Run agent has a default model specified in its agent definition
|
|
|
22
42
|
| `codebase-mapper` | `sonnet` | Codebase analysis requires thorough reasoning |
|
|
23
43
|
| `synthesizer` | `haiku` | Synthesis is mechanical combination; speed over depth |
|
|
24
44
|
| `general` | `inherit` | Lightweight utility; inherits session model |
|
|
45
|
+
| `audit` | `inherit` | Session log analysis inherits session model |
|
|
46
|
+
| `dev-sync` | `inherit` | Cross-plugin sync is mechanical; inherits session model |
|
|
25
47
|
|
|
26
|
-
The `inherit` value means the agent uses whatever model the parent session is running (typically the user's configured Claude model).
|
|
48
|
+
The `inherit` value means the agent uses whatever model the parent session is running (typically the user's configured Claude model). Defaults listed above are the effective values from the `balanced` profile in `config.json`.
|
|
27
49
|
|
|
28
50
|
---
|
|
29
51
|
|
|
30
52
|
## Model Profile Presets
|
|
31
53
|
|
|
32
|
-
The `/pbr:
|
|
54
|
+
The `/pbr:settings model-profile {preset}` command sets all agent models at once using a preset:
|
|
33
55
|
|
|
34
56
|
| Profile | Researcher | Planner | Executor | Verifier | Int-Checker | Debugger | Mapper | Synthesizer |
|
|
35
57
|
|---------|-----------|---------|----------|----------|-------------|----------|--------|-------------|
|
|
@@ -45,17 +67,56 @@ The `/pbr:config model-profile {preset}` command sets all agent models at once u
|
|
|
45
67
|
- **budget**: All agents use haiku. Fastest and cheapest, but reduced quality for complex reasoning tasks. Suitable for well-defined, mechanical work.
|
|
46
68
|
- **adaptive**: Front-loads intelligence in research and planning (where decisions matter most), uses lighter models for mechanical execution and verification. Good cost-quality tradeoff.
|
|
47
69
|
|
|
70
|
+
### context_window_tokens per Profile
|
|
71
|
+
|
|
72
|
+
| Profile | context_window_tokens |
|
|
73
|
+
|---------|----------------------|
|
|
74
|
+
| `quality` | `1000000` |
|
|
75
|
+
| `balanced` | `200000` |
|
|
76
|
+
| `budget` | `200000` |
|
|
77
|
+
| `adaptive` | `200000` |
|
|
78
|
+
|
|
79
|
+
The `quality` profile targets Claude models with 1M context windows (e.g., Claude Opus with extended context). All other profiles default to 200000, matching Claude Sonnet and Haiku context windows. Adjust manually via `/pbr:settings` or by editing `config.json` if your model has a different context window size.
|
|
80
|
+
|
|
81
|
+
### 1M Context Feature Defaults per Profile
|
|
82
|
+
|
|
83
|
+
When using `/pbr:settings model-profile {preset}`, these feature defaults are also applied:
|
|
84
|
+
|
|
85
|
+
| Feature | quality | balanced | budget | adaptive |
|
|
86
|
+
|---------|---------|----------|--------|----------|
|
|
87
|
+
| `workflow.inline_execution` | `true` | `false` | `false` | `false` |
|
|
88
|
+
| `features.inline_verify` | `true` | `false` | `false` | `false` |
|
|
89
|
+
| `features.extended_context` | `true` | `false` | `false` | `false` |
|
|
90
|
+
| `workflow.phase_boundary_clear` | `"recommend"` | `"off"` | `"off"` | `"off"` |
|
|
91
|
+
| `workflow.autonomous` | `false` | `false` | `false` | `false` |
|
|
92
|
+
| `workflow.speculative_planning` | `false` | `false` | `false` | `false` |
|
|
93
|
+
| `workflow.phase_replay` | `false` | `false` | `false` | `false` |
|
|
94
|
+
| `planning.multi_phase` | `false` | `false` | `false` | `false` |
|
|
95
|
+
| `intel.enabled` | `false` | `false` | `false` | `false` |
|
|
96
|
+
| `intel.auto_update` | `false` | `false` | `false` | `false` |
|
|
97
|
+
| `intel.inject_on_start` | `false` | `false` | `false` | `false` |
|
|
98
|
+
| `context_ledger.enabled` | `true` | `false` | `false` | `false` |
|
|
99
|
+
| `context_ledger.stale_after_minutes` | `60` | `60` | `60` | `60` |
|
|
100
|
+
| `learnings.enabled` | `true` | `false` | `false` | `false` |
|
|
101
|
+
| `learnings.read_depth` | `5` | `3` | `3` | `3` |
|
|
102
|
+
| `context_budget.threshold_curve` | `"adaptive"` | `"linear"` | `"linear"` | `"linear"` |
|
|
103
|
+
| `verification.confidence_gate` | `false` | `false` | `false` | `false` |
|
|
104
|
+
| `verification.confidence_threshold` | `1.0` | `1.0` | `1.0` | `1.0` |
|
|
105
|
+
| `gates.checkpoint_auto_resolve` | `"none"` | `"none"` | `"none"` | `"none"` |
|
|
106
|
+
|
|
107
|
+
**Quality profile rationale:** Enables safe 1M-native features (learnings, inline execution, adaptive thresholds, context ledger, phase boundary recommendations). Keeps experimental features disabled (intel, autonomous, speculative planning, confidence gate, multi-phase planning) -- these require explicit opt-in via `/pbr:settings` or config.json.
|
|
108
|
+
|
|
48
109
|
---
|
|
49
110
|
|
|
50
111
|
## Configuring Models
|
|
51
112
|
|
|
52
113
|
### Per-Agent Configuration
|
|
53
114
|
|
|
54
|
-
Set an individual agent's model via `/pbr:
|
|
115
|
+
Set an individual agent's model via `/pbr:settings`:
|
|
55
116
|
|
|
56
117
|
```
|
|
57
|
-
/pbr:
|
|
58
|
-
/pbr:
|
|
118
|
+
/pbr:settings model executor sonnet
|
|
119
|
+
/pbr:settings model verifier opus
|
|
59
120
|
```
|
|
60
121
|
|
|
61
122
|
Or edit `config.json` directly:
|
|
@@ -88,6 +149,28 @@ Note: Claude Code 2.1.45+ supports Sonnet 4.6. Model values are abstract names
|
|
|
88
149
|
|
|
89
150
|
---
|
|
90
151
|
|
|
152
|
+
## Custom Profiles
|
|
153
|
+
|
|
154
|
+
The `model_profiles` key in `config.json` lets you define named profiles beyond the four built-in presets. Each profile is a partial map of agent names to model strings — omitted agents fall back to the active profile defaults.
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"model_profiles": {
|
|
159
|
+
"my-profile": {
|
|
160
|
+
"executor": "opus",
|
|
161
|
+
"planner": "opus",
|
|
162
|
+
"synthesizer": "sonnet"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Activate a custom profile with `/pbr:settings model-profile my-profile`. The profile merges with the `balanced` preset: any agent not listed in your custom profile uses its `balanced` default.
|
|
169
|
+
|
|
170
|
+
Partial profiles are allowed — you can override just the agents you care about. This is useful for temporarily upgrading a single agent without specifying the rest.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
91
174
|
## Model Selection in Skill Orchestration
|
|
92
175
|
|
|
93
176
|
Skills that spawn subagents use the `model` parameter in `Task()` calls. Some skills hardcode a lighter model for specific tasks:
|
|
@@ -96,4 +179,4 @@ Skills that spawn subagents use the `model` parameter in `Task()` calls. Some sk
|
|
|
96
179
|
- **Build skill**: Spawns codebase mapper updates with `model: "haiku"` for incremental map refreshes
|
|
97
180
|
- **Plan skill**: Uses the configured `planner` model for main planning work
|
|
98
181
|
|
|
99
|
-
The `subagent_type` parameter automatically loads the agent definition, and the model from `config.json` takes precedence over
|
|
182
|
+
The `subagent_type` parameter automatically loads the agent definition, and the model from `config.json` takes precedence over any agent-level model setting.
|
|
@@ -14,7 +14,7 @@ Plan-Build-Run uses adaptive model selection to balance cost and capability.
|
|
|
14
14
|
|-----------|-------|-----------|
|
|
15
15
|
| simple | haiku | Fast, cheap — sufficient for mechanical changes |
|
|
16
16
|
| medium | sonnet | Good balance for standard feature work |
|
|
17
|
-
| complex | inherit | Uses session model —
|
|
17
|
+
| complex | inherit | Uses session model — see `model-profiles.md` Session Model section for cost implications |
|
|
18
18
|
|
|
19
19
|
## Override Mechanisms
|
|
20
20
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Node Repair System
|
|
2
|
+
|
|
3
|
+
When a task fails during execution, the executor follows this repair taxonomy:
|
|
4
|
+
|
|
5
|
+
## RETRY (Attempt 1)
|
|
6
|
+
|
|
7
|
+
**Trigger**: Task verification fails (test error, lint error, missing artifact).
|
|
8
|
+
**Action**: Re-attempt with adjustment based on the error.
|
|
9
|
+
**Budget**: 1 retry per task (2 total attempts before escalating).
|
|
10
|
+
**What changes**: Fix the specific error, don't restructure.
|
|
11
|
+
|
|
12
|
+
## DECOMPOSE (Attempt 2)
|
|
13
|
+
|
|
14
|
+
**Trigger**: Retry failed. Task may be too complex.
|
|
15
|
+
**Action**: Split the task into 2-3 sub-tasks and execute them sequentially.
|
|
16
|
+
**Budget**: Sub-tasks get 1 attempt each (no recursion).
|
|
17
|
+
**What changes**: Break down, don't change approach.
|
|
18
|
+
|
|
19
|
+
## PRUNE (Skip with justification)
|
|
20
|
+
|
|
21
|
+
**Trigger**: Decomposed sub-tasks also fail. Task is not critical-path.
|
|
22
|
+
**Action**: Skip the task, document in SUMMARY.md deviations (Rule 3).
|
|
23
|
+
**Condition**: Only if task is NOT in must_haves. Must-have tasks cannot be pruned.
|
|
24
|
+
**What changes**: Remove from execution, add to deferred.
|
|
25
|
+
|
|
26
|
+
## ESCALATE (Ask user)
|
|
27
|
+
|
|
28
|
+
**Trigger**: Must-have task failed after retry+decompose, OR task requires decisions outside plan scope.
|
|
29
|
+
**Action**: Stop execution. Present the failure with context. Ask user for direction.
|
|
30
|
+
**What changes**: Nothing -- user decides next step.
|
|
31
|
+
|
|
32
|
+
## Budget Summary
|
|
33
|
+
|
|
34
|
+
- 2 attempts per task (original + 1 retry)
|
|
35
|
+
- 1 decompose pass (2-3 sub-tasks, 1 attempt each)
|
|
36
|
+
- Then PRUNE or ESCALATE
|
|
37
|
+
- Total max attempts before giving up: ~5 per original task
|
|
38
|
+
|
|
39
|
+
## Executor Integration
|
|
40
|
+
|
|
41
|
+
The executor reads this reference before execution. For each task:
|
|
42
|
+
|
|
43
|
+
1. Execute task
|
|
44
|
+
2. Verify task (run tests, check artifacts)
|
|
45
|
+
3. If verification fails -> RETRY
|
|
46
|
+
4. If retry fails -> DECOMPOSE
|
|
47
|
+
5. If sub-tasks fail -> PRUNE (if not must-have) or ESCALATE (if must-have)
|
|
48
|
+
6. Record repair actions in SUMMARY.md deviations
|