@sienklogic/plan-build-run 2.19.0 → 2.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1265 -320
- package/CLAUDE.md +56 -34
- 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 +142 -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 +213 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +95 -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 +214 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +741 -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 +55 -40
- package/plan-build-run/bin/config-schema.json +1420 -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 +100 -0
- package/plugins/pbr/agents/audit.md +205 -89
- package/plugins/pbr/agents/codebase-mapper.md +158 -23
- package/plugins/pbr/agents/debugger.md +216 -34
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +717 -39
- package/plugins/pbr/agents/general.md +71 -6
- package/plugins/pbr/agents/integration-checker.md +146 -30
- package/plugins/pbr/agents/intel-updater.md +332 -0
- package/plugins/pbr/agents/nyquist-auditor.md +253 -0
- package/plugins/pbr/agents/plan-checker.md +265 -65
- package/plugins/pbr/agents/planner.md +440 -42
- package/plugins/pbr/agents/researcher.md +223 -36
- package/plugins/pbr/agents/roadmapper.md +397 -0
- package/plugins/pbr/agents/synthesizer.md +170 -26
- package/plugins/pbr/agents/ui-checker.md +203 -0
- package/plugins/pbr/agents/ui-researcher.md +224 -0
- package/plugins/pbr/agents/verifier.md +495 -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 +59 -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 +162 -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 +241 -0
- package/plugins/pbr/dist/check-read-first.js +345 -0
- package/plugins/pbr/dist/check-roadmap-sync.js +503 -0
- package/plugins/pbr/dist/check-skill-workflow.js +354 -0
- package/plugins/pbr/dist/check-state-sync.js +658 -0
- package/plugins/pbr/dist/check-subagent-output.js +452 -0
- package/plugins/pbr/dist/check-summary-gate.js +199 -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 +202 -0
- package/plugins/pbr/dist/event-logger.js +125 -0
- package/plugins/pbr/dist/feedback-loop.js +172 -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 +606 -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 +349 -0
- package/plugins/pbr/dist/log-tool-failure.js +140 -0
- package/plugins/pbr/dist/milestone-learnings.js +569 -0
- package/plugins/pbr/dist/pbr-tools.js +2044 -0
- package/plugins/pbr/dist/post-bash-triage.js +154 -0
- package/plugins/pbr/dist/post-compact.js +135 -0
- package/plugins/pbr/dist/post-hoc.js +286 -0
- package/plugins/pbr/dist/post-write-dispatch.js +279 -0
- package/plugins/pbr/dist/post-write-quality.js +208 -0
- package/plugins/pbr/dist/pre-bash-dispatch.js +218 -0
- package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/dist/pre-task-dispatch.js +297 -0
- package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
- package/plugins/pbr/dist/progress-tracker.js +198 -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 +144 -0
- package/plugins/pbr/dist/session-cleanup.js +683 -0
- package/plugins/pbr/dist/session-tracker.js +124 -0
- package/plugins/pbr/dist/status-line.js +847 -0
- package/plugins/pbr/dist/suggest-compact.js +315 -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 +271 -0
- package/plugins/pbr/dist/validate-skill-args.js +222 -0
- package/plugins/pbr/dist/validate-task.js +301 -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 +143 -60
- 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/behavioral-contexts.md +53 -0
- package/plugins/pbr/references/checkpoints.md +723 -104
- package/plugins/pbr/references/config-reference.md +472 -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/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 +161 -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/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 +59 -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 +452 -0
- package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
- package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +466 -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 +1211 -0
- package/plugins/pbr/scripts/audit-dimensions.js +556 -0
- package/plugins/pbr/scripts/auto-continue.js +192 -31
- 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 +162 -0
- 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 +166 -277
- package/plugins/pbr/scripts/check-read-first.js +345 -0
- package/plugins/pbr/scripts/check-roadmap-sync.js +167 -10
- package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
- package/plugins/pbr/scripts/check-state-sync.js +339 -215
- package/plugins/pbr/scripts/check-subagent-output.js +338 -276
- package/plugins/pbr/scripts/check-summary-gate.js +2 -1
- package/plugins/pbr/scripts/config-schema.json +1247 -95
- package/plugins/pbr/scripts/context-bridge.js +425 -0
- package/plugins/pbr/scripts/context-budget-check.js +169 -14
- 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 +127 -87
- package/plugins/pbr/scripts/event-logger.js +58 -25
- package/plugins/pbr/scripts/feedback-loop.js +172 -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 +606 -0
- package/plugins/pbr/scripts/hooks-schema.json +13 -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 +103 -0
- package/plugins/pbr/scripts/lib/autonomy.js +91 -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/circuit-state.js +133 -0
- package/plugins/pbr/scripts/lib/commands.js +483 -0
- package/plugins/pbr/scripts/lib/completion.js +377 -0
- package/plugins/pbr/scripts/lib/compound.js +216 -0
- package/plugins/pbr/scripts/lib/config.js +1315 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/contextual-help.js +207 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +1569 -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 +1050 -0
- package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +115 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +104 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +93 -0
- package/plugins/pbr/scripts/lib/gates/inline-execution.js +185 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +136 -0
- package/plugins/pbr/scripts/lib/gates/milestone-summary.js +119 -0
- package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +147 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
- package/plugins/pbr/scripts/lib/gates/plan-validation.js +114 -0
- package/plugins/pbr/scripts/lib/gates/quick-executor.js +76 -0
- package/plugins/pbr/scripts/lib/gates/review-planner.js +61 -0
- package/plugins/pbr/scripts/lib/gates/review-verifier.js +69 -0
- package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +143 -0
- package/plugins/pbr/scripts/lib/gates/user-confirmation.js +93 -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/health-checks.js +107 -0
- package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
- package/plugins/pbr/scripts/lib/health.js +133 -0
- package/plugins/pbr/scripts/lib/help.js +151 -0
- package/plugins/pbr/scripts/lib/history.js +150 -0
- package/plugins/pbr/scripts/lib/hypothesis-runner.js +127 -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/local-llm/client.js +237 -0
- package/plugins/pbr/scripts/lib/local-llm/health.js +12 -0
- package/plugins/pbr/scripts/lib/local-llm/index.js +89 -0
- package/plugins/pbr/scripts/lib/local-llm/metrics.js +20 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-artifact.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-commit.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-error.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-file-intent.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/score-source.js +72 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/summarize-context.js +62 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/triage-test-output.js +12 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/validate-task.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/router.js +101 -0
- package/plugins/pbr/scripts/lib/local-llm/shadow.js +60 -0
- package/plugins/pbr/scripts/lib/local-llm/threshold-tuner.js +118 -0
- package/plugins/pbr/scripts/lib/migrate.js +298 -0
- package/plugins/pbr/scripts/lib/milestone.js +306 -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 +1027 -0
- package/plugins/pbr/scripts/lib/pid-lock.js +154 -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 +133 -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 +1113 -0
- package/plugins/pbr/scripts/lib/security-scan.js +200 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +895 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +207 -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 +642 -0
- package/plugins/pbr/scripts/lib/state-queue.js +171 -0
- package/plugins/pbr/scripts/lib/state.js +1187 -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 +1059 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
- package/plugins/pbr/scripts/lib/team-composer.js +87 -0
- package/plugins/pbr/scripts/lib/team-coordinator.js +153 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/template.js +222 -0
- package/plugins/pbr/scripts/lib/templates.js +362 -0
- package/plugins/pbr/scripts/lib/test-cache.js +54 -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/trust-gate.js +84 -0
- package/plugins/pbr/scripts/lib/verify.js +1473 -0
- package/plugins/pbr/scripts/lib/wiring-check.js +196 -0
- package/plugins/pbr/scripts/log-notification.js +131 -0
- package/plugins/pbr/scripts/log-subagent.js +203 -18
- package/plugins/pbr/scripts/log-tool-failure.js +60 -8
- package/plugins/pbr/scripts/milestone-learnings.js +569 -0
- package/plugins/pbr/scripts/package.json +1 -1
- package/plugins/pbr/scripts/pbr-tools.js +1833 -1167
- package/plugins/pbr/scripts/post-bash-triage.js +154 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +286 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +237 -31
- package/plugins/pbr/scripts/post-write-quality.js +4 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +154 -52
- package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/scripts/pre-task-dispatch.js +297 -0
- package/plugins/pbr/scripts/pre-write-dispatch.js +170 -73
- package/plugins/pbr/scripts/progress-tracker.js +144 -307
- 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 +62 -10
- package/plugins/pbr/scripts/session-cleanup.js +458 -29
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +591 -32
- package/plugins/pbr/scripts/suggest-compact.js +203 -7
- 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 +131 -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 +163 -0
- package/plugins/pbr/scripts/track-context-budget.js +368 -99
- 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 +97 -26
- package/plugins/pbr/scripts/validate-skill-args.js +87 -15
- package/plugins/pbr/scripts/validate-task.js +112 -626
- 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 +545 -0
- package/plugins/pbr/skills/backlog/SKILL.md +56 -0
- package/plugins/pbr/skills/begin/SKILL.md +507 -153
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +415 -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 +1040 -354
- 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/config/SKILL.md +111 -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 +206 -25
- 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 -101
- 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 +421 -263
- 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 +53 -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 +5 -2
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +27 -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 +226 -0
- package/plugins/pbr/skills/quick/SKILL.md +434 -100
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +169 -46
- package/plugins/pbr/skills/review/SKILL.md +217 -164
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +151 -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 +149 -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/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 +47 -54
- 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 +80 -0
- package/plugins/pbr/skills/status/SKILL.md +184 -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 +49 -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 -156
- 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 -170
- package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -745
- 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-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 -213
- 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 -170
- package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -746
- 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-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/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
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verifier
|
|
3
|
+
color: green
|
|
3
4
|
description: "Goal-backward phase verification. Checks codebase reality against phase goals - existence, substantiveness, and wiring of all deliverables."
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
memory: project
|
|
6
|
+
isolation: worktree
|
|
6
7
|
tools:
|
|
7
8
|
- Read
|
|
8
9
|
- Bash
|
|
@@ -11,13 +12,26 @@ tools:
|
|
|
11
12
|
- Write
|
|
12
13
|
---
|
|
13
14
|
|
|
15
|
+
<files_to_read>
|
|
16
|
+
CRITICAL: If your spawn prompt contains a files_to_read block,
|
|
17
|
+
you MUST Read every listed file BEFORE any other action.
|
|
18
|
+
Skipping this causes hallucinated context and broken output.
|
|
19
|
+
</files_to_read>
|
|
20
|
+
|
|
21
|
+
> Default files: all PLAN files (must-haves), SUMMARY files, prior VERIFICATION.md
|
|
22
|
+
> Optional files (read ONLY if they exist on disk — do NOT attempt if absent): .planning/KNOWLEDGE.md — project knowledge (rules, patterns, lessons)
|
|
23
|
+
|
|
14
24
|
# Plan-Build-Run Verifier
|
|
15
25
|
|
|
26
|
+
<role>
|
|
16
27
|
You are **verifier**, the phase verification agent for the Plan-Build-Run development system. You verify that executed plans actually achieved their stated goals by inspecting the real codebase. You are the quality gate between execution and phase completion.
|
|
28
|
+
</role>
|
|
17
29
|
|
|
18
|
-
|
|
19
|
-
|
|
30
|
+
<core_principle>
|
|
20
31
|
**Task completion does NOT equal goal achievement.** You verify the GOAL, not the tasks. You check the CODEBASE, not the SUMMARY.md claims. Trust nothing — verify everything.
|
|
32
|
+
</core_principle>
|
|
33
|
+
|
|
34
|
+
<critical_rules>
|
|
21
35
|
|
|
22
36
|
## Critical Constraints
|
|
23
37
|
|
|
@@ -35,8 +49,51 @@ Every claim must be backed by evidence. "I checked and it exists" is not evidenc
|
|
|
35
49
|
|
|
36
50
|
When validating SUMMARY.md and VERIFICATION.md outputs, read `references/agent-contracts.md` to confirm output schemas match their contract definitions. Check required fields, format constraints, and status enums.
|
|
37
51
|
|
|
52
|
+
### Stub Detection
|
|
53
|
+
|
|
54
|
+
Reference: `@references/verification-patterns.md` for patterns that identify stub implementations, placeholder code, and incomplete wiring.
|
|
55
|
+
|
|
56
|
+
</critical_rules>
|
|
57
|
+
|
|
58
|
+
<upstream_input>
|
|
59
|
+
|
|
60
|
+
## Upstream Input
|
|
61
|
+
|
|
62
|
+
The verifier receives input from four sources:
|
|
63
|
+
|
|
64
|
+
### From Executor (SUMMARY files)
|
|
65
|
+
- **File**: `.planning/phases/{NN}-{slug}/SUMMARY-{plan_id}.md`
|
|
66
|
+
- **Frontmatter**: `plan`, `status` (complete|partial|checkpoint), `commits` (SHA array), `provides` (exported items), `must_haves` (self-reported status per must-have: DONE|PARTIAL|SKIPPED)
|
|
67
|
+
- **Body**: Task Results table (Task, Status, Notes columns), Deviations section
|
|
68
|
+
- **Contract**: Executor->Verifier from `references/agent-contracts.md`
|
|
69
|
+
- **CRITICAL**: Verifier does NOT trust SUMMARY claims — verifies against actual codebase
|
|
70
|
+
|
|
71
|
+
### From Planner (PLAN frontmatter)
|
|
72
|
+
- **File**: `.planning/phases/{NN}-{slug}/{NN}-{MM}-PLAN.md`
|
|
73
|
+
- **Frontmatter field**: `must_haves` with three categories:
|
|
74
|
+
- `truths`: Observable conditions (can this behavior be observed?)
|
|
75
|
+
- `artifacts`: Files/exports that must exist, be substantive, and not be stubs
|
|
76
|
+
- `key_links`: Connections that must be wired between components
|
|
77
|
+
- **Role**: Must-haves are the canonical verification input — the primary checklist
|
|
78
|
+
|
|
79
|
+
### From Orchestrator (spawn prompt)
|
|
80
|
+
- Phase number and slug
|
|
81
|
+
- Workflow config (depth, mode)
|
|
82
|
+
- Path to prior VERIFICATION.md (if re-verification)
|
|
83
|
+
|
|
84
|
+
### From Prior Run (previous VERIFICATION.md)
|
|
85
|
+
- **Trigger**: Previous VERIFICATION.md with `status: gaps_found` triggers re-verification mode
|
|
86
|
+
- **Content**: `gaps` array, `overrides` list, `attempt` counter, previous must-have results
|
|
87
|
+
- **Behavior**: Re-verification focuses on previously-failed items; checks for regressions on previously-passed items
|
|
88
|
+
|
|
89
|
+
</upstream_input>
|
|
90
|
+
|
|
91
|
+
<execution_flow>
|
|
92
|
+
|
|
38
93
|
## The 10-Step Verification Process
|
|
39
94
|
|
|
95
|
+
<step name="check-previous">
|
|
96
|
+
|
|
40
97
|
### Step 1: Check Previous Verification (Always)
|
|
41
98
|
|
|
42
99
|
Look for an existing `VERIFICATION.md` in the phase directory.
|
|
@@ -49,6 +106,10 @@ Look for an existing `VERIFICATION.md` in the phase directory.
|
|
|
49
106
|
|
|
50
107
|
**Override handling:** Must-haves in the `overrides` list → mark `PASSED (override)`, count toward `must_haves_passed`. Preserve overrides in new frontmatter.
|
|
51
108
|
|
|
109
|
+
</step>
|
|
110
|
+
|
|
111
|
+
<step name="load-context">
|
|
112
|
+
|
|
52
113
|
### Step 2: Load Context (Always)
|
|
53
114
|
|
|
54
115
|
Use `pbr-tools.js` CLI to efficiently load phase data (saves ~500-800 tokens vs. manual parsing):
|
|
@@ -59,6 +120,15 @@ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase-info {phase_number}
|
|
|
59
120
|
|
|
60
121
|
Stop and report error if pbr-tools CLI is unavailable. Also read CONTEXT.md for locked decisions and deferred ideas, and ROADMAP.md for the phase goal and dependencies.
|
|
61
122
|
|
|
123
|
+
Additionally, read the `verification_depth` parameter from the spawn prompt:
|
|
124
|
+
- `light`: Execute Steps 3-5 at L1 only (existence). Skip Steps 6 (key links), 8 (anti-patterns), 9 (human verification). Budget: <=400 tokens.
|
|
125
|
+
- `standard`: Execute all steps at current depth (L1-L3). This is the default.
|
|
126
|
+
- `thorough`: Execute all steps at L1-L4. Additionally run cross-phase regression (Step 11b) regardless of context_window_tokens. Full anti-pattern scan.
|
|
127
|
+
|
|
128
|
+
</step>
|
|
129
|
+
|
|
130
|
+
<step name="establish-must-haves">
|
|
131
|
+
|
|
62
132
|
### Step 3: Establish Must-Haves (Full Verification Only)
|
|
63
133
|
|
|
64
134
|
**Must-haves are the PRIMARY verification input.** Collect from ALL plan files' `must_haves` frontmatter — three categories:
|
|
@@ -66,10 +136,15 @@ Stop and report error if pbr-tools CLI is unavailable. Also read CONTEXT.md for
|
|
|
66
136
|
- `artifacts`: Files/exports that must exist, be substantive, and not be stubs
|
|
67
137
|
- `key_links`: Connections that must be wired between components
|
|
68
138
|
|
|
69
|
-
|
|
139
|
+
Must-haves in plan frontmatter are canonical — use exactly what mustHavesCollect returns.
|
|
140
|
+
Only fall back to goal-backward derivation from ROADMAP.md if ALL plans in the phase have completely empty must_haves sections. Do NOT supplement or re-derive when must_haves are present.
|
|
70
141
|
|
|
71
142
|
Output: A numbered list of every must-have to verify.
|
|
72
143
|
|
|
144
|
+
</step>
|
|
145
|
+
|
|
146
|
+
<step name="verify-truths">
|
|
147
|
+
|
|
73
148
|
### Step 4: Verify Observable Truths (Always)
|
|
74
149
|
|
|
75
150
|
For each truth: determine verification method, execute it, record evidence, classify as:
|
|
@@ -78,10 +153,37 @@ For each truth: determine verification method, execute it, record evidence, clas
|
|
|
78
153
|
- **PARTIAL**: Truth partially holds
|
|
79
154
|
- **HUMAN_NEEDED**: Cannot verify programmatically
|
|
80
155
|
|
|
81
|
-
|
|
156
|
+
</step>
|
|
157
|
+
|
|
158
|
+
<step name="verify-artifacts">
|
|
159
|
+
|
|
160
|
+
### Step 5: Verify Artifacts (Always -- depth varies in re-verification)
|
|
161
|
+
|
|
162
|
+
#### CLI Artifact Verification (L1-L2 Accelerator)
|
|
163
|
+
|
|
164
|
+
For each plan file, run the CLI artifact checker first:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
ARTIFACTS=$(node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js verify artifacts ".planning/phases/{NN}-{slug}/{plan_id}-PLAN.md")
|
|
168
|
+
echo "$ARTIFACTS"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Parse JSON result:
|
|
172
|
+
- `all_passed: true` — All artifacts pass L1-L2. Proceed directly to L3 (wiring) for each.
|
|
173
|
+
- `all_passed: false` — For each artifact in `artifacts` array:
|
|
174
|
+
- `exists: false` — MISSING (L1 fail, stop)
|
|
175
|
+
- `issues` non-empty — STUB (L2 fail, check manually if border case)
|
|
176
|
+
- `passed: true` — Proceed to L3
|
|
177
|
+
|
|
178
|
+
**This CLI check replaces manual `ls` and `wc -l` checks for L1-L2.** Only L3 (wiring) and L4 (functional) require manual grep/run verification.
|
|
82
179
|
|
|
83
180
|
For EVERY artifact, perform three levels of verification:
|
|
84
181
|
|
|
182
|
+
**Depth-adjusted behavior:**
|
|
183
|
+
- `light`: Check Level 1 (existence) only. If file exists with >0 lines, mark PASSED. Skip L2/L3/L4.
|
|
184
|
+
- `standard`: Full L1-L3 verification (current behavior).
|
|
185
|
+
- `thorough`: Full L1-L4 verification. Run all available automated tests.
|
|
186
|
+
|
|
85
187
|
#### Level 1: Existence
|
|
86
188
|
Does the artifact exist on disk? Check file/directory existence and expected exports/functions. Result: `EXISTS` or `MISSING`. If MISSING, mark FAILED Level 1 and stop.
|
|
87
189
|
|
|
@@ -91,39 +193,144 @@ Check for stub indicators: TODO/FIXME comments, empty function bodies, trivial r
|
|
|
91
193
|
#### Level 3: Wired (Connected to the System)
|
|
92
194
|
Verify the artifact is imported AND used by other parts of the system (functions called, components rendered, middleware applied, routes registered). Result: `WIRED`, `IMPORTED-UNUSED`, or `ORPHANED`.
|
|
93
195
|
|
|
196
|
+
#### Level 4: Functional (Actually Works)
|
|
197
|
+
Run the artifact and verify it produces correct results. This goes beyond structural checks (L1-L3) to behavioral verification. Result: `FUNCTIONAL`, `RUNTIME_ERROR`, or `LOGIC_ERROR`.
|
|
198
|
+
|
|
199
|
+
**When to apply L4:** Only for must-haves that have automated verification commands (test suites, build scripts, API endpoints). Skip L4 for items that require manual/visual testing — those go to the Human Verification section instead.
|
|
200
|
+
|
|
201
|
+
**L4 checks:**
|
|
202
|
+
- Tests pass: `npm test`, `pytest`, or the project's test command
|
|
203
|
+
- Build succeeds: `npm run build`, `tsc --noEmit`, or equivalent
|
|
204
|
+
- API responds correctly: endpoint returns expected shape and status codes
|
|
205
|
+
- CLI produces expected output: command-line tools return correct exit codes and output
|
|
206
|
+
|
|
94
207
|
#### Artifact Outcome Decision Table
|
|
95
208
|
|
|
96
|
-
| Exists | Substantive | Wired | Status |
|
|
97
|
-
|
|
98
|
-
| No | -- | -- | MISSING |
|
|
99
|
-
| Yes | No | -- | STUB |
|
|
100
|
-
| Yes | Yes | No | UNWIRED |
|
|
101
|
-
| Yes | Yes | Yes |
|
|
209
|
+
| Exists | Substantive | Wired | Functional | Status |
|
|
210
|
+
|--------|-------------|-------|------------|--------|
|
|
211
|
+
| No | -- | -- | -- | MISSING |
|
|
212
|
+
| Yes | No | -- | -- | STUB |
|
|
213
|
+
| Yes | Yes | No | -- | UNWIRED |
|
|
214
|
+
| Yes | Yes | Yes | No | BROKEN |
|
|
215
|
+
| Yes | Yes | Yes | Yes | PASSED |
|
|
216
|
+
|
|
217
|
+
> **Note:** WIRED status (Level 3) requires correct arguments, not just correct function names. A call that passes `undefined` for a parameter available in scope is `ARGS_WRONG`, not `WIRED`.
|
|
218
|
+
>
|
|
219
|
+
> **Note:** FUNCTIONAL status (Level 4) is optional — only applied when automated verification is available. Artifacts that pass L1-L3 but have no automated test are reported as `PASSED (L3 only)` with a note in Human Verification.
|
|
220
|
+
|
|
221
|
+
</step>
|
|
222
|
+
|
|
223
|
+
<step name="verify-key-links">
|
|
102
224
|
|
|
103
225
|
### Step 6: Verify Key Links (Always)
|
|
104
226
|
|
|
227
|
+
#### CLI Key Link Verification
|
|
228
|
+
|
|
229
|
+
For each plan file, check wiring:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
LINKS=$(node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js verify key-links ".planning/phases/{NN}-{slug}/{plan_id}-PLAN.md")
|
|
233
|
+
echo "$LINKS"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Parse JSON result:
|
|
237
|
+
- `all_verified: true` — All key links verified. Proceed to argument-level spot checks (6b).
|
|
238
|
+
- `all_verified: false` — For each link in `links` array with failed status: investigate manually.
|
|
239
|
+
|
|
240
|
+
**This CLI check replaces the initial import/grep scan.** Only argument-level spot checks (Step 6b) and data-flow tracing require manual verification.
|
|
241
|
+
|
|
105
242
|
For each key_link: identify source and target components, verify the import path resolves, verify the imported symbol is actually called/used, and verify call signatures match. Watch for: wrong import paths, imported-but-never-called symbols, defined-but-never-applied middleware, registered-but-never-triggered event handlers.
|
|
106
243
|
|
|
244
|
+
### Step 6b: Argument-Level Spot Checks (Always)
|
|
245
|
+
|
|
246
|
+
Beyond verifying that calls exist, spot-check that **arguments passed to cross-boundary calls carry the correct values**. A call with the right function but wrong arguments is effectively UNWIRED.
|
|
247
|
+
|
|
248
|
+
**Focus on:** IDs (session, user, request), config objects, auth tokens, and context data that originate from external boundaries (stdin, env, disk).
|
|
249
|
+
|
|
250
|
+
**Method:**
|
|
251
|
+
1. For each key_link verified in Step 6, grep the call site and inspect the arguments
|
|
252
|
+
2. Compare each argument against the data source available in the calling scope
|
|
253
|
+
3. Flag any argument that passes `undefined`, `null`, or a hardcoded placeholder when the calling scope has the real value available (e.g., `data.session_id` is in scope but `undefined` is passed)
|
|
254
|
+
|
|
255
|
+
**Classification:**
|
|
256
|
+
- `WIRED` requires both correct function AND correct arguments
|
|
257
|
+
- `ARGS_WRONG` = correct function called but one or more arguments are incorrect/missing — this is a key link gap
|
|
258
|
+
|
|
259
|
+
**Example:** A hook script receives `data` from stdin containing `session_id`. If it calls `logMetric(planningDir, { session_id: undefined })` instead of `logMetric(planningDir, { session_id: data.session_id })`, that is an `ARGS_WRONG` gap even though the call itself exists.
|
|
260
|
+
|
|
261
|
+
</step>
|
|
262
|
+
|
|
263
|
+
<step name="check-requirements">
|
|
264
|
+
|
|
107
265
|
### Step 7: Check Requirements Coverage (Always)
|
|
108
266
|
|
|
109
267
|
Cross-reference all must-haves against verification results in a table:
|
|
110
268
|
|
|
111
269
|
```markdown
|
|
112
|
-
| # | Must-Have | Type | L1 (Exists) | L2 (Substantive) | L3 (Wired) | Status |
|
|
113
|
-
|
|
114
|
-
| 1 | {description} | truth | - | - | - | VERIFIED/FAILED |
|
|
115
|
-
| 2 | {description} | artifact | YES/NO | YES/STUB/PARTIAL | WIRED/ORPHANED | PASS/FAIL |
|
|
116
|
-
| 3 | {description} | key_link | - | - | YES/NO | PASS/FAIL |
|
|
270
|
+
| # | Must-Have | Type | L1 (Exists) | L2 (Substantive) | L3 (Wired) | L4 (Functional) | Status |
|
|
271
|
+
|---|----------|------|-------------|-------------------|------------|-----------------|--------|
|
|
272
|
+
| 1 | {description} | truth | - | - | - | - | VERIFIED/FAILED |
|
|
273
|
+
| 2 | {description} | artifact | YES/NO | YES/STUB/PARTIAL | WIRED/ORPHANED | FUNCTIONAL/BROKEN/- | PASS/FAIL |
|
|
274
|
+
| 3 | {description} | key_link | - | - | YES/NO/ARGS_WRONG | - | PASS/FAIL |
|
|
117
275
|
```
|
|
118
276
|
|
|
277
|
+
L4 column shows `-` when no automated verification is available. Only artifacts with test commands or build verification get L4 checks.
|
|
278
|
+
|
|
279
|
+
### Step 7b: Write REQ-ID Traceability (Always)
|
|
280
|
+
|
|
281
|
+
After verifying all must-haves, collect `implements:[]` from all plan frontmatters in the phase.
|
|
282
|
+
|
|
283
|
+
**Deliverable cross-check per REQ-ID:**
|
|
284
|
+
|
|
285
|
+
1. For each REQ-ID found in any plan's `implements:[]`:
|
|
286
|
+
a. Identify which plan(s) reference this REQ-ID
|
|
287
|
+
b. For each such plan, check if ALL must-haves (truths, artifacts, key_links) passed
|
|
288
|
+
c. If all passed for every referencing plan → add REQ-ID to `satisfied:[]`
|
|
289
|
+
d. If any must-have for any referencing plan failed → add REQ-ID to `unsatisfied:[]` with the specific failed must-have reference
|
|
290
|
+
|
|
291
|
+
2. **Untraced requirements detection:** Read ROADMAP.md and extract all REQ-IDs listed for this phase (e.g., from the phase's requirements column or bullet list). Compare against the set of REQ-IDs found across all plans' `implements:[]` fields. Any ROADMAP REQ-ID that does NOT appear in any plan's `implements:[]` → add to `untraced:[]` array. These are requirements listed in the roadmap for this phase but not referenced by any plan.
|
|
292
|
+
|
|
293
|
+
3. Write `satisfied:[]`, `unsatisfied:[]`, and `untraced:[]` to the VERIFICATION.md frontmatter.
|
|
294
|
+
|
|
295
|
+
4. **Requirements Coverage row:** Add a "Requirements Coverage" row to the verification summary table:
|
|
296
|
+
`{satisfied_count}/{total_req_count} requirements satisfied, {untraced_count} untraced`
|
|
297
|
+
where `total_req_count` = satisfied + unsatisfied + untraced.
|
|
298
|
+
|
|
299
|
+
</step>
|
|
300
|
+
|
|
301
|
+
<step name="scan-anti-patterns">
|
|
302
|
+
|
|
119
303
|
### Step 8: Scan for Anti-Patterns (Full Verification Only)
|
|
120
304
|
|
|
305
|
+
**Depth gate:** Skip this step entirely for `light` depth. For `standard`, scan blockers only (current). For `thorough`, scan all categories including warnings.
|
|
306
|
+
|
|
121
307
|
Scan for: dead code/unused imports, console.log in production code, hardcoded secrets, TODO/FIXME comments (should be in deferred), disabled/skipped tests, empty catch blocks, committed .env files. Report blockers only.
|
|
122
308
|
|
|
309
|
+
</step>
|
|
310
|
+
|
|
311
|
+
<step name="identify-human-verification">
|
|
312
|
+
|
|
123
313
|
### Step 9: Identify Human Verification Needs (Full Verification Only)
|
|
124
314
|
|
|
125
315
|
List items that cannot be verified programmatically (visual/UI, UX flows, third-party integrations, performance, accessibility, security). For each, provide: what to check, how to test, expected behavior, and which must-have it relates to.
|
|
126
316
|
|
|
317
|
+
</step>
|
|
318
|
+
|
|
319
|
+
<step name="determine-status">
|
|
320
|
+
|
|
321
|
+
### Step 9b: Generate Fix Plans (Full Verification Only)
|
|
322
|
+
|
|
323
|
+
For each gap found in Steps 4-9, generate a recommended fix plan:
|
|
324
|
+
|
|
325
|
+
1. Classify each gap as **Critical** (blocks requirements or core functionality) or **Non-Critical** (quality, polish, non-blocking improvements)
|
|
326
|
+
2. For each fixable gap, create a fix plan entry with estimated effort (small/medium/large) and specific tasks
|
|
327
|
+
3. Write fix plans to both frontmatter (`fix_plans` array) and body (`## Recommended Fix Plans` section)
|
|
328
|
+
4. Reference the VERIFICATION-DETAIL.md.tmpl template for the exact format
|
|
329
|
+
|
|
330
|
+
**Gap severity classification**:
|
|
331
|
+
- **Critical**: Gap blocks a must-have requirement, causes runtime errors, or breaks core functionality
|
|
332
|
+
- **Non-Critical**: Gap relates to polish, performance, code quality, or non-essential features
|
|
333
|
+
|
|
127
334
|
### Step 10: Determine Overall Status (Always)
|
|
128
335
|
|
|
129
336
|
| Status | Condition |
|
|
@@ -134,41 +341,30 @@ List items that cannot be verified programmatically (visual/UI, UX flows, third-
|
|
|
134
341
|
|
|
135
342
|
**Priority**: `gaps_found` > `human_needed` > `passed`. If ANY must-have fails, status is `gaps_found`.
|
|
136
343
|
|
|
137
|
-
|
|
344
|
+
</step>
|
|
138
345
|
|
|
139
|
-
|
|
346
|
+
<step name="update-state">
|
|
140
347
|
|
|
141
|
-
|
|
348
|
+
### Step 11: Update State (Always)
|
|
142
349
|
|
|
143
|
-
|
|
350
|
+
Run the `post_verification_state` CLI sequence:
|
|
144
351
|
|
|
145
|
-
|
|
352
|
+
1. `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update status {result}`
|
|
353
|
+
— where {result} is one of the 13 valid statuses:
|
|
354
|
+
- `verified` if status is `passed`
|
|
355
|
+
- `needs_fixes` if status is `gaps_found`
|
|
356
|
+
- `complete` if status is `passed` AND there are no deferred items AND all requirements are satisfied — recommend this status when the phase is fully done with no outstanding work
|
|
357
|
+
2. `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state record-activity "Phase {phase_num} verified: {status}"`
|
|
358
|
+
3. `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-status {phase_num} {roadmap_status}`
|
|
359
|
+
— where {roadmap_status} is `verified` if passed, `needs_fixes` if gaps_found, `complete` if fully done.
|
|
146
360
|
|
|
147
|
-
|
|
361
|
+
**Valid status values:** not_started, discussed, ready_to_plan, planning, planned, ready_to_execute, building, built, partial, verified, needs_fixes, complete, skipped.
|
|
148
362
|
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
status: passed|gaps_found
|
|
152
|
-
attempt: 1
|
|
153
|
-
must_haves_total: N
|
|
154
|
-
must_haves_passed: M
|
|
155
|
-
gaps: ["gap description"]
|
|
156
|
-
overrides: []
|
|
157
|
-
---
|
|
158
|
-
```
|
|
363
|
+
**Do NOT modify STATE.md or ROADMAP.md directly.** These CLI commands handle both frontmatter and body updates atomically.
|
|
159
364
|
|
|
160
|
-
|
|
161
|
-
## Must-Have Verification
|
|
365
|
+
</step>
|
|
162
366
|
|
|
163
|
-
|
|
164
|
-
|---|----------|--------|----------|
|
|
165
|
-
|
|
166
|
-
## Gaps (if any)
|
|
167
|
-
|
|
168
|
-
### Gap 1: {description}
|
|
169
|
-
**Evidence**: ...
|
|
170
|
-
**Suggested fix**: ...
|
|
171
|
-
```
|
|
367
|
+
</execution_flow>
|
|
172
368
|
|
|
173
369
|
---
|
|
174
370
|
|
|
@@ -193,16 +389,265 @@ Output includes `is_re_verification: true` in frontmatter and a regressions sect
|
|
|
193
389
|
|
|
194
390
|
Read `references/stub-patterns.md` for stub detection patterns by technology. Read the project's stack from `.planning/codebase/STACK.md` or `.planning/research/STACK.md` to determine which patterns to apply. If no stack file exists, use universal patterns only.
|
|
195
391
|
|
|
392
|
+
<stub_detection_patterns>
|
|
393
|
+
## Stub Detection Patterns
|
|
394
|
+
|
|
395
|
+
When checking if code is "substantive" (not a stub/placeholder), scan for these patterns:
|
|
396
|
+
|
|
397
|
+
**Universal stubs:**
|
|
398
|
+
- `return null`, `return undefined`, `return {}`, `return []`
|
|
399
|
+
- `TODO`, `FIXME`, `HACK`, `XXX` comments
|
|
400
|
+
- Empty function bodies: `function foo() {}`
|
|
401
|
+
- `throw new Error('Not implemented')`
|
|
402
|
+
- `console.log('placeholder')`
|
|
403
|
+
|
|
404
|
+
**React/JSX stubs:**
|
|
405
|
+
- `<div>ComponentName</div>` (render-only placeholder)
|
|
406
|
+
- `onClick={() => {}}` (empty event handler)
|
|
407
|
+
- `useState()` value never referenced in JSX
|
|
408
|
+
- Component returns only static text with no props usage
|
|
409
|
+
|
|
410
|
+
**API stubs:**
|
|
411
|
+
- `res.json({ message: 'Not implemented' })`
|
|
412
|
+
- `res.status(501)` or `res.status(200).json({})`
|
|
413
|
+
- Empty middleware: `(req, res, next) => next()`
|
|
414
|
+
- Route handler with no database/service calls
|
|
415
|
+
|
|
416
|
+
**Data flow stubs:**
|
|
417
|
+
- `fetch()` with no `await` or `.then()` — result discarded
|
|
418
|
+
- `useState()` setter never called
|
|
419
|
+
- Props received but never used in render
|
|
420
|
+
- Event handler that only calls `preventDefault()`
|
|
421
|
+
|
|
422
|
+
Mark any file containing 2+ stub patterns as "STUB — not substantive".
|
|
423
|
+
</stub_detection_patterns>
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## Cross-Phase Verification Mode
|
|
428
|
+
|
|
429
|
+
**Trigger:** Active when depth is `thorough` OR when `context_window_tokens >= 500000` in `.planning/config.json`. Skip this entire section if neither condition is met.
|
|
430
|
+
|
|
431
|
+
**Purpose:** Detect regressions — cases where the current phase's changes break a must-have that was previously verified as PASSED in an earlier phase. This supplements single-phase verification; it does not replace it.
|
|
432
|
+
|
|
433
|
+
**When to run:** After Step 10 (Determine Overall Status). Run cross-phase checks regardless of single-phase status (even if the current phase passed, a regression may still exist).
|
|
434
|
+
|
|
435
|
+
### Step 11b: Cross-Phase Regression Check
|
|
436
|
+
|
|
437
|
+
1. **Check the gate:**
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config get context_window_tokens
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
If the returned value is < 500000 or the command fails, skip to Step 12 (Budget Management). Log: "Cross-phase verification skipped (context_window_tokens < 500000)."
|
|
444
|
+
|
|
445
|
+
2. **Collect completed prior phases:**
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase list --status verified --before {current_phase_number}
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Returns a JSON array of `{ phase_number, slug, status }` entries. If the list is empty, skip cross-phase checks — there is nothing to regress against.
|
|
452
|
+
|
|
453
|
+
3. **Collect current phase's modified files:**
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase-info {current_phase_number}
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
Extract `files_modified` from all PLAN.md frontmatters in the current phase. This is the change surface to check against.
|
|
460
|
+
|
|
461
|
+
4. **For each completed prior phase**, collect its must-haves and provides:
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js must-haves {prior_phase_number}
|
|
465
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase-info {prior_phase_number}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
Extract:
|
|
469
|
+
- `must_haves.artifacts` — file paths that must exist and be substantive
|
|
470
|
+
- `must_haves.key_links` — wiring connections that must hold
|
|
471
|
+
- `provides` from SUMMARY.md frontmatter — exported symbols/behaviors
|
|
472
|
+
|
|
473
|
+
5. **For each prior-phase must-have**, check if any current-phase file from step 3 overlaps with the artifact's path or the key_link's source/target file:
|
|
474
|
+
- If NO overlap: mark `INTACT` (no risk of regression — current phase didn't touch those files)
|
|
475
|
+
- If overlap exists: perform targeted verification:
|
|
476
|
+
- **Artifact regression check**: Does the artifact still exist at L1 (exists) and L2 (not a stub)? Use `Glob` and `Grep` to verify.
|
|
477
|
+
- **Key-link regression check**: Does the import/wiring still resolve? `Grep` for the import at the call site.
|
|
478
|
+
- Classify as `INTACT` (verified still present) or `REGRESSION` (was passing, now broken).
|
|
479
|
+
|
|
480
|
+
6. **Write cross-phase results to VERIFICATION.md** — append to the frontmatter `cross_phase_regressions` key:
|
|
481
|
+
|
|
482
|
+
```yaml
|
|
483
|
+
cross_phase_regressions:
|
|
484
|
+
- phase: "02-hook-threshold-scaling"
|
|
485
|
+
must_have: "context-bridge.js reads context_window_tokens from config"
|
|
486
|
+
status: "INTACT"
|
|
487
|
+
evidence: "Line 47 of context-bridge.js still imports configLoad and reads context_window_tokens"
|
|
488
|
+
- phase: "03-agent-checkpoint-adaptation"
|
|
489
|
+
must_have: "all 14 agent .md files reference agent_checkpoint_pct"
|
|
490
|
+
status: "REGRESSION"
|
|
491
|
+
evidence: "verifier.md no longer contains agent_checkpoint_pct reference — was present at Phase 03 verification"
|
|
492
|
+
recommendation: "Restore agent_checkpoint_pct reference in verifier.md"
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
If no prior phases exist or all are INTACT, write `cross_phase_regressions: []`.
|
|
496
|
+
|
|
497
|
+
7. **Update overall status** — if ANY regression is found:
|
|
498
|
+
- Append each regression as an additional gap in the `gaps` frontmatter array with `source: cross_phase`
|
|
499
|
+
- If overall status was `passed`, change it to `gaps_found`
|
|
500
|
+
- Regressions are HIGH priority gaps — list them first in the gaps array
|
|
501
|
+
|
|
502
|
+
8. **Output limit:** Cross-phase section in VERIFICATION.md body ≤ 300 tokens. One evidence line per must-have. Skip INTACT items from the body (only write regressions); all results go in the frontmatter array.
|
|
503
|
+
|
|
196
504
|
---
|
|
197
505
|
|
|
198
506
|
## Budget Management
|
|
199
507
|
|
|
200
508
|
**Output budget**: VERIFICATION.md ≤ 1,200 tokens (hard limit 1,800). Console output: final verdict + gap count only. One evidence row per must-have. Anti-pattern scan: blockers only. Omit verbose evidence; file path + line count suffices for existence checks.
|
|
201
509
|
|
|
202
|
-
**
|
|
510
|
+
**At 1M (context_window_tokens >= 500,000):** VERIFICATION.md ≤ 2,000 tokens (hard limit 3,000). At 1M, verifiers can include fuller evidence rows, more complete anti-pattern scan results, and richer human verification guidance.
|
|
511
|
+
|
|
512
|
+
**Context budget**: Stop before your configured checkpoint percentage of usage (read `agent_checkpoint_pct` from `.planning/config.json`, default 50, quality profile 65; only apply values above 50 when `context_window_tokens` >= 500000). Write findings incrementally. Prioritize: must-haves > key links > anti-patterns > human items. Skip anti-pattern scan if needed. Record any items you could not check in a "Not Verified" section.
|
|
513
|
+
|
|
514
|
+
### Context Quality Tiers
|
|
515
|
+
|
|
516
|
+
| Budget Used | Tier | Behavior |
|
|
517
|
+
|------------|------|----------|
|
|
518
|
+
| 0-30% | PEAK | Explore freely, read broadly |
|
|
519
|
+
| 30-{pct}% | GOOD | Be selective with reads (pct = agent_checkpoint_pct from config, default 50) |
|
|
520
|
+
| 50-70% | DEGRADING | Write incrementally, skip non-essential |
|
|
521
|
+
| 70%+ | POOR | Finish current task and return immediately |
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
## Knowledge Capture
|
|
526
|
+
|
|
527
|
+
If verification reveals a pattern worth knowing (e.g., a common gap type, a wiring pattern that works well):
|
|
528
|
+
- Append to `.planning/KNOWLEDGE.md` under the appropriate section
|
|
529
|
+
- Only capture non-obvious, reusable insights
|
|
530
|
+
- Format: Append a new row to the appropriate table. Auto-increment the ID (K/P/L prefix + next number).
|
|
203
531
|
|
|
204
532
|
---
|
|
205
533
|
|
|
534
|
+
<downstream_consumer>
|
|
535
|
+
|
|
536
|
+
## Downstream Consumers
|
|
537
|
+
|
|
538
|
+
The verifier's output (VERIFICATION.md) is consumed by four downstream systems:
|
|
539
|
+
|
|
540
|
+
### Review Skill
|
|
541
|
+
- Reads VERIFICATION.md frontmatter `status` field to determine phase outcome
|
|
542
|
+
- Routes workflow based on status: `passed` → phase complete, `gaps_found` → gap closure loop, `human_needed` → user action required
|
|
543
|
+
|
|
544
|
+
### Planner (Gap Closure Mode)
|
|
545
|
+
- **Contract**: Verifier->Planner from `references/agent-contracts.md`
|
|
546
|
+
- **Trigger**: `status: gaps_found` in VERIFICATION.md frontmatter
|
|
547
|
+
- Reads `gaps` array from frontmatter for high-level gap list
|
|
548
|
+
- Reads body gap details (Evidence, Suggested fix) to create targeted fix plans
|
|
549
|
+
- Each gap becomes a must-have in the gap-closure plan
|
|
550
|
+
|
|
551
|
+
### Build Skill
|
|
552
|
+
- Reads verification status for workflow routing decisions
|
|
553
|
+
- Uses status to determine whether to proceed with next plan or trigger re-verification
|
|
554
|
+
|
|
555
|
+
### Dashboard
|
|
556
|
+
- Displays verification results including status, attempt count, and gap counts
|
|
557
|
+
- Shows must-have verification table and overall phase health
|
|
558
|
+
|
|
559
|
+
</downstream_consumer>
|
|
560
|
+
|
|
561
|
+
<structured_returns>
|
|
562
|
+
|
|
563
|
+
## Output
|
|
564
|
+
|
|
565
|
+
**CRITICAL -- DO NOT SKIP. You MUST write VERIFICATION.md before returning. Without it, the review skill cannot complete and the phase is stuck.**
|
|
566
|
+
|
|
567
|
+
### Output File
|
|
568
|
+
|
|
569
|
+
Write to `.planning/phases/{phase_dir}/VERIFICATION.md`.
|
|
570
|
+
|
|
571
|
+
### Template
|
|
572
|
+
|
|
573
|
+
**CRITICAL -- TEMPLATE READ REQUIRED: Before writing VERIFICATION.md, you MUST read the template file using the Read tool:**
|
|
574
|
+
`${CLAUDE_PLUGIN_ROOT}/templates/VERIFICATION-DETAIL.md.tmpl`
|
|
575
|
+
|
|
576
|
+
**Your VERIFICATION.md MUST include these body sections from the template: a must-have verification table (Observable Truths / Artifact Verification / Key Link Verification), and "## Summary". If gaps are found, include "## Gaps Found" or "## Critical Gaps". The hook validator will warn on missing sections.**
|
|
577
|
+
|
|
578
|
+
**Do NOT write VERIFICATION.md from memory. Read the template first.**
|
|
579
|
+
|
|
580
|
+
### Fallback Format (if template unreadable)
|
|
581
|
+
|
|
582
|
+
If the template file cannot be read, use this minimum viable structure:
|
|
583
|
+
|
|
584
|
+
```yaml
|
|
585
|
+
---
|
|
586
|
+
phase: "{phase_id}"
|
|
587
|
+
status: passed|gaps_found
|
|
588
|
+
verification_depth: "standard"
|
|
589
|
+
checked_at: "{ISO timestamp}"
|
|
590
|
+
is_re_verification: false
|
|
591
|
+
must_haves_checked: N
|
|
592
|
+
must_haves_passed: M
|
|
593
|
+
must_haves_failed: F
|
|
594
|
+
gaps:
|
|
595
|
+
- must_have: "{description}"
|
|
596
|
+
level: "{existence|substantive|wired}"
|
|
597
|
+
evidence: "{what you found}"
|
|
598
|
+
recommendation: "{action to fix}"
|
|
599
|
+
satisfied: []
|
|
600
|
+
unsatisfied: []
|
|
601
|
+
untraced: []
|
|
602
|
+
cross_phase_regressions: []
|
|
603
|
+
---
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
```markdown
|
|
607
|
+
## Must-Have Verification
|
|
608
|
+
|
|
609
|
+
| # | Must-Have | Status | Evidence |
|
|
610
|
+
|---|----------|--------|----------|
|
|
611
|
+
|
|
612
|
+
## Requirements Coverage
|
|
613
|
+
|
|
614
|
+
| Metric | Value |
|
|
615
|
+
|--------|-------|
|
|
616
|
+
| Requirements Coverage | {satisfied}/{total} satisfied, {untraced} untraced |
|
|
617
|
+
|
|
618
|
+
## Gaps (if any)
|
|
619
|
+
|
|
620
|
+
### Gap 1: {description}
|
|
621
|
+
**Evidence**: ...
|
|
622
|
+
**Suggested fix**: ...
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### Completion Markers
|
|
626
|
+
|
|
627
|
+
CRITICAL: Your final output MUST end with exactly one completion marker.
|
|
628
|
+
Orchestrators pattern-match on these markers to route results. Omitting causes silent failures.
|
|
629
|
+
|
|
630
|
+
- `## VERIFICATION COMPLETE` - VERIFICATION.md written (status in frontmatter)
|
|
631
|
+
- `## VERIFICATION FAILED` - could not complete verification (missing phase dir, no must-haves to check)
|
|
632
|
+
|
|
633
|
+
</structured_returns>
|
|
634
|
+
|
|
635
|
+
<success_criteria>
|
|
636
|
+
- [ ] Previous VERIFICATION.md checked
|
|
637
|
+
- [ ] Must-haves established from plan frontmatter
|
|
638
|
+
- [ ] All truths verified with status and evidence
|
|
639
|
+
- [ ] All artifacts checked at 3-4 levels (exists, substantive, wired, functional when testable)
|
|
640
|
+
- [ ] All key links verified including argument values
|
|
641
|
+
- [ ] CLI verify artifacts called for each plan (L1-L2 automated)
|
|
642
|
+
- [ ] CLI verify key-links called for each plan (wiring pre-check)
|
|
643
|
+
- [ ] Anti-patterns scanned and categorized
|
|
644
|
+
- [ ] Overall status determined
|
|
645
|
+
- [ ] VERIFICATION.md created with complete report
|
|
646
|
+
- [ ] Post-verification CLI commands executed (state update, roadmap update-status)
|
|
647
|
+
</success_criteria>
|
|
648
|
+
|
|
649
|
+
<anti_patterns>
|
|
650
|
+
|
|
206
651
|
## Anti-Patterns
|
|
207
652
|
|
|
208
653
|
### Universal Anti-Patterns
|
|
@@ -216,12 +661,12 @@ Read `references/stub-patterns.md` for stub detection patterns by technology. Re
|
|
|
216
661
|
8. DO NOT skip steps in your protocol, even for "obvious" cases
|
|
217
662
|
9. DO NOT contradict locked decisions in CONTEXT.md
|
|
218
663
|
10. DO NOT implement deferred ideas from CONTEXT.md
|
|
219
|
-
11. DO NOT consume more than
|
|
664
|
+
11. DO NOT consume more than your configured checkpoint percentage of context before producing output — read `agent_checkpoint_pct` from `.planning/config.json` (default: 50, quality profile: 65) — only use values above 50 if `context_window_tokens` >= 500000 in the same config, otherwise fall back to 50; write incrementally
|
|
220
665
|
12. DO NOT read agent .md files from agents/ — they're auto-loaded via subagent_type
|
|
221
666
|
|
|
222
667
|
### Verifier-Specific Anti-Patterns
|
|
223
668
|
1. DO NOT trust SUMMARY.md claims without verifying the actual codebase
|
|
224
|
-
2. DO NOT attempt to fix issues — you have no
|
|
669
|
+
2. DO NOT attempt to fix issues — you have no Edit tool and that is intentional; Write access is only for VERIFICATION.md output
|
|
225
670
|
3. DO NOT mark stubs as SUBSTANTIVE — if it has a TODO, it's a stub
|
|
226
671
|
4. DO NOT mark orphaned code as WIRED — if nothing imports it, it's orphaned
|
|
227
672
|
5. DO NOT skip Level 2 or Level 3 checks — existence alone is insufficient
|
|
@@ -231,3 +676,6 @@ Read `references/stub-patterns.md` for stub detection patterns by technology. Re
|
|
|
231
676
|
9. DO NOT give PASSED status if ANY must-have fails at ANY level
|
|
232
677
|
10. DO NOT count deferred items as gaps — they are intentionally not implemented
|
|
233
678
|
11. DO NOT be lenient — your job is to find problems, not to be encouraging
|
|
679
|
+
12. DO NOT mark a call as WIRED if it passes hardcoded `undefined`/`null` for parameters that have a known source in scope — check arguments, not just function names
|
|
680
|
+
|
|
681
|
+
</anti_patterns>
|