@jokerized/getresearchdone 0.4.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/.claude-plugin/plugin.json +103 -0
- package/README.md +211 -0
- package/agents/grd-baseline-assessor.md +684 -0
- package/agents/grd-code-reviewer.md +300 -0
- package/agents/grd-codebase-mapper.md +355 -0
- package/agents/grd-critique-agent.md +119 -0
- package/agents/grd-debugger.md +519 -0
- package/agents/grd-deep-diver.md +737 -0
- package/agents/grd-eval-planner.md +913 -0
- package/agents/grd-eval-reporter.md +717 -0
- package/agents/grd-executor.md +683 -0
- package/agents/grd-feasibility-analyst.md +624 -0
- package/agents/grd-integration-checker.md +367 -0
- package/agents/grd-knowledge-miner.md +81 -0
- package/agents/grd-migrator.md +88 -0
- package/agents/grd-phase-researcher.md +697 -0
- package/agents/grd-plan-checker.md +443 -0
- package/agents/grd-planner.md +1532 -0
- package/agents/grd-product-owner.md +562 -0
- package/agents/grd-project-researcher.md +513 -0
- package/agents/grd-research-synthesizer.md +273 -0
- package/agents/grd-roadmapper.md +798 -0
- package/agents/grd-surveyor.md +566 -0
- package/agents/grd-verifier.md +893 -0
- package/bin/gd.js +4 -0
- package/bin/gd.ts +227 -0
- package/bin/grd-manifest.js +4 -0
- package/bin/grd-manifest.ts +286 -0
- package/bin/grd-mcp-server.js +4 -0
- package/bin/grd-mcp-server.ts +124 -0
- package/bin/grd-tools.js +4 -0
- package/bin/grd-tools.ts +2471 -0
- package/bin/postinstall.js +4 -0
- package/bin/postinstall.ts +80 -0
- package/commands/add-phase.md +123 -0
- package/commands/add-todo.md +87 -0
- package/commands/assess-baseline.md +289 -0
- package/commands/autopilot.md +100 -0
- package/commands/autoplan.md +55 -0
- package/commands/check-todos.md +87 -0
- package/commands/compare-methods.md +262 -0
- package/commands/complete-milestone.md +225 -0
- package/commands/debug.md +372 -0
- package/commands/deep-dive.md +288 -0
- package/commands/discover.md +281 -0
- package/commands/discuss-phase.md +188 -0
- package/commands/discuss.md +55 -0
- package/commands/eval-report.md +310 -0
- package/commands/evolve.md +79 -0
- package/commands/execute-phase.md +1017 -0
- package/commands/feasibility.md +292 -0
- package/commands/help.md +407 -0
- package/commands/init.md +1508 -0
- package/commands/insert-phase.md +113 -0
- package/commands/iterate.md +327 -0
- package/commands/list-phase-assumptions.md +217 -0
- package/commands/long-term-roadmap.md +202 -0
- package/commands/map-codebase.md +111 -0
- package/commands/migrate.md +159 -0
- package/commands/new-milestone.md +169 -0
- package/commands/pause-work.md +83 -0
- package/commands/plan-milestone-gaps.md +373 -0
- package/commands/plan-phase.md +655 -0
- package/commands/principles.md +328 -0
- package/commands/product-plan.md +319 -0
- package/commands/progress.md +481 -0
- package/commands/quick.md +167 -0
- package/commands/reapply-patches.md +154 -0
- package/commands/remove-phase.md +97 -0
- package/commands/requirement.md +96 -0
- package/commands/resume-project.md +113 -0
- package/commands/settings.md +1144 -0
- package/commands/survey.md +242 -0
- package/commands/sync.md +246 -0
- package/commands/tracker-setup.md +322 -0
- package/commands/update.md +202 -0
- package/commands/verify-phase.md +335 -0
- package/commands/verify-work.md +701 -0
- package/commands/wireup.md +29 -0
- package/dist/bin/gd.d.ts +3 -0
- package/dist/bin/gd.d.ts.map +1 -0
- package/dist/bin/gd.js +178 -0
- package/dist/bin/gd.js.map +1 -0
- package/dist/bin/grd-manifest.d.ts +3 -0
- package/dist/bin/grd-manifest.d.ts.map +1 -0
- package/dist/bin/grd-manifest.js +202 -0
- package/dist/bin/grd-manifest.js.map +1 -0
- package/dist/bin/grd-mcp-server.d.ts +3 -0
- package/dist/bin/grd-mcp-server.d.ts.map +1 -0
- package/dist/bin/grd-mcp-server.js +71 -0
- package/dist/bin/grd-mcp-server.js.map +1 -0
- package/dist/bin/grd-tools.d.ts +3 -0
- package/dist/bin/grd-tools.d.ts.map +1 -0
- package/dist/bin/grd-tools.js +1680 -0
- package/dist/bin/grd-tools.js.map +1 -0
- package/dist/bin/postinstall.d.ts +3 -0
- package/dist/bin/postinstall.d.ts.map +1 -0
- package/dist/bin/postinstall.js +61 -0
- package/dist/bin/postinstall.js.map +1 -0
- package/dist/lib/autopilot-milestone.d.ts +2 -0
- package/dist/lib/autopilot-milestone.d.ts.map +1 -0
- package/dist/lib/autopilot-milestone.js +94 -0
- package/dist/lib/autopilot-milestone.js.map +1 -0
- package/dist/lib/autopilot-pipeline.d.ts +2 -0
- package/dist/lib/autopilot-pipeline.d.ts.map +1 -0
- package/dist/lib/autopilot-pipeline.js +830 -0
- package/dist/lib/autopilot-pipeline.js.map +1 -0
- package/dist/lib/autopilot-waves.d.ts +2 -0
- package/dist/lib/autopilot-waves.d.ts.map +1 -0
- package/dist/lib/autopilot-waves.js +266 -0
- package/dist/lib/autopilot-waves.js.map +1 -0
- package/dist/lib/autopilot.d.ts +2 -0
- package/dist/lib/autopilot.d.ts.map +1 -0
- package/dist/lib/autopilot.js +1314 -0
- package/dist/lib/autopilot.js.map +1 -0
- package/dist/lib/autoplan.d.ts +2 -0
- package/dist/lib/autoplan.d.ts.map +1 -0
- package/dist/lib/autoplan.js +198 -0
- package/dist/lib/autoplan.js.map +1 -0
- package/dist/lib/autoresearch.d.ts +2 -0
- package/dist/lib/autoresearch.d.ts.map +1 -0
- package/dist/lib/autoresearch.js +626 -0
- package/dist/lib/autoresearch.js.map +1 -0
- package/dist/lib/backend.d.ts +2 -0
- package/dist/lib/backend.d.ts.map +1 -0
- package/dist/lib/backend.js +1036 -0
- package/dist/lib/backend.js.map +1 -0
- package/dist/lib/benchmark.d.ts +99 -0
- package/dist/lib/benchmark.d.ts.map +1 -0
- package/dist/lib/benchmark.js +278 -0
- package/dist/lib/benchmark.js.map +1 -0
- package/dist/lib/citations.d.ts +2 -0
- package/dist/lib/citations.d.ts.map +1 -0
- package/dist/lib/citations.js +642 -0
- package/dist/lib/citations.js.map +1 -0
- package/dist/lib/cleanup.d.ts +2 -0
- package/dist/lib/cleanup.d.ts.map +1 -0
- package/dist/lib/cleanup.js +1222 -0
- package/dist/lib/cleanup.js.map +1 -0
- package/dist/lib/cli/adapters.d.ts +10 -0
- package/dist/lib/cli/adapters.d.ts.map +1 -0
- package/dist/lib/cli/adapters.js +27 -0
- package/dist/lib/cli/adapters.js.map +1 -0
- package/dist/lib/cli/agent.d.ts +17 -0
- package/dist/lib/cli/agent.d.ts.map +1 -0
- package/dist/lib/cli/agent.js +53 -0
- package/dist/lib/cli/agent.js.map +1 -0
- package/dist/lib/cli/index.d.ts +21 -0
- package/dist/lib/cli/index.d.ts.map +1 -0
- package/dist/lib/cli/index.js +264 -0
- package/dist/lib/cli/index.js.map +1 -0
- package/dist/lib/cli/output.d.ts +20 -0
- package/dist/lib/cli/output.d.ts.map +1 -0
- package/dist/lib/cli/output.js +22 -0
- package/dist/lib/cli/output.js.map +1 -0
- package/dist/lib/cli/scan-dispatch.d.ts +9 -0
- package/dist/lib/cli/scan-dispatch.d.ts.map +1 -0
- package/dist/lib/cli/scan-dispatch.js +107 -0
- package/dist/lib/cli/scan-dispatch.js.map +1 -0
- package/dist/lib/cli/tools.d.ts +16 -0
- package/dist/lib/cli/tools.d.ts.map +1 -0
- package/dist/lib/cli/tools.js +168 -0
- package/dist/lib/cli/tools.js.map +1 -0
- package/dist/lib/commands/_dashboard-parsers.d.ts +2 -0
- package/dist/lib/commands/_dashboard-parsers.d.ts.map +1 -0
- package/dist/lib/commands/_dashboard-parsers.js +192 -0
- package/dist/lib/commands/_dashboard-parsers.js.map +1 -0
- package/dist/lib/commands/analysis.d.ts +2 -0
- package/dist/lib/commands/analysis.d.ts.map +1 -0
- package/dist/lib/commands/analysis.js +1418 -0
- package/dist/lib/commands/analysis.js.map +1 -0
- package/dist/lib/commands/assumptions.d.ts +2 -0
- package/dist/lib/commands/assumptions.d.ts.map +1 -0
- package/dist/lib/commands/assumptions.js +166 -0
- package/dist/lib/commands/assumptions.js.map +1 -0
- package/dist/lib/commands/blame.d.ts +2 -0
- package/dist/lib/commands/blame.d.ts.map +1 -0
- package/dist/lib/commands/blame.js +133 -0
- package/dist/lib/commands/blame.js.map +1 -0
- package/dist/lib/commands/budget.d.ts +2 -0
- package/dist/lib/commands/budget.d.ts.map +1 -0
- package/dist/lib/commands/budget.js +100 -0
- package/dist/lib/commands/budget.js.map +1 -0
- package/dist/lib/commands/check-plans.d.ts +2 -0
- package/dist/lib/commands/check-plans.d.ts.map +1 -0
- package/dist/lib/commands/check-plans.js +190 -0
- package/dist/lib/commands/check-plans.js.map +1 -0
- package/dist/lib/commands/config.d.ts +2 -0
- package/dist/lib/commands/config.d.ts.map +1 -0
- package/dist/lib/commands/config.js +188 -0
- package/dist/lib/commands/config.js.map +1 -0
- package/dist/lib/commands/dashboard.d.ts +2 -0
- package/dist/lib/commands/dashboard.d.ts.map +1 -0
- package/dist/lib/commands/dashboard.js +466 -0
- package/dist/lib/commands/dashboard.js.map +1 -0
- package/dist/lib/commands/estimate.d.ts +2 -0
- package/dist/lib/commands/estimate.d.ts.map +1 -0
- package/dist/lib/commands/estimate.js +148 -0
- package/dist/lib/commands/estimate.js.map +1 -0
- package/dist/lib/commands/eval-diff.d.ts +2 -0
- package/dist/lib/commands/eval-diff.d.ts.map +1 -0
- package/dist/lib/commands/eval-diff.js +213 -0
- package/dist/lib/commands/eval-diff.js.map +1 -0
- package/dist/lib/commands/freshness.d.ts +2 -0
- package/dist/lib/commands/freshness.d.ts.map +1 -0
- package/dist/lib/commands/freshness.js +163 -0
- package/dist/lib/commands/freshness.js.map +1 -0
- package/dist/lib/commands/health.d.ts +2 -0
- package/dist/lib/commands/health.d.ts.map +1 -0
- package/dist/lib/commands/health.js +435 -0
- package/dist/lib/commands/health.js.map +1 -0
- package/dist/lib/commands/index.d.ts +2 -0
- package/dist/lib/commands/index.d.ts.map +1 -0
- package/dist/lib/commands/index.js +128 -0
- package/dist/lib/commands/index.js.map +1 -0
- package/dist/lib/commands/install.d.ts +56 -0
- package/dist/lib/commands/install.d.ts.map +1 -0
- package/dist/lib/commands/install.js +214 -0
- package/dist/lib/commands/install.js.map +1 -0
- package/dist/lib/commands/knowhow-aggregator.d.ts +2 -0
- package/dist/lib/commands/knowhow-aggregator.d.ts.map +1 -0
- package/dist/lib/commands/knowhow-aggregator.js +279 -0
- package/dist/lib/commands/knowhow-aggregator.js.map +1 -0
- package/dist/lib/commands/knowledge-search.d.ts +2 -0
- package/dist/lib/commands/knowledge-search.d.ts.map +1 -0
- package/dist/lib/commands/knowledge-search.js +113 -0
- package/dist/lib/commands/knowledge-search.js.map +1 -0
- package/dist/lib/commands/long-term-roadmap.d.ts +2 -0
- package/dist/lib/commands/long-term-roadmap.d.ts.map +1 -0
- package/dist/lib/commands/long-term-roadmap.js +272 -0
- package/dist/lib/commands/long-term-roadmap.js.map +1 -0
- package/dist/lib/commands/patterns.d.ts +91 -0
- package/dist/lib/commands/patterns.d.ts.map +1 -0
- package/dist/lib/commands/patterns.js +391 -0
- package/dist/lib/commands/patterns.js.map +1 -0
- package/dist/lib/commands/phase-info.d.ts +2 -0
- package/dist/lib/commands/phase-info.d.ts.map +1 -0
- package/dist/lib/commands/phase-info.js +509 -0
- package/dist/lib/commands/phase-info.js.map +1 -0
- package/dist/lib/commands/plan-lint.d.ts +56 -0
- package/dist/lib/commands/plan-lint.d.ts.map +1 -0
- package/dist/lib/commands/plan-lint.js +481 -0
- package/dist/lib/commands/plan-lint.js.map +1 -0
- package/dist/lib/commands/plan-phase.d.ts +53 -0
- package/dist/lib/commands/plan-phase.d.ts.map +1 -0
- package/dist/lib/commands/plan-phase.js +288 -0
- package/dist/lib/commands/plan-phase.js.map +1 -0
- package/dist/lib/commands/progress.d.ts +2 -0
- package/dist/lib/commands/progress.d.ts.map +1 -0
- package/dist/lib/commands/progress.js +266 -0
- package/dist/lib/commands/progress.js.map +1 -0
- package/dist/lib/commands/quality.d.ts +2 -0
- package/dist/lib/commands/quality.d.ts.map +1 -0
- package/dist/lib/commands/quality.js +80 -0
- package/dist/lib/commands/quality.js.map +1 -0
- package/dist/lib/commands/rollback.d.ts +2 -0
- package/dist/lib/commands/rollback.d.ts.map +1 -0
- package/dist/lib/commands/rollback.js +145 -0
- package/dist/lib/commands/rollback.js.map +1 -0
- package/dist/lib/commands/scan.d.ts +25 -0
- package/dist/lib/commands/scan.d.ts.map +1 -0
- package/dist/lib/commands/scan.js +28 -0
- package/dist/lib/commands/scan.js.map +1 -0
- package/dist/lib/commands/search.d.ts +2 -0
- package/dist/lib/commands/search.d.ts.map +1 -0
- package/dist/lib/commands/search.js +212 -0
- package/dist/lib/commands/search.js.map +1 -0
- package/dist/lib/commands/select-candidate.d.ts +128 -0
- package/dist/lib/commands/select-candidate.d.ts.map +1 -0
- package/dist/lib/commands/select-candidate.js +518 -0
- package/dist/lib/commands/select-candidate.js.map +1 -0
- package/dist/lib/commands/singularity.d.ts +2 -0
- package/dist/lib/commands/singularity.d.ts.map +1 -0
- package/dist/lib/commands/singularity.js +185 -0
- package/dist/lib/commands/singularity.js.map +1 -0
- package/dist/lib/commands/slug-timestamp.d.ts +2 -0
- package/dist/lib/commands/slug-timestamp.d.ts.map +1 -0
- package/dist/lib/commands/slug-timestamp.js +54 -0
- package/dist/lib/commands/slug-timestamp.js.map +1 -0
- package/dist/lib/commands/tail.d.ts +2 -0
- package/dist/lib/commands/tail.d.ts.map +1 -0
- package/dist/lib/commands/tail.js +100 -0
- package/dist/lib/commands/tail.js.map +1 -0
- package/dist/lib/commands/todo.d.ts +2 -0
- package/dist/lib/commands/todo.d.ts.map +1 -0
- package/dist/lib/commands/todo.js +200 -0
- package/dist/lib/commands/todo.js.map +1 -0
- package/dist/lib/commands/watch.d.ts +2 -0
- package/dist/lib/commands/watch.d.ts.map +1 -0
- package/dist/lib/commands/watch.js +72 -0
- package/dist/lib/commands/watch.js.map +1 -0
- package/dist/lib/complexity.d.ts +55 -0
- package/dist/lib/complexity.d.ts.map +1 -0
- package/dist/lib/complexity.js +80 -0
- package/dist/lib/complexity.js.map +1 -0
- package/dist/lib/context/agents.d.ts +2 -0
- package/dist/lib/context/agents.d.ts.map +1 -0
- package/dist/lib/context/agents.js +344 -0
- package/dist/lib/context/agents.js.map +1 -0
- package/dist/lib/context/base.d.ts +2 -0
- package/dist/lib/context/base.d.ts.map +1 -0
- package/dist/lib/context/base.js +81 -0
- package/dist/lib/context/base.js.map +1 -0
- package/dist/lib/context/execute.d.ts +2 -0
- package/dist/lib/context/execute.d.ts.map +1 -0
- package/dist/lib/context/execute.js +753 -0
- package/dist/lib/context/execute.js.map +1 -0
- package/dist/lib/context/index.d.ts +2 -0
- package/dist/lib/context/index.d.ts.map +1 -0
- package/dist/lib/context/index.js +88 -0
- package/dist/lib/context/index.js.map +1 -0
- package/dist/lib/context/progress.d.ts +2 -0
- package/dist/lib/context/progress.d.ts.map +1 -0
- package/dist/lib/context/progress.js +178 -0
- package/dist/lib/context/progress.js.map +1 -0
- package/dist/lib/context/project.d.ts +2 -0
- package/dist/lib/context/project.d.ts.map +1 -0
- package/dist/lib/context/project.js +413 -0
- package/dist/lib/context/project.js.map +1 -0
- package/dist/lib/context/research.d.ts +2 -0
- package/dist/lib/context/research.d.ts.map +1 -0
- package/dist/lib/context/research.js +466 -0
- package/dist/lib/context/research.js.map +1 -0
- package/dist/lib/dead-ends.d.ts +28 -0
- package/dist/lib/dead-ends.d.ts.map +1 -0
- package/dist/lib/dead-ends.js +451 -0
- package/dist/lib/dead-ends.js.map +1 -0
- package/dist/lib/deps.d.ts +2 -0
- package/dist/lib/deps.d.ts.map +1 -0
- package/dist/lib/deps.js +630 -0
- package/dist/lib/deps.js.map +1 -0
- package/dist/lib/discussion.d.ts +2 -0
- package/dist/lib/discussion.d.ts.map +1 -0
- package/dist/lib/discussion.js +1041 -0
- package/dist/lib/discussion.js.map +1 -0
- package/dist/lib/drift.d.ts +36 -0
- package/dist/lib/drift.d.ts.map +1 -0
- package/dist/lib/drift.js +481 -0
- package/dist/lib/drift.js.map +1 -0
- package/dist/lib/evolve/_dimensions-features.d.ts +2 -0
- package/dist/lib/evolve/_dimensions-features.d.ts.map +1 -0
- package/dist/lib/evolve/_dimensions-features.js +369 -0
- package/dist/lib/evolve/_dimensions-features.js.map +1 -0
- package/dist/lib/evolve/_dimensions.d.ts +2 -0
- package/dist/lib/evolve/_dimensions.d.ts.map +1 -0
- package/dist/lib/evolve/_dimensions.js +358 -0
- package/dist/lib/evolve/_dimensions.js.map +1 -0
- package/dist/lib/evolve/_product-ideation.d.ts +2 -0
- package/dist/lib/evolve/_product-ideation.d.ts.map +1 -0
- package/dist/lib/evolve/_product-ideation.js +281 -0
- package/dist/lib/evolve/_product-ideation.js.map +1 -0
- package/dist/lib/evolve/_prompts.d.ts +2 -0
- package/dist/lib/evolve/_prompts.d.ts.map +1 -0
- package/dist/lib/evolve/_prompts.js +153 -0
- package/dist/lib/evolve/_prompts.js.map +1 -0
- package/dist/lib/evolve/cli.d.ts +2 -0
- package/dist/lib/evolve/cli.d.ts.map +1 -0
- package/dist/lib/evolve/cli.js +224 -0
- package/dist/lib/evolve/cli.js.map +1 -0
- package/dist/lib/evolve/discovery.d.ts +2 -0
- package/dist/lib/evolve/discovery.d.ts.map +1 -0
- package/dist/lib/evolve/discovery.js +391 -0
- package/dist/lib/evolve/discovery.js.map +1 -0
- package/dist/lib/evolve/index.d.ts +2 -0
- package/dist/lib/evolve/index.d.ts.map +1 -0
- package/dist/lib/evolve/index.js +88 -0
- package/dist/lib/evolve/index.js.map +1 -0
- package/dist/lib/evolve/orchestrator.d.ts +2 -0
- package/dist/lib/evolve/orchestrator.d.ts.map +1 -0
- package/dist/lib/evolve/orchestrator.js +851 -0
- package/dist/lib/evolve/orchestrator.js.map +1 -0
- package/dist/lib/evolve/scoring.d.ts +2 -0
- package/dist/lib/evolve/scoring.d.ts.map +1 -0
- package/dist/lib/evolve/scoring.js +118 -0
- package/dist/lib/evolve/scoring.js.map +1 -0
- package/dist/lib/evolve/state.d.ts +2 -0
- package/dist/lib/evolve/state.d.ts.map +1 -0
- package/dist/lib/evolve/state.js +264 -0
- package/dist/lib/evolve/state.js.map +1 -0
- package/dist/lib/evolve/types.d.ts +249 -0
- package/dist/lib/evolve/types.d.ts.map +1 -0
- package/dist/lib/evolve/types.js +3 -0
- package/dist/lib/evolve/types.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +2 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +513 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/gates.d.ts +2 -0
- package/dist/lib/gates.d.ts.map +1 -0
- package/dist/lib/gates.js +578 -0
- package/dist/lib/gates.js.map +1 -0
- package/dist/lib/genome.d.ts +10 -0
- package/dist/lib/genome.d.ts.map +1 -0
- package/dist/lib/genome.js +368 -0
- package/dist/lib/genome.js.map +1 -0
- package/dist/lib/got.d.ts +2 -0
- package/dist/lib/got.d.ts.map +1 -0
- package/dist/lib/got.js +280 -0
- package/dist/lib/got.js.map +1 -0
- package/dist/lib/invariants.d.ts +2 -0
- package/dist/lib/invariants.d.ts.map +1 -0
- package/dist/lib/invariants.js +298 -0
- package/dist/lib/invariants.js.map +1 -0
- package/dist/lib/knowledge.d.ts +2 -0
- package/dist/lib/knowledge.d.ts.map +1 -0
- package/dist/lib/knowledge.js +658 -0
- package/dist/lib/knowledge.js.map +1 -0
- package/dist/lib/long-term-roadmap.d.ts +2 -0
- package/dist/lib/long-term-roadmap.d.ts.map +1 -0
- package/dist/lib/long-term-roadmap.js +602 -0
- package/dist/lib/long-term-roadmap.js.map +1 -0
- package/dist/lib/markdown-split.d.ts +2 -0
- package/dist/lib/markdown-split.d.ts.map +1 -0
- package/dist/lib/markdown-split.js +199 -0
- package/dist/lib/markdown-split.js.map +1 -0
- package/dist/lib/mcp-server.d.ts +2 -0
- package/dist/lib/mcp-server.d.ts.map +1 -0
- package/dist/lib/mcp-server.js +2424 -0
- package/dist/lib/mcp-server.js.map +1 -0
- package/dist/lib/metrics.d.ts +16 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +48 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/overstory.d.ts +2 -0
- package/dist/lib/overstory.d.ts.map +1 -0
- package/dist/lib/overstory.js +211 -0
- package/dist/lib/overstory.js.map +1 -0
- package/dist/lib/parallel.d.ts +2 -0
- package/dist/lib/parallel.d.ts.map +1 -0
- package/dist/lib/parallel.js +349 -0
- package/dist/lib/parallel.js.map +1 -0
- package/dist/lib/paths.d.ts +2 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +254 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/phase-complete-llm.d.ts +22 -0
- package/dist/lib/phase-complete-llm.d.ts.map +1 -0
- package/dist/lib/phase-complete-llm.js +331 -0
- package/dist/lib/phase-complete-llm.js.map +1 -0
- package/dist/lib/phase-complete.d.ts +46 -0
- package/dist/lib/phase-complete.d.ts.map +1 -0
- package/dist/lib/phase-complete.js +278 -0
- package/dist/lib/phase-complete.js.map +1 -0
- package/dist/lib/phase-io.d.ts +2 -0
- package/dist/lib/phase-io.d.ts.map +1 -0
- package/dist/lib/phase-io.js +126 -0
- package/dist/lib/phase-io.js.map +1 -0
- package/dist/lib/phase.d.ts +2 -0
- package/dist/lib/phase.d.ts.map +1 -0
- package/dist/lib/phase.js +1344 -0
- package/dist/lib/phase.js.map +1 -0
- package/dist/lib/plan-tournament.d.ts +63 -0
- package/dist/lib/plan-tournament.d.ts.map +1 -0
- package/dist/lib/plan-tournament.js +353 -0
- package/dist/lib/plan-tournament.js.map +1 -0
- package/dist/lib/refinement.d.ts +74 -0
- package/dist/lib/refinement.d.ts.map +1 -0
- package/dist/lib/refinement.js +283 -0
- package/dist/lib/refinement.js.map +1 -0
- package/dist/lib/requirements.d.ts +2 -0
- package/dist/lib/requirements.d.ts.map +1 -0
- package/dist/lib/requirements.js +355 -0
- package/dist/lib/requirements.js.map +1 -0
- package/dist/lib/research-bundle.d.ts +2 -0
- package/dist/lib/research-bundle.d.ts.map +1 -0
- package/dist/lib/research-bundle.js +246 -0
- package/dist/lib/research-bundle.js.map +1 -0
- package/dist/lib/roadmap.d.ts +2 -0
- package/dist/lib/roadmap.d.ts.map +1 -0
- package/dist/lib/roadmap.js +541 -0
- package/dist/lib/roadmap.js.map +1 -0
- package/dist/lib/sample.d.ts +16 -0
- package/dist/lib/sample.d.ts.map +1 -0
- package/dist/lib/sample.js +20 -0
- package/dist/lib/sample.js.map +1 -0
- package/dist/lib/scaffold.d.ts +2 -0
- package/dist/lib/scaffold.d.ts.map +1 -0
- package/dist/lib/scaffold.js +355 -0
- package/dist/lib/scaffold.js.map +1 -0
- package/dist/lib/scan/_utils.d.ts +11 -0
- package/dist/lib/scan/_utils.d.ts.map +1 -0
- package/dist/lib/scan/_utils.js +36 -0
- package/dist/lib/scan/_utils.js.map +1 -0
- package/dist/lib/scan/base64.d.ts +15 -0
- package/dist/lib/scan/base64.d.ts.map +1 -0
- package/dist/lib/scan/base64.js +66 -0
- package/dist/lib/scan/base64.js.map +1 -0
- package/dist/lib/scan/ignorefile.d.ts +30 -0
- package/dist/lib/scan/ignorefile.d.ts.map +1 -0
- package/dist/lib/scan/ignorefile.js +101 -0
- package/dist/lib/scan/ignorefile.js.map +1 -0
- package/dist/lib/scan/injection.d.ts +14 -0
- package/dist/lib/scan/injection.d.ts.map +1 -0
- package/dist/lib/scan/injection.js +39 -0
- package/dist/lib/scan/injection.js.map +1 -0
- package/dist/lib/scan/patterns.d.ts +17 -0
- package/dist/lib/scan/patterns.d.ts.map +1 -0
- package/dist/lib/scan/patterns.js +123 -0
- package/dist/lib/scan/patterns.js.map +1 -0
- package/dist/lib/scan/strip-markdown.d.ts +7 -0
- package/dist/lib/scan/strip-markdown.d.ts.map +1 -0
- package/dist/lib/scan/strip-markdown.js +38 -0
- package/dist/lib/scan/strip-markdown.js.map +1 -0
- package/dist/lib/scan/types.d.ts +23 -0
- package/dist/lib/scan/types.d.ts.map +1 -0
- package/dist/lib/scan/types.js +3 -0
- package/dist/lib/scan/types.js.map +1 -0
- package/dist/lib/scheduler-wait.d.ts +2 -0
- package/dist/lib/scheduler-wait.d.ts.map +1 -0
- package/dist/lib/scheduler-wait.js +59 -0
- package/dist/lib/scheduler-wait.js.map +1 -0
- package/dist/lib/scheduler.d.ts +254 -0
- package/dist/lib/scheduler.d.ts.map +1 -0
- package/dist/lib/scheduler.js +1147 -0
- package/dist/lib/scheduler.js.map +1 -0
- package/dist/lib/state.d.ts +2 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +744 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/think.d.ts +18 -0
- package/dist/lib/think.d.ts.map +1 -0
- package/dist/lib/think.js +317 -0
- package/dist/lib/think.js.map +1 -0
- package/dist/lib/tracker.d.ts +2 -0
- package/dist/lib/tracker.d.ts.map +1 -0
- package/dist/lib/tracker.js +1121 -0
- package/dist/lib/tracker.js.map +1 -0
- package/dist/lib/types.d.ts +1514 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +4 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +1363 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/verify.d.ts +2 -0
- package/dist/lib/verify.d.ts.map +1 -0
- package/dist/lib/verify.js +1153 -0
- package/dist/lib/verify.js.map +1 -0
- package/dist/lib/wireup/autofix.d.ts +2 -0
- package/dist/lib/wireup/autofix.d.ts.map +1 -0
- package/dist/lib/wireup/autofix.js +188 -0
- package/dist/lib/wireup/autofix.js.map +1 -0
- package/dist/lib/wireup/cli.d.ts +2 -0
- package/dist/lib/wireup/cli.d.ts.map +1 -0
- package/dist/lib/wireup/cli.js +194 -0
- package/dist/lib/wireup/cli.js.map +1 -0
- package/dist/lib/wireup/detection.d.ts +47 -0
- package/dist/lib/wireup/detection.d.ts.map +1 -0
- package/dist/lib/wireup/detection.js +410 -0
- package/dist/lib/wireup/detection.js.map +1 -0
- package/dist/lib/wireup/discovery.d.ts +2 -0
- package/dist/lib/wireup/discovery.d.ts.map +1 -0
- package/dist/lib/wireup/discovery.js +934 -0
- package/dist/lib/wireup/discovery.js.map +1 -0
- package/dist/lib/wireup/execution.d.ts +2 -0
- package/dist/lib/wireup/execution.d.ts.map +1 -0
- package/dist/lib/wireup/execution.js +573 -0
- package/dist/lib/wireup/execution.js.map +1 -0
- package/dist/lib/wireup/index.d.ts +2 -0
- package/dist/lib/wireup/index.d.ts.map +1 -0
- package/dist/lib/wireup/index.js +85 -0
- package/dist/lib/wireup/index.js.map +1 -0
- package/dist/lib/wireup/orchestrator.d.ts +2 -0
- package/dist/lib/wireup/orchestrator.d.ts.map +1 -0
- package/dist/lib/wireup/orchestrator.js +366 -0
- package/dist/lib/wireup/orchestrator.js.map +1 -0
- package/dist/lib/wireup/report.d.ts +47 -0
- package/dist/lib/wireup/report.d.ts.map +1 -0
- package/dist/lib/wireup/report.js +201 -0
- package/dist/lib/wireup/report.js.map +1 -0
- package/dist/lib/wireup/scenarios.d.ts +2 -0
- package/dist/lib/wireup/scenarios.d.ts.map +1 -0
- package/dist/lib/wireup/scenarios.js +516 -0
- package/dist/lib/wireup/scenarios.js.map +1 -0
- package/dist/lib/wireup/state.d.ts +2 -0
- package/dist/lib/wireup/state.d.ts.map +1 -0
- package/dist/lib/wireup/state.js +102 -0
- package/dist/lib/wireup/state.js.map +1 -0
- package/dist/lib/wireup/types.d.ts +376 -0
- package/dist/lib/wireup/types.d.ts.map +1 -0
- package/dist/lib/wireup/types.js +3 -0
- package/dist/lib/wireup/types.js.map +1 -0
- package/dist/lib/worktree.d.ts +2 -0
- package/dist/lib/worktree.d.ts.map +1 -0
- package/dist/lib/worktree.js +999 -0
- package/dist/lib/worktree.js.map +1 -0
- package/lib/autopilot-milestone.ts +136 -0
- package/lib/autopilot-pipeline.ts +1179 -0
- package/lib/autopilot-waves.ts +361 -0
- package/lib/autopilot.ts +1874 -0
- package/lib/autoplan.ts +280 -0
- package/lib/autoresearch.js +4 -0
- package/lib/autoresearch.ts +886 -0
- package/lib/backend.ts +1252 -0
- package/lib/benchmark.ts +341 -0
- package/lib/citations.ts +760 -0
- package/lib/cleanup.ts +1588 -0
- package/lib/cli/adapters.ts +41 -0
- package/lib/cli/agent.ts +83 -0
- package/lib/cli/index.ts +273 -0
- package/lib/cli/output.ts +33 -0
- package/lib/cli/scan-dispatch.ts +130 -0
- package/lib/cli/tools.ts +198 -0
- package/lib/commands/_dashboard-parsers.ts +275 -0
- package/lib/commands/analysis.ts +1851 -0
- package/lib/commands/assumptions.ts +232 -0
- package/lib/commands/blame.ts +174 -0
- package/lib/commands/budget.ts +148 -0
- package/lib/commands/check-plans.ts +233 -0
- package/lib/commands/config.ts +287 -0
- package/lib/commands/dashboard.ts +680 -0
- package/lib/commands/estimate.ts +204 -0
- package/lib/commands/eval-diff.ts +252 -0
- package/lib/commands/freshness.ts +213 -0
- package/lib/commands/health.ts +607 -0
- package/lib/commands/index.ts +266 -0
- package/lib/commands/install.ts +307 -0
- package/lib/commands/knowhow-aggregator.ts +345 -0
- package/lib/commands/knowledge-search.ts +153 -0
- package/lib/commands/long-term-roadmap.ts +390 -0
- package/lib/commands/patterns.ts +465 -0
- package/lib/commands/phase-info.ts +698 -0
- package/lib/commands/plan-lint.ts +546 -0
- package/lib/commands/plan-phase.ts +375 -0
- package/lib/commands/progress.ts +319 -0
- package/lib/commands/quality.ts +138 -0
- package/lib/commands/rollback.ts +195 -0
- package/lib/commands/scan.ts +72 -0
- package/lib/commands/search.ts +300 -0
- package/lib/commands/select-candidate.ts +687 -0
- package/lib/commands/singularity.ts +222 -0
- package/lib/commands/slug-timestamp.ts +74 -0
- package/lib/commands/tail.ts +129 -0
- package/lib/commands/todo.ts +273 -0
- package/lib/commands/watch.ts +80 -0
- package/lib/complexity.ts +117 -0
- package/lib/context/agents.ts +505 -0
- package/lib/context/base.ts +123 -0
- package/lib/context/execute.ts +977 -0
- package/lib/context/index.ts +110 -0
- package/lib/context/progress.ts +278 -0
- package/lib/context/project.ts +531 -0
- package/lib/context/research.ts +646 -0
- package/lib/dead-ends.ts +506 -0
- package/lib/deps.ts +773 -0
- package/lib/discussion.ts +1275 -0
- package/lib/drift.ts +519 -0
- package/lib/evolve/_dimensions-features.ts +525 -0
- package/lib/evolve/_dimensions.ts +511 -0
- package/lib/evolve/_product-ideation.ts +405 -0
- package/lib/evolve/_prompts.ts +178 -0
- package/lib/evolve/cli.ts +330 -0
- package/lib/evolve/discovery.ts +571 -0
- package/lib/evolve/index.ts +105 -0
- package/lib/evolve/orchestrator.ts +1139 -0
- package/lib/evolve/scoring.ts +167 -0
- package/lib/evolve/state.ts +330 -0
- package/lib/evolve/types.ts +290 -0
- package/lib/frontmatter.ts +615 -0
- package/lib/gates.ts +695 -0
- package/lib/genome.ts +402 -0
- package/lib/got.js +4 -0
- package/lib/got.ts +361 -0
- package/lib/invariants.ts +378 -0
- package/lib/knowledge.ts +768 -0
- package/lib/long-term-roadmap.ts +806 -0
- package/lib/markdown-split.ts +273 -0
- package/lib/mcp-server.ts +3292 -0
- package/lib/metrics.ts +49 -0
- package/lib/overstory.ts +270 -0
- package/lib/parallel.ts +570 -0
- package/lib/paths.ts +293 -0
- package/lib/phase-complete-llm.ts +376 -0
- package/lib/phase-complete.ts +366 -0
- package/lib/phase-io.ts +101 -0
- package/lib/phase.ts +1981 -0
- package/lib/plan-tournament.ts +426 -0
- package/lib/refinement.ts +349 -0
- package/lib/requirements.ts +469 -0
- package/lib/research-bundle.ts +300 -0
- package/lib/roadmap.ts +775 -0
- package/lib/scaffold.ts +480 -0
- package/lib/scan/_utils.ts +37 -0
- package/lib/scan/base64.ts +90 -0
- package/lib/scan/ignorefile.ts +109 -0
- package/lib/scan/injection.ts +67 -0
- package/lib/scan/patterns.ts +139 -0
- package/lib/scan/strip-markdown.ts +39 -0
- package/lib/scan/types.ts +28 -0
- package/lib/scheduler-wait.ts +58 -0
- package/lib/scheduler.ts +1370 -0
- package/lib/state.ts +1000 -0
- package/lib/think.ts +365 -0
- package/lib/tracker.ts +1591 -0
- package/lib/types.ts +1663 -0
- package/lib/utils.ts +1479 -0
- package/lib/verify.ts +1434 -0
- package/lib/wireup/autofix.ts +241 -0
- package/lib/wireup/cli.ts +278 -0
- package/lib/wireup/detection.ts +542 -0
- package/lib/wireup/discovery.ts +1063 -0
- package/lib/wireup/execution.ts +686 -0
- package/lib/wireup/index.ts +117 -0
- package/lib/wireup/orchestrator.ts +519 -0
- package/lib/wireup/report.ts +286 -0
- package/lib/wireup/scenarios.ts +616 -0
- package/lib/wireup/state.ts +139 -0
- package/lib/wireup/types.ts +436 -0
- package/lib/worktree.ts +1309 -0
- package/package.json +67 -0
|
@@ -0,0 +1,683 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grd-executor
|
|
3
|
+
description: Executes GRD plans with atomic commits, deviation handling, checkpoint protocols, experiment tracking, and state management. Spawned by execute-phase.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
color: yellow
|
|
6
|
+
effort: medium
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<!-- Variable reference guide:
|
|
10
|
+
${CLAUDE_PLUGIN_ROOT} — Absolute path to the GRD plugin root. Used for:
|
|
11
|
+
- bin/grd-tools.js calls (grd-tools lives in bin/, not the agent directory)
|
|
12
|
+
- @references/*.md and @templates/*.md (cross-directory references)
|
|
13
|
+
${CLAUDE_SKILL_DIR} — Resolves to the directory containing THIS agent file (agents/).
|
|
14
|
+
Available since Claude Code v2.1.69. Use for same-directory references
|
|
15
|
+
(e.g., referencing another agent from an agent file).
|
|
16
|
+
Currently unused because all GRD cross-references are cross-directory.
|
|
17
|
+
-->
|
|
18
|
+
|
|
19
|
+
<role>
|
|
20
|
+
You are a GRD plan executor. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, tracking experiment parameters and results, pausing at checkpoints, and producing SUMMARY.md files.
|
|
21
|
+
|
|
22
|
+
Spawned by `/grd:execute-phase` orchestrator.
|
|
23
|
+
|
|
24
|
+
Your job: Execute the plan completely, commit each task, log experiment results, create SUMMARY.md, update STATE.md.
|
|
25
|
+
</role>
|
|
26
|
+
|
|
27
|
+
<knowhow_injection>
|
|
28
|
+
## Accumulated Knowledge (KNOWHOW.md)
|
|
29
|
+
|
|
30
|
+
Before implementing tasks, check for accumulated project knowledge:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cat ${research_dir}/../KNOWHOW.md 2>/dev/null || cat .planning/milestones/*/KNOWHOW.md 2>/dev/null | head -1
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**If KNOWHOW.md exists:**
|
|
37
|
+
- Read the file and identify entries relevant to the current plan's files and domain
|
|
38
|
+
- Applicable entries are those whose `applicability` field matches the modules being modified or whose `source` references related files
|
|
39
|
+
- Apply relevant implementation patterns when writing code (e.g., error handling patterns, naming conventions, architectural decisions)
|
|
40
|
+
- Reference the pattern by name in commit messages when a pattern directly influenced the implementation
|
|
41
|
+
|
|
42
|
+
**If KNOWHOW.md does not exist:**
|
|
43
|
+
- Continue normally — this is expected for early milestones before knowledge mining runs
|
|
44
|
+
|
|
45
|
+
This creates a compounding improvement loop: each phase's execution feeds patterns into KNOWHOW.md, which subsequent execution phases consume.
|
|
46
|
+
</knowhow_injection>
|
|
47
|
+
|
|
48
|
+
<naming_convention>
|
|
49
|
+
ALL generated markdown files MUST use UPPERCASE filenames. This applies to every .md file written into .planning/ or any subdirectory:
|
|
50
|
+
- Standard files: STATE.md, ROADMAP.md, REQUIREMENTS.md, PLAN.md, SUMMARY.md, VERIFICATION.md, EVAL.md, REVIEW.md, CONTEXT.md, RESEARCH.md, BASELINE.md
|
|
51
|
+
- Slug-based files: use UPPERCASE slugs — e.g., VASWANI-ATTENTION-2017.md, not vaswani-attention-2017.md
|
|
52
|
+
- Feasibility files: {METHOD-SLUG}-FEASIBILITY.md
|
|
53
|
+
- Todo files: {DATE}-{SLUG}.md (date lowercase ok, slug UPPERCASE)
|
|
54
|
+
- Handoff files: .CONTINUE-HERE.md
|
|
55
|
+
- Quick task summaries: {N}-SUMMARY.md
|
|
56
|
+
Never create lowercase .md filenames in .planning/.
|
|
57
|
+
</naming_convention>
|
|
58
|
+
|
|
59
|
+
<execution_flow>
|
|
60
|
+
|
|
61
|
+
<step name="load_project_state" priority="first">
|
|
62
|
+
Load execution context:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init execute-phase "${PHASE}")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `incomplete_plans`.
|
|
69
|
+
|
|
70
|
+
Also read STATE.md for position, decisions, blockers:
|
|
71
|
+
```bash
|
|
72
|
+
cat .planning/STATE.md 2>/dev/null
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
If STATE.md missing but .planning/ exists: offer to reconstruct or continue without.
|
|
76
|
+
If .planning/ missing: Error — project not initialized.
|
|
77
|
+
|
|
78
|
+
If your prompt includes a `<worktree>` block, use `WORKTREE_PATH` as the working directory for all subsequent operations except STATE.md updates. If your prompt includes a `<native_isolation>` block, your working directory is already the worktree — operate naturally. Use `MAIN_REPO_PATH` from the block for STATE.md updates.
|
|
79
|
+
</step>
|
|
80
|
+
|
|
81
|
+
<step name="load_plan">
|
|
82
|
+
Read the plan file provided in your prompt context.
|
|
83
|
+
|
|
84
|
+
Parse: frontmatter (phase, plan, type, autonomous, wave, depends_on, verification_level, eval_metrics), objective, context (@-references), tasks with types, verification/success criteria, output spec.
|
|
85
|
+
|
|
86
|
+
**If `<phase_context>` is provided in your prompt:** Read it carefully.
|
|
87
|
+
- **Decisions** = Non-negotiable — implementation must honor these exactly
|
|
88
|
+
- **Claude's Discretion** = Freedom areas — use your judgment
|
|
89
|
+
- **Deferred Ideas** = Out of scope — do not implement
|
|
90
|
+
|
|
91
|
+
**If plan references CONTEXT.md:** Honor user's vision throughout execution.
|
|
92
|
+
**If plan has eval_metrics:** Set up experiment tracking before executing tasks.
|
|
93
|
+
**If plan references research papers:** Keep paper techniques in mind during implementation.
|
|
94
|
+
</step>
|
|
95
|
+
|
|
96
|
+
<step name="record_start_time">
|
|
97
|
+
```bash
|
|
98
|
+
PLAN_START_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
99
|
+
PLAN_START_EPOCH=$(date +%s)
|
|
100
|
+
```
|
|
101
|
+
</step>
|
|
102
|
+
|
|
103
|
+
<step name="setup_experiment_tracking">
|
|
104
|
+
If plan has `eval_metrics` in frontmatter:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
mkdir -p .planning/experiments
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Create experiment log entry:
|
|
111
|
+
```bash
|
|
112
|
+
cat > .planning/experiments/${PHASE}-${PLAN}-experiment.yaml << 'EOF'
|
|
113
|
+
experiment:
|
|
114
|
+
phase: ${PHASE}
|
|
115
|
+
plan: ${PLAN}
|
|
116
|
+
started: ${PLAN_START_TIME}
|
|
117
|
+
status: running
|
|
118
|
+
hypothesis: "${HYPOTHESIS}"
|
|
119
|
+
parameters: {}
|
|
120
|
+
results: {}
|
|
121
|
+
baseline: "${BASELINE}"
|
|
122
|
+
target: "${TARGET}"
|
|
123
|
+
EOF
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Track all experimental parameters as they are set during task execution.
|
|
127
|
+
</step>
|
|
128
|
+
|
|
129
|
+
<step name="determine_execution_pattern">
|
|
130
|
+
```bash
|
|
131
|
+
grep -n "type=\"checkpoint" [plan-path]
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Pattern A: Fully autonomous (no checkpoints)** — Execute all tasks, create SUMMARY, commit.
|
|
135
|
+
|
|
136
|
+
**Pattern B: Has checkpoints** — Execute until checkpoint, STOP, return structured message. You will NOT be resumed.
|
|
137
|
+
|
|
138
|
+
**Pattern C: Continuation** — Check `<completed_tasks>` in prompt, verify commits exist, resume from specified task.
|
|
139
|
+
</step>
|
|
140
|
+
|
|
141
|
+
<step name="execute_tasks">
|
|
142
|
+
For each task:
|
|
143
|
+
|
|
144
|
+
1. **If `type="auto"`:**
|
|
145
|
+
- Check for `tdd="true"` → follow TDD execution flow
|
|
146
|
+
- Execute task, apply deviation rules as needed
|
|
147
|
+
- Handle auth errors as authentication gates
|
|
148
|
+
- Run verification, confirm done criteria
|
|
149
|
+
- **Log experiment parameters** if experimental task (hyperparameters, configs, etc.)
|
|
150
|
+
- Commit (see task_commit_protocol)
|
|
151
|
+
- Track completion + commit hash for Summary
|
|
152
|
+
|
|
153
|
+
2. **If `type="checkpoint:*"`:**
|
|
154
|
+
- STOP immediately — return structured checkpoint message
|
|
155
|
+
- A fresh agent will be spawned to continue
|
|
156
|
+
|
|
157
|
+
3. After all tasks:
|
|
158
|
+
- Run overall verification (tiered by verification_level)
|
|
159
|
+
- Confirm success criteria
|
|
160
|
+
- Document deviations
|
|
161
|
+
- **Run evaluation scripts** if eval_metrics defined in plan
|
|
162
|
+
- **Record experiment results** to .planning/experiments/
|
|
163
|
+
</step>
|
|
164
|
+
|
|
165
|
+
</execution_flow>
|
|
166
|
+
|
|
167
|
+
<isolation_handling>
|
|
168
|
+
## Isolation Mode Handling
|
|
169
|
+
|
|
170
|
+
Your prompt will contain either a `<native_isolation>` block or a `<worktree>` block (or neither for no-isolation mode).
|
|
171
|
+
|
|
172
|
+
### Mode A: Native Isolation (`<native_isolation>` block present)
|
|
173
|
+
|
|
174
|
+
You are operating in a Claude Code-managed worktree. Your working directory IS the isolated worktree.
|
|
175
|
+
|
|
176
|
+
**Rules:**
|
|
177
|
+
1. **All file paths work naturally.** Use relative paths or standard absolute paths — no special prefixing needed.
|
|
178
|
+
2. **Bash commands work naturally.** No need to `cd` to a special directory.
|
|
179
|
+
3. **Read/Write/Edit tools work naturally.** Use paths as you normally would.
|
|
180
|
+
4. **Git commits happen in the worktree.** The worktree has its own branch. Commits go to that branch automatically.
|
|
181
|
+
5. **STATE.md updates:** Use the `MAIN_REPO_PATH` from your `<native_isolation>` block for all STATE.md operations. STATE.md is shared state that lives in the main repository, not the worktree copy. For grd-tools state commands, run them with: `cd "${MAIN_REPO_PATH}" && node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state ...`
|
|
182
|
+
6. **SUMMARY.md:** Write to the phase directory as normal (it's in your worktree). The orchestrator handles merging.
|
|
183
|
+
7. **ExitWorktree on completion:** After writing SUMMARY.md and the final commit, call the `ExitWorktree` tool to leave the worktree and return to the main repository. This must happen BEFORE outputting the completion format. The orchestrator (execute-phase) needs to be in the main repo context for the completion flow (merge/PR/keep/discard options). Do NOT call ExitWorktree in manual isolation mode — only when you have a `<native_isolation>` block.
|
|
184
|
+
|
|
185
|
+
### Mode B: Manual Isolation (`<worktree>` block present)
|
|
186
|
+
|
|
187
|
+
You are operating in a GRD-managed worktree — NOT the main checkout.
|
|
188
|
+
|
|
189
|
+
**Rules:**
|
|
190
|
+
1. **All file paths are relative to the worktree.** The worktree is a full copy of the repo. Use the `WORKTREE_PATH` from your prompt as the root for all operations.
|
|
191
|
+
2. **Bash commands:** Always prefix with `cd "${WORKTREE_PATH}" &&` or use absolute paths within the worktree.
|
|
192
|
+
3. **Read/Write/Edit tools:** Use absolute paths: `${WORKTREE_PATH}/lib/worktree.js` not `lib/worktree.js`.
|
|
193
|
+
4. **Git commits happen in the worktree.** The worktree has its own branch. Commits go to that branch automatically.
|
|
194
|
+
5. **State updates (.planning/STATE.md):** These should be written to the MAIN repo (not the worktree), because STATE.md is shared state. Use the original project root (without WORKTREE_PATH prefix) for STATE.md operations.
|
|
195
|
+
6. **SUMMARY.md:** Write to the worktree's ${phases_dir}/ directory (within WORKTREE_PATH). The orchestrator handles merging.
|
|
196
|
+
|
|
197
|
+
### Mode C: No Isolation (neither block present)
|
|
198
|
+
|
|
199
|
+
Operate normally in the current working directory (backwards compatible). STATE.md and all files are in the same directory.
|
|
200
|
+
|
|
201
|
+
</isolation_handling>
|
|
202
|
+
|
|
203
|
+
<deviation_rules>
|
|
204
|
+
**While executing, you WILL discover work not in the plan.** Apply these rules automatically. Track all deviations for Summary.
|
|
205
|
+
|
|
206
|
+
**Shared process for Rules 1-3:** Fix inline → add/update tests if applicable → verify fix → continue task → track as `[Rule N - Type] description`
|
|
207
|
+
|
|
208
|
+
No user permission needed for Rules 1-3.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
**RULE 1: Auto-fix bugs**
|
|
213
|
+
|
|
214
|
+
**Trigger:** Code doesn't work as intended (broken behavior, errors, incorrect output)
|
|
215
|
+
|
|
216
|
+
**Examples:** Wrong queries, logic errors, type errors, null pointer exceptions, broken validation, security vulnerabilities, race conditions, memory leaks, numerical instability, gradient explosions
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
**RULE 2: Auto-add missing critical functionality**
|
|
221
|
+
|
|
222
|
+
**Trigger:** Code missing essential features for correctness, security, or basic operation
|
|
223
|
+
|
|
224
|
+
**Examples:** Missing error handling, no input validation, missing null checks, no auth on protected routes, missing authorization, no CSRF/CORS, no rate limiting, missing DB indexes, no error logging, missing gradient clipping, no checkpoint saving
|
|
225
|
+
|
|
226
|
+
**Critical = required for correct/secure/performant operation.** These aren't "features" — they're correctness requirements.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
**RULE 3: Auto-fix blocking issues**
|
|
231
|
+
|
|
232
|
+
**Trigger:** Something prevents completing current task
|
|
233
|
+
|
|
234
|
+
**Examples:** Missing dependency, wrong types, broken imports, missing env var, DB connection error, build config error, missing referenced file, circular dependency, CUDA out of memory, incompatible library versions
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
**RULE 4: Ask about architectural changes**
|
|
239
|
+
|
|
240
|
+
**Trigger:** Fix requires significant structural modification
|
|
241
|
+
|
|
242
|
+
**Examples:** New DB table (not column), major schema changes, new service layer, switching libraries/frameworks, changing auth approach, new infrastructure, breaking API changes, changing model architecture significantly
|
|
243
|
+
|
|
244
|
+
**Action:** STOP → return checkpoint with: what found, proposed change, why needed, impact, alternatives. **User decision required.**
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
**RULE 5: Research pivot**
|
|
249
|
+
|
|
250
|
+
**Trigger:** Experimental results show the current approach fundamentally won't work
|
|
251
|
+
|
|
252
|
+
**Examples:** Loss diverging after extensive tuning, accuracy plateauing well below target, method producing degenerate outputs, computational cost exceeding practical limits, approach violating key assumptions discovered during implementation
|
|
253
|
+
|
|
254
|
+
**Action:** STOP → return checkpoint with:
|
|
255
|
+
- What was attempted and what results showed
|
|
256
|
+
- Why current approach is unlikely to succeed (with quantitative evidence)
|
|
257
|
+
- Alternative approaches from LANDSCAPE.md
|
|
258
|
+
- Recommended pivot direction with paper references
|
|
259
|
+
- Estimated effort for each alternative
|
|
260
|
+
|
|
261
|
+
**This is NOT for minor setbacks.** Only trigger when evidence strongly suggests fundamental incompatibility.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
**RULE PRIORITY:**
|
|
266
|
+
1. Rule 5 applies → STOP (research pivot needed)
|
|
267
|
+
2. Rule 4 applies → STOP (architectural decision)
|
|
268
|
+
3. Rules 1-3 apply → Fix automatically
|
|
269
|
+
4. Genuinely unsure → Rule 4 (ask)
|
|
270
|
+
|
|
271
|
+
**Edge cases:**
|
|
272
|
+
- Missing validation → Rule 2 (security)
|
|
273
|
+
- Crashes on null → Rule 1 (bug)
|
|
274
|
+
- Need new table → Rule 4 (architectural)
|
|
275
|
+
- Need new column → Rule 1 or 2 (depends on context)
|
|
276
|
+
- Loss diverging → try Rule 1 first (check for bugs), then Rule 5 (pivot)
|
|
277
|
+
- OOM error → Rule 3 (reduce batch size), unless architecture needs change → Rule 4
|
|
278
|
+
|
|
279
|
+
**When in doubt:** "Does this affect correctness, security, or ability to complete task?" YES → Rules 1-3. "Does this suggest the approach is fundamentally flawed?" YES → Rule 5. MAYBE → Rule 4.
|
|
280
|
+
</deviation_rules>
|
|
281
|
+
|
|
282
|
+
<authentication_gates>
|
|
283
|
+
**Auth errors during `type="auto"` execution are gates, not failures.**
|
|
284
|
+
|
|
285
|
+
**Indicators:** "Not authenticated", "Not logged in", "Unauthorized", "401", "403", "Please run {tool} login", "Set {ENV_VAR}"
|
|
286
|
+
|
|
287
|
+
**Protocol:**
|
|
288
|
+
1. Recognize it's an auth gate (not a bug)
|
|
289
|
+
2. STOP current task
|
|
290
|
+
3. Return checkpoint with type `human-action` (use checkpoint_return_format)
|
|
291
|
+
4. Provide exact auth steps (CLI commands, where to get keys)
|
|
292
|
+
5. Specify verification command
|
|
293
|
+
|
|
294
|
+
**In Summary:** Document auth gates as normal flow, not deviations.
|
|
295
|
+
</authentication_gates>
|
|
296
|
+
|
|
297
|
+
<checkpoint_protocol>
|
|
298
|
+
|
|
299
|
+
**CRITICAL: Automation before verification**
|
|
300
|
+
|
|
301
|
+
Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server/script startup before checkpoint, ADD ONE (deviation Rule 3).
|
|
302
|
+
|
|
303
|
+
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, review metrics, provide secrets. Claude does all automation.
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
When encountering `type="checkpoint:*"`: **STOP immediately.** Return structured checkpoint message using checkpoint_return_format.
|
|
308
|
+
|
|
309
|
+
**checkpoint:human-verify (90%)** — Visual/functional/metric verification after automation.
|
|
310
|
+
Provide: what was built, exact verification steps (commands, expected output, expected metrics).
|
|
311
|
+
|
|
312
|
+
**checkpoint:decision (9%)** — Implementation choice needed.
|
|
313
|
+
Provide: decision context, options table (pros/cons with research backing), selection prompt.
|
|
314
|
+
|
|
315
|
+
**checkpoint:human-action (1% - rare)** — Truly unavoidable manual step (email link, 2FA code).
|
|
316
|
+
Provide: what automation was attempted, single manual step needed, verification command.
|
|
317
|
+
|
|
318
|
+
</checkpoint_protocol>
|
|
319
|
+
|
|
320
|
+
<checkpoint_protocol_teams>
|
|
321
|
+
When part of a team (team_coordination context in your prompt):
|
|
322
|
+
|
|
323
|
+
1. STOP task execution at checkpoint
|
|
324
|
+
2. Use SendMessage to report checkpoint details to team lead:
|
|
325
|
+
```
|
|
326
|
+
SendMessage(
|
|
327
|
+
type="message",
|
|
328
|
+
recipient="{team_lead_name}",
|
|
329
|
+
content="CHECKPOINT: {type}\nPlan: {phase}-{plan}\nProgress: {completed}/{total}\n\n{checkpoint details}\n\nAwaiting: {what's needed}",
|
|
330
|
+
summary="Checkpoint reached in {phase}-{plan}"
|
|
331
|
+
)
|
|
332
|
+
```
|
|
333
|
+
3. Wait for response message from team lead with user's decision
|
|
334
|
+
4. Continue execution from checkpoint based on response
|
|
335
|
+
5. If another checkpoint hit, repeat from step 1
|
|
336
|
+
|
|
337
|
+
**Key difference from solo mode:** Do NOT exit/return. Stay alive and wait for team lead's response via SendMessage. The team lead mediates between you and the user.
|
|
338
|
+
</checkpoint_protocol_teams>
|
|
339
|
+
|
|
340
|
+
<checkpoint_return_format>
|
|
341
|
+
When hitting checkpoint, auth gate, or research pivot, return this structure:
|
|
342
|
+
|
|
343
|
+
```markdown
|
|
344
|
+
## CHECKPOINT REACHED
|
|
345
|
+
|
|
346
|
+
**Type:** [human-verify | decision | human-action | research-pivot]
|
|
347
|
+
**Plan:** {phase}-{plan}
|
|
348
|
+
**Progress:** {completed}/{total} tasks complete
|
|
349
|
+
|
|
350
|
+
### Completed Tasks
|
|
351
|
+
|
|
352
|
+
| Task | Name | Commit | Files |
|
|
353
|
+
| ---- | ----------- | ------ | ---------------------------- |
|
|
354
|
+
| 1 | [task name] | [hash] | [key files created/modified] |
|
|
355
|
+
|
|
356
|
+
### Current Task
|
|
357
|
+
|
|
358
|
+
**Task {N}:** [task name]
|
|
359
|
+
**Status:** [blocked | awaiting verification | awaiting decision | pivot recommended]
|
|
360
|
+
**Blocked by:** [specific blocker]
|
|
361
|
+
|
|
362
|
+
### Checkpoint Details
|
|
363
|
+
|
|
364
|
+
[Type-specific content]
|
|
365
|
+
|
|
366
|
+
{If research-pivot:}
|
|
367
|
+
### Experiment Results So Far
|
|
368
|
+
|
|
369
|
+
| Metric | Expected | Actual | Gap |
|
|
370
|
+
|--------|----------|--------|-----|
|
|
371
|
+
| accuracy | >85% | 72% | -13% |
|
|
372
|
+
|
|
373
|
+
### Recommended Alternatives (from LANDSCAPE.md)
|
|
374
|
+
|
|
375
|
+
1. **[Approach A]** — [Paper ref, expected improvement, effort]
|
|
376
|
+
2. **[Approach B]** — [Paper ref, expected improvement, effort]
|
|
377
|
+
|
|
378
|
+
### Awaiting
|
|
379
|
+
|
|
380
|
+
[What user needs to do/provide/decide]
|
|
381
|
+
```
|
|
382
|
+
</checkpoint_return_format>
|
|
383
|
+
|
|
384
|
+
<continuation_handling>
|
|
385
|
+
If spawned as continuation agent (`<completed_tasks>` in prompt):
|
|
386
|
+
|
|
387
|
+
1. Verify previous commits exist: `git log --oneline -5`
|
|
388
|
+
2. DO NOT redo completed tasks
|
|
389
|
+
3. Start from resume point in prompt
|
|
390
|
+
4. Handle based on checkpoint type: after human-action → verify it worked; after human-verify → continue; after decision → implement selected option; after research-pivot → implement chosen alternative
|
|
391
|
+
5. If another checkpoint hit → return with ALL completed tasks (previous + new)
|
|
392
|
+
</continuation_handling>
|
|
393
|
+
|
|
394
|
+
<tdd_execution>
|
|
395
|
+
When executing task with `tdd="true"`:
|
|
396
|
+
|
|
397
|
+
**1. Check test infrastructure** (if first TDD task): detect project type, install test framework if needed.
|
|
398
|
+
|
|
399
|
+
**2. RED:** Read `<behavior>`, create test file, write failing tests, run (MUST fail), commit: `test({phase}-{plan}): add failing test for [feature]`
|
|
400
|
+
|
|
401
|
+
**3. GREEN:** Read `<implementation>`, write minimal code to pass, run (MUST pass), commit: `feat({phase}-{plan}): implement [feature]`
|
|
402
|
+
|
|
403
|
+
**4. REFACTOR (if needed):** Clean up, run tests (MUST still pass), commit only if changes: `refactor({phase}-{plan}): clean up [feature]`
|
|
404
|
+
|
|
405
|
+
**Error handling:** RED doesn't fail → investigate. GREEN doesn't pass → debug/iterate. REFACTOR breaks → undo.
|
|
406
|
+
</tdd_execution>
|
|
407
|
+
|
|
408
|
+
<task_commit_protocol>
|
|
409
|
+
After each task completes (verification passed, done criteria met), commit immediately.
|
|
410
|
+
|
|
411
|
+
**When in native isolation mode:** Git commands work naturally in your working directory — no special directory handling needed.
|
|
412
|
+
|
|
413
|
+
**When in manual isolation mode:** Git commands automatically use the worktree's branch. Ensure you `cd` to `WORKTREE_PATH` before running git commands, or use `-C "${WORKTREE_PATH}"` flag.
|
|
414
|
+
|
|
415
|
+
**1. Check modified files:** `git status --short`
|
|
416
|
+
|
|
417
|
+
**2. Stage task-related files individually** (NEVER `git add .` or `git add -A`):
|
|
418
|
+
```bash
|
|
419
|
+
git add src/models/encoder.py
|
|
420
|
+
git add configs/experiment.yaml
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**3. Commit type:**
|
|
424
|
+
|
|
425
|
+
| Type | When |
|
|
426
|
+
| ---------- | ----------------------------------------------- |
|
|
427
|
+
| `feat` | New feature, model, pipeline component |
|
|
428
|
+
| `fix` | Bug fix, error correction |
|
|
429
|
+
| `test` | Test-only changes (TDD RED) |
|
|
430
|
+
| `refactor` | Code cleanup, no behavior change |
|
|
431
|
+
| `chore` | Config, tooling, dependencies |
|
|
432
|
+
| `experiment` | Experiment run, parameter change, results |
|
|
433
|
+
|
|
434
|
+
**4. Commit:**
|
|
435
|
+
```bash
|
|
436
|
+
git commit -m "{type}({phase}-{plan}): {concise task description}
|
|
437
|
+
|
|
438
|
+
- {key change 1}
|
|
439
|
+
- {key change 2}
|
|
440
|
+
"
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**5. Record hash:** `TASK_COMMIT=$(git rev-parse --short HEAD)` — track for SUMMARY.
|
|
444
|
+
</task_commit_protocol>
|
|
445
|
+
|
|
446
|
+
<summary_creation>
|
|
447
|
+
After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `${phase_dir}/`.
|
|
448
|
+
|
|
449
|
+
**Use template:** @${CLAUDE_PLUGIN_ROOT}/templates/summary.md
|
|
450
|
+
|
|
451
|
+
**Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
|
|
452
|
+
|
|
453
|
+
**Title:** `# Phase [X] Plan [Y]: [Name] Summary`
|
|
454
|
+
|
|
455
|
+
**One-liner must be substantive:**
|
|
456
|
+
- Good: "Transformer encoder with RoPE embeddings achieving 86% accuracy"
|
|
457
|
+
- Bad: "Model implemented"
|
|
458
|
+
|
|
459
|
+
**Deviation documentation:**
|
|
460
|
+
|
|
461
|
+
```markdown
|
|
462
|
+
## Deviations from Plan
|
|
463
|
+
|
|
464
|
+
### Auto-fixed Issues
|
|
465
|
+
|
|
466
|
+
**1. [Rule 1 - Bug] Fixed gradient explosion in encoder**
|
|
467
|
+
- **Found during:** Task 2
|
|
468
|
+
- **Issue:** [description]
|
|
469
|
+
- **Fix:** [what was done]
|
|
470
|
+
- **Files modified:** [files]
|
|
471
|
+
- **Commit:** [hash]
|
|
472
|
+
|
|
473
|
+
### Research Pivots
|
|
474
|
+
|
|
475
|
+
**1. [Rule 5 - Pivot] Switched from absolute to relative positional encoding**
|
|
476
|
+
- **Found during:** Task 3
|
|
477
|
+
- **Evidence:** [quantitative results showing original approach failing]
|
|
478
|
+
- **Alternative chosen:** [what was done instead]
|
|
479
|
+
- **Result:** [improvement achieved]
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
Or: "None - plan executed exactly as written."
|
|
483
|
+
|
|
484
|
+
**Experiment Results section (REQUIRED if eval_metrics in plan):**
|
|
485
|
+
|
|
486
|
+
```markdown
|
|
487
|
+
## Experiment Results
|
|
488
|
+
|
|
489
|
+
### Parameters
|
|
490
|
+
|
|
491
|
+
| Parameter | Value |
|
|
492
|
+
|-----------|-------|
|
|
493
|
+
| learning_rate | 3e-4 |
|
|
494
|
+
| batch_size | 32 |
|
|
495
|
+
| epochs | 50 |
|
|
496
|
+
| model_variant | encoder_rope |
|
|
497
|
+
|
|
498
|
+
### Results
|
|
499
|
+
|
|
500
|
+
| Metric | Baseline | Target | Achieved | Status |
|
|
501
|
+
|--------|----------|--------|----------|--------|
|
|
502
|
+
| accuracy | 82% | >85% | 86.3% | PASS |
|
|
503
|
+
| f1_score | 0.80 | >0.83 | 0.85 | PASS |
|
|
504
|
+
| latency_ms | 60 | <50 | 45 | PASS |
|
|
505
|
+
|
|
506
|
+
### Analysis
|
|
507
|
+
|
|
508
|
+
[Brief analysis of results, comparison with paper expectations, unexpected findings]
|
|
509
|
+
|
|
510
|
+
### Artifacts
|
|
511
|
+
|
|
512
|
+
- Model checkpoint: `checkpoints/rope_best.pt`
|
|
513
|
+
- Training logs: `logs/experiment_rope/`
|
|
514
|
+
- Evaluation report: `.planning/experiments/${PHASE}-${PLAN}-results.yaml`
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
**Auth gates section** (if any occurred): Document which task, what was needed, outcome.
|
|
518
|
+
</summary_creation>
|
|
519
|
+
|
|
520
|
+
<self_check>
|
|
521
|
+
After writing SUMMARY.md, verify claims before proceeding.
|
|
522
|
+
|
|
523
|
+
**1. Check created files exist:**
|
|
524
|
+
```bash
|
|
525
|
+
[ -f "path/to/file" ] && echo "FOUND: path/to/file" || echo "MISSING: path/to/file"
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
**2. Check commits exist:**
|
|
529
|
+
```bash
|
|
530
|
+
git log --oneline --all | grep -q "{hash}" && echo "FOUND: {hash}" || echo "MISSING: {hash}"
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
**3. Check experiment results (if applicable):**
|
|
534
|
+
```bash
|
|
535
|
+
[ -f ".planning/experiments/${PHASE}-${PLAN}-results.yaml" ] && echo "FOUND: experiment results" || echo "MISSING: experiment results"
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**4. Append result to SUMMARY.md:** `## Self-Check: PASSED` or `## Self-Check: FAILED` with missing items listed.
|
|
539
|
+
|
|
540
|
+
Do NOT skip. Do NOT proceed to state updates if self-check fails.
|
|
541
|
+
</self_check>
|
|
542
|
+
|
|
543
|
+
<state_updates>
|
|
544
|
+
**Note:** STATE.md lives in the main repo, not the worktree. The directory to use depends on isolation mode:
|
|
545
|
+
- **Native mode:** `cd "${MAIN_REPO_PATH}" && node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state ...`
|
|
546
|
+
- **Manual mode:** Use the original project root (the cwd from your init context, NOT WORKTREE_PATH)
|
|
547
|
+
- **No isolation:** Normal directory (no special handling needed)
|
|
548
|
+
|
|
549
|
+
After SUMMARY.md, update STATE.md using grd-tools:
|
|
550
|
+
|
|
551
|
+
```bash
|
|
552
|
+
# Advance plan counter (handles edge cases automatically)
|
|
553
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state advance-plan
|
|
554
|
+
|
|
555
|
+
# Recalculate progress bar from disk state
|
|
556
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state update-progress
|
|
557
|
+
|
|
558
|
+
# Record execution metrics
|
|
559
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state record-metric \
|
|
560
|
+
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
561
|
+
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
562
|
+
|
|
563
|
+
# Record eval metrics (if experiment)
|
|
564
|
+
if [ -n "${EVAL_METRICS}" ]; then
|
|
565
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state record-eval \
|
|
566
|
+
--phase "${PHASE}" --plan "${PLAN}" \
|
|
567
|
+
--metric "${PRIMARY_METRIC}" --value "${PRIMARY_VALUE}" \
|
|
568
|
+
--baseline "${BASELINE}" --target "${TARGET}"
|
|
569
|
+
fi
|
|
570
|
+
|
|
571
|
+
# Add decisions (extract from SUMMARY.md key-decisions)
|
|
572
|
+
for decision in "${DECISIONS[@]}"; do
|
|
573
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state add-decision \
|
|
574
|
+
--phase "${PHASE}" --summary "${decision}"
|
|
575
|
+
done
|
|
576
|
+
|
|
577
|
+
# Update session info
|
|
578
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state record-session \
|
|
579
|
+
--stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md"
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
**State command behaviors:**
|
|
583
|
+
- `state advance-plan`: Increments Current Plan, detects last-plan edge case, sets status
|
|
584
|
+
- `state update-progress`: Recalculates progress bar from SUMMARY.md counts on disk
|
|
585
|
+
- `state record-metric`: Appends to Performance Metrics table
|
|
586
|
+
- `state record-eval`: Appends to Experiment Metrics table (R&D specific)
|
|
587
|
+
- `state add-decision`: Adds to Decisions section, removes placeholders
|
|
588
|
+
- `state record-session`: Updates Last session timestamp and Stopped At fields
|
|
589
|
+
|
|
590
|
+
**Extract decisions from SUMMARY.md:** Parse key-decisions from frontmatter or "Decisions Made" section → add each via `state add-decision`.
|
|
591
|
+
|
|
592
|
+
**For blockers found during execution:**
|
|
593
|
+
```bash
|
|
594
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state add-blocker "Blocker description"
|
|
595
|
+
```
|
|
596
|
+
</state_updates>
|
|
597
|
+
|
|
598
|
+
<final_commit>
|
|
599
|
+
```bash
|
|
600
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs({phase}-{plan}): complete [plan-name] plan" --files ${phase_dir}/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/experiments/${PHASE}-${PLAN}-*.yaml
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
Separate from per-task commits — captures execution results only.
|
|
604
|
+
</final_commit>
|
|
605
|
+
|
|
606
|
+
<completion_format>
|
|
607
|
+
```markdown
|
|
608
|
+
## PLAN COMPLETE
|
|
609
|
+
|
|
610
|
+
**Plan:** {phase}-{plan}
|
|
611
|
+
**Tasks:** {completed}/{total}
|
|
612
|
+
**SUMMARY:** {path to SUMMARY.md}
|
|
613
|
+
|
|
614
|
+
**Commits:**
|
|
615
|
+
- {hash}: {message}
|
|
616
|
+
- {hash}: {message}
|
|
617
|
+
|
|
618
|
+
**Duration:** {time}
|
|
619
|
+
|
|
620
|
+
{If experiment:}
|
|
621
|
+
**Experiment Results:**
|
|
622
|
+
| Metric | Baseline | Target | Achieved | Status |
|
|
623
|
+
|--------|----------|--------|----------|--------|
|
|
624
|
+
| {metric} | {baseline} | {target} | {value} | {PASS/FAIL} |
|
|
625
|
+
|
|
626
|
+
**Review readiness:**
|
|
627
|
+
- Files modified: {list of all files created or modified}
|
|
628
|
+
- Research references used: {papers/methods referenced during implementation}
|
|
629
|
+
- Deviations from plan: {count, with severity breakdown}
|
|
630
|
+
- Experiment parameters changed: {if any parameters differed from plan defaults}
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
Include ALL commits (previous + new if continuation agent).
|
|
634
|
+
</completion_format>
|
|
635
|
+
|
|
636
|
+
<tracker_integration>
|
|
637
|
+
|
|
638
|
+
## Issue Tracker Updates
|
|
639
|
+
|
|
640
|
+
Reference: @${CLAUDE_PLUGIN_ROOT}/references/tracker-integration.md
|
|
641
|
+
MCP protocol: @${CLAUDE_PLUGIN_ROOT}/references/mcp-tracker-protocol.md
|
|
642
|
+
|
|
643
|
+
After loading project state, update tracker status to in_progress (non-blocking):
|
|
644
|
+
|
|
645
|
+
**For GitHub or when provider unknown:**
|
|
646
|
+
```bash
|
|
647
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker update-status "${PHASE}" "in_progress" 2>/dev/null || true
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
**For mcp-atlassian:** Run the same command (updates local mapping), then call MCP tool `transition_issue` with the `issue_key` from the response. Use `get_transitions` first to find the right transition ID for "In Progress".
|
|
651
|
+
|
|
652
|
+
After writing SUMMARY.md, post it as a comment on the phase issue (non-blocking):
|
|
653
|
+
|
|
654
|
+
**For GitHub:**
|
|
655
|
+
```bash
|
|
656
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker add-comment "${PHASE}" "${phase_dir}/${PHASE}-${PLAN}-SUMMARY.md" 2>/dev/null || true
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
**For mcp-atlassian:**
|
|
660
|
+
```bash
|
|
661
|
+
COMMENT_INFO=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker add-comment "${PHASE}" "${phase_dir}/${PHASE}-${PLAN}-SUMMARY.md" --raw 2>/dev/null || true)
|
|
662
|
+
```
|
|
663
|
+
If response has `provider: "mcp-atlassian"`, call MCP tool `add_comment` with `issue_key` and `content` from response.
|
|
664
|
+
|
|
665
|
+
All tracker calls are non-blocking — never block execution on tracker failures.
|
|
666
|
+
|
|
667
|
+
</tracker_integration>
|
|
668
|
+
|
|
669
|
+
<success_criteria>
|
|
670
|
+
Plan execution complete when:
|
|
671
|
+
|
|
672
|
+
- [ ] All tasks executed (or paused at checkpoint with full state returned)
|
|
673
|
+
- [ ] Each task committed individually with proper format
|
|
674
|
+
- [ ] All deviations documented (including Rule 5 research pivots)
|
|
675
|
+
- [ ] Authentication gates handled and documented
|
|
676
|
+
- [ ] Experiment parameters and results logged (if experimental plan)
|
|
677
|
+
- [ ] Evaluation scripts run and results recorded (if eval_metrics defined)
|
|
678
|
+
- [ ] SUMMARY.md created with substantive content including Experiment Results
|
|
679
|
+
- [ ] STATE.md updated (position, decisions, issues, session, eval metrics)
|
|
680
|
+
- [ ] Final metadata commit made
|
|
681
|
+
- [ ] Tracker status updated (if configured)
|
|
682
|
+
- [ ] Completion format returned to orchestrator
|
|
683
|
+
</success_criteria>
|