@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,655 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create executable phase plans with research, verification, and eval planning. Use --research-only or --eval-only for focused modes.
|
|
3
|
+
argument-hint: <phase number> [--research-only | --eval-only]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<purpose>
|
|
7
|
+
Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research, verification, and eval planning. Default flow: Research (if needed) -> Plan -> Verify -> Eval Plan -> Done. Orchestrates grd-phase-researcher, grd-planner, grd-plan-checker, and grd-eval-planner agents with a revision loop (max 3 iterations). Loads research landscape context before planning.
|
|
8
|
+
|
|
9
|
+
Supports focused modes via flags:
|
|
10
|
+
- `--research-only` — Run only the researcher agent (replaces standalone `/grd:research-phase`)
|
|
11
|
+
- `--eval-only` — Run only the eval planner agent (replaces standalone `/grd:eval-plan`)
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<modes>
|
|
15
|
+
|
|
16
|
+
## Focused Modes
|
|
17
|
+
|
|
18
|
+
### `--research-only`
|
|
19
|
+
|
|
20
|
+
Run only the phase researcher agent. Skips planner, plan-checker, and eval-planner entirely.
|
|
21
|
+
Produces `{NN}-RESEARCH.md` in the phase directory. Equivalent to the former `/grd:research-phase` command.
|
|
22
|
+
|
|
23
|
+
After completion, offers: Plan phase / Dig deeper / Review research / Done.
|
|
24
|
+
|
|
25
|
+
### `--eval-only`
|
|
26
|
+
|
|
27
|
+
Run only the eval planner agent. Skips researcher, planner, and plan-checker entirely.
|
|
28
|
+
Produces `{NN}-EVAL.md` in the phase directory. Equivalent to the former `/grd:eval-plan` command.
|
|
29
|
+
Requires that PLAN.md files already exist for the phase (so the eval planner has context).
|
|
30
|
+
|
|
31
|
+
After completion, offers: Execute phase / Review eval plan / Done.
|
|
32
|
+
|
|
33
|
+
### Default (no flag)
|
|
34
|
+
|
|
35
|
+
Full orchestrated flow: Research -> Plan -> Verify -> Eval Plan -> Done.
|
|
36
|
+
|
|
37
|
+
</modes>
|
|
38
|
+
|
|
39
|
+
<required_reading>
|
|
40
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
41
|
+
|
|
42
|
+
@${CLAUDE_PLUGIN_ROOT}/references/ui-brand.md
|
|
43
|
+
</required_reading>
|
|
44
|
+
|
|
45
|
+
<process>
|
|
46
|
+
|
|
47
|
+
## 1. Initialize
|
|
48
|
+
|
|
49
|
+
Load all context in one call (include file contents to avoid redundant reads):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init plan-phase "$PHASE" --include state,roadmap,requirements,context,research,verification,uat)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `autonomous_mode`, `research_dir`, `phases_dir`, `codebase_dir`.
|
|
56
|
+
|
|
57
|
+
**File contents (from --include):** `state_content`, `roadmap_content`, `requirements_content`, `context_content`, `research_content`, `verification_content`, `uat_content`. These are null if files don't exist.
|
|
58
|
+
|
|
59
|
+
**If `planning_exists` is false:** Error — run `/grd:init` first.
|
|
60
|
+
|
|
61
|
+
## 1.5. Load Research Landscape Context
|
|
62
|
+
|
|
63
|
+
**Before any planning, load research context from `${research_dir}/`:**
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
LANDSCAPE=$(cat ${research_dir}/LANDSCAPE.md 2>/dev/null)
|
|
67
|
+
KNOWHOW=$(cat ${research_dir}/KNOWHOW.md 2>/dev/null)
|
|
68
|
+
BENCHMARKS=$(cat ${research_dir}/BENCHMARKS.md 2>/dev/null)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Also check for relevant deep-dive files:
|
|
72
|
+
```bash
|
|
73
|
+
ls ${research_dir}/deep-dives/*.md 2>/dev/null
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Store as `research_landscape_context` — this will be passed to the planner agent.
|
|
77
|
+
|
|
78
|
+
## 2. Parse and Normalize Arguments
|
|
79
|
+
|
|
80
|
+
Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--gaps`, `--skip-verify`, `--research-only`, `--eval-only`, `--candidates N`).
|
|
81
|
+
|
|
82
|
+
**v0.4 multi-candidate mode (`--candidates N`, N > 1):** When the caller passes `--candidates N` with N > 1, the planner agent MUST emit N alternative plans for the phase. Each alternative goes between marker fences and is captured by `gd plan-candidates <phase> --candidates N`. See the `<multi_candidate>` block below — it activates ONLY when N > 1 and is otherwise silent (N === 1 is the v0.3.x default and keeps writing a single bare `PLAN.md` via the Write tool).
|
|
83
|
+
|
|
84
|
+
<multi_candidate>
|
|
85
|
+
**Active only when `--candidates N` is set with N > 1.**
|
|
86
|
+
|
|
87
|
+
You are producing {N} ALTERNATIVE plans for this phase. They must:
|
|
88
|
+
|
|
89
|
+
- Differ in **approach**, not just in wording. Choose meaningfully distinct strategies — e.g. one might emphasize adding new modules, another refactoring existing modules, another delegating to existing helpers.
|
|
90
|
+
- All satisfy the same `must_haves` (REQUIREMENTS.md).
|
|
91
|
+
- Each include their own `<reflection>` block; the `hypothesis` MUST differ across candidates (this is what `gd plan-lint` and Phase 3's deterministic selector will compare).
|
|
92
|
+
- Be emitted as marker-fenced text blocks, NOT written to disk via the Write tool. Do NOT call Write for `PLAN-i.md` files — the orchestrator runs `gd plan-candidates <phase> --candidates {N}` against your stdout and writes the files itself, with fail-closed count validation.
|
|
93
|
+
|
|
94
|
+
**Output format (REQUIRED — no other content between markers):**
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
<<<PLAN-1>>>
|
|
98
|
+
<full PLAN.md content for candidate 1: YAML frontmatter + body + tasks + reflection>
|
|
99
|
+
<<</PLAN-1>>>
|
|
100
|
+
<<<PLAN-2>>>
|
|
101
|
+
<full PLAN.md content for candidate 2>
|
|
102
|
+
<<</PLAN-2>>>
|
|
103
|
+
... (repeat for each candidate up to N) ...
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Do NOT nest markers. Do NOT skip indices. Do NOT emit a bare `PLAN.md`. The orchestrator will fail closed (no files written, non-zero exit) if the count is wrong, the indices don't cover 1..N exactly, or any block is malformed. Use `--allow-partial-candidates` only on retry after explicit confirmation.
|
|
107
|
+
</multi_candidate>
|
|
108
|
+
|
|
109
|
+
**Focused mode routing:**
|
|
110
|
+
- If `--research-only`: After initialization (steps 1-4), jump to step 5 (Handle Research, forced). After researcher returns, skip to step 14 (Present Final Status) with research-only summary. Do NOT run planner, checker, or eval-planner.
|
|
111
|
+
- If `--eval-only`: After initialization (steps 1-4), skip research/planner/checker and jump directly to step 13 (Eval Planning Step). After eval-planner returns, skip to step 14 (Present Final Status) with eval-only summary. Requires PLAN.md files to exist (error if missing).
|
|
112
|
+
|
|
113
|
+
**If no phase number:** Detect next unplanned phase from roadmap.
|
|
114
|
+
|
|
115
|
+
**If `phase_found` is false:** Validate phase exists in ROADMAP.md. If valid, create the directory using `phase_slug` and `padded_phase` from init:
|
|
116
|
+
```bash
|
|
117
|
+
mkdir -p "${phases_dir}/${padded_phase}-${phase_slug}"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Existing artifacts from init:** `has_research`, `has_plans`, `plan_count`.
|
|
121
|
+
|
|
122
|
+
## 3. Validate Phase
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
PHASE_INFO=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js roadmap get-phase "${PHASE}")
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**If `found` is false:** Error with available phases. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
|
|
129
|
+
|
|
130
|
+
## 4. Load CONTEXT.md
|
|
131
|
+
|
|
132
|
+
Use `context_content` from init JSON (already loaded via `--include context`).
|
|
133
|
+
|
|
134
|
+
**CRITICAL:** Use `context_content` from INIT — pass to researcher, planner, checker, and revision agents.
|
|
135
|
+
|
|
136
|
+
If `context_content` is not null, display: `Using phase context from: ${PHASE_DIR}/*-CONTEXT.md`
|
|
137
|
+
|
|
138
|
+
## 5. Handle Research
|
|
139
|
+
|
|
140
|
+
**Skip if:** `--gaps` flag, `--skip-research` flag, or `research_enabled` is false (from init) without `--research` override.
|
|
141
|
+
|
|
142
|
+
**If `has_research` is true (from init) AND no `--research` flag:** Use existing, skip to step 6.
|
|
143
|
+
|
|
144
|
+
**If RESEARCH.md missing OR `--research` flag:**
|
|
145
|
+
|
|
146
|
+
Display banner:
|
|
147
|
+
```
|
|
148
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
149
|
+
GRD ► RESEARCHING PHASE {X}
|
|
150
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
151
|
+
|
|
152
|
+
* Spawning researcher...
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Spawn grd-phase-researcher
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
PHASE_DESC=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js roadmap get-phase "${PHASE}" | jq -r '.section')
|
|
159
|
+
REQUIREMENTS=$(echo "$INIT" | jq -r '.requirements_content // empty' | grep -A100 "## Requirements" | head -50)
|
|
160
|
+
STATE_SNAP=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state-snapshot)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Research prompt:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
PATHS:
|
|
167
|
+
research_dir: ${research_dir}
|
|
168
|
+
phases_dir: ${phases_dir}
|
|
169
|
+
phase_dir: ${phase_dir}
|
|
170
|
+
codebase_dir: ${codebase_dir}
|
|
171
|
+
|
|
172
|
+
<objective>
|
|
173
|
+
Research how to implement Phase {phase_number}: {phase_name}
|
|
174
|
+
Answer: "What do I need to know to PLAN this phase well?"
|
|
175
|
+
</objective>
|
|
176
|
+
|
|
177
|
+
<phase_context>
|
|
178
|
+
IMPORTANT: If CONTEXT.md exists below, it contains user decisions from /grd:discuss-phase.
|
|
179
|
+
- **Decisions** = Locked — research THESE deeply, no alternatives
|
|
180
|
+
- **Claude's Discretion** = Freedom areas — research options, recommend
|
|
181
|
+
- **Deferred Ideas** = Out of scope — ignore
|
|
182
|
+
|
|
183
|
+
{context_content}
|
|
184
|
+
</phase_context>
|
|
185
|
+
|
|
186
|
+
<research_landscape>
|
|
187
|
+
{research_landscape_context}
|
|
188
|
+
</research_landscape>
|
|
189
|
+
|
|
190
|
+
<additional_context>
|
|
191
|
+
**Phase description:** {phase_description}
|
|
192
|
+
**Requirements:** {requirements}
|
|
193
|
+
**Prior decisions:** {decisions}
|
|
194
|
+
</additional_context>
|
|
195
|
+
|
|
196
|
+
<output>
|
|
197
|
+
Write to: {phase_dir}/{phase}-RESEARCH.md
|
|
198
|
+
</output>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
Task(
|
|
203
|
+
prompt="First, read ${CLAUDE_PLUGIN_ROOT}/agents/grd-phase-researcher.md for your role and instructions.\n\n" + research_prompt,
|
|
204
|
+
subagent_type="general-purpose",
|
|
205
|
+
model="{researcher_model}",
|
|
206
|
+
description="Research Phase {phase}"
|
|
207
|
+
)
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Handle Researcher Return
|
|
211
|
+
|
|
212
|
+
- **`## RESEARCH COMPLETE`:** Display confirmation. **If `--research-only`:** skip to step 14 with research-only summary (offer: Plan phase / Dig deeper / Review / Done). **Otherwise:** continue to step 6.
|
|
213
|
+
- **`## RESEARCH BLOCKED`:** Display blocker, offer: 1) Provide context, 2) Skip research, 3) Abort
|
|
214
|
+
|
|
215
|
+
## 6. Check Existing Plans
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**If exists:** Offer: 1) Add more plans, 2) View existing, 3) Replan from scratch.
|
|
222
|
+
|
|
223
|
+
## 7. Use Context Files from INIT
|
|
224
|
+
|
|
225
|
+
All file contents are already loaded via `--include` in step 1 (`@` syntax doesn't work across Task() boundaries):
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
STATE_CONTENT=$(echo "$INIT" | jq -r '.state_content // empty')
|
|
229
|
+
ROADMAP_CONTENT=$(echo "$INIT" | jq -r '.roadmap_content // empty')
|
|
230
|
+
REQUIREMENTS_CONTENT=$(echo "$INIT" | jq -r '.requirements_content // empty')
|
|
231
|
+
RESEARCH_CONTENT=$(echo "$INIT" | jq -r '.research_content // empty')
|
|
232
|
+
VERIFICATION_CONTENT=$(echo "$INIT" | jq -r '.verification_content // empty')
|
|
233
|
+
UAT_CONTENT=$(echo "$INIT" | jq -r '.uat_content // empty')
|
|
234
|
+
CONTEXT_CONTENT=$(echo "$INIT" | jq -r '.context_content // empty')
|
|
235
|
+
# Ouroboros context (codex r44 P1 #2-4): the planner agent's <dead-ends>,
|
|
236
|
+
# <genome>, and prior_reflections blocks document these inputs, but the
|
|
237
|
+
# orchestrator must extract them from INIT and inject them into the
|
|
238
|
+
# planner prompt — otherwise the planner never sees them.
|
|
239
|
+
DEAD_ENDS_MD=$(echo "$INIT" | jq -r '.dead_ends_md // empty')
|
|
240
|
+
GENOME_MD=$(echo "$INIT" | jq -r '.genome_md // empty')
|
|
241
|
+
PRIOR_REFLECTIONS=$(echo "$INIT" | jq -r '.prior_reflections // empty')
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## 8. Spawn grd-planner Agent
|
|
245
|
+
|
|
246
|
+
Display banner:
|
|
247
|
+
```
|
|
248
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
249
|
+
GRD ► PLANNING PHASE {X}
|
|
250
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
251
|
+
|
|
252
|
+
* Spawning planner...
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Planner prompt:
|
|
256
|
+
|
|
257
|
+
```markdown
|
|
258
|
+
PATHS:
|
|
259
|
+
research_dir: ${research_dir}
|
|
260
|
+
phases_dir: ${phases_dir}
|
|
261
|
+
phase_dir: ${phase_dir}
|
|
262
|
+
codebase_dir: ${codebase_dir}
|
|
263
|
+
|
|
264
|
+
<planning_context>
|
|
265
|
+
**Phase:** {phase_number}
|
|
266
|
+
**Mode:** {standard | gap_closure}
|
|
267
|
+
|
|
268
|
+
**Project State:** {state_content}
|
|
269
|
+
**Roadmap:** {roadmap_content}
|
|
270
|
+
**Requirements:** {requirements_content}
|
|
271
|
+
|
|
272
|
+
**Phase Context:**
|
|
273
|
+
IMPORTANT: If context exists below, it contains USER DECISIONS from /grd:discuss-phase.
|
|
274
|
+
- **Decisions** = LOCKED — honor exactly, do not revisit
|
|
275
|
+
- **Claude's Discretion** = Freedom — make implementation choices
|
|
276
|
+
- **Deferred Ideas** = Out of scope — do NOT include
|
|
277
|
+
|
|
278
|
+
{context_content}
|
|
279
|
+
|
|
280
|
+
**Research:** {research_content}
|
|
281
|
+
|
|
282
|
+
**Research Landscape:**
|
|
283
|
+
{research_landscape_context}
|
|
284
|
+
|
|
285
|
+
**Prior Reflections (from completed phases):**
|
|
286
|
+
{prior_reflections}
|
|
287
|
+
NOTE: If verdict is "falsified" for any pattern in your considered approach, refuse to re-propose that approach. Reference the prior phase in your plan rationale.
|
|
288
|
+
|
|
289
|
+
**Dead Ends Registry (.planning/DEAD-ENDS.md):**
|
|
290
|
+
{dead_ends_md}
|
|
291
|
+
NOTE: Each entry is an approach that has been tried and failed. Treat as hard "do-not-propose" list.
|
|
292
|
+
|
|
293
|
+
**Strategy Genome (.planning/GENOME.md):**
|
|
294
|
+
{genome_md}
|
|
295
|
+
NOTE: Curated heuristics + dated snapshots of past project state. Use heuristics to inform plan choices.
|
|
296
|
+
|
|
297
|
+
**Gap Closure (if --gaps):** {verification_content} {uat_content}
|
|
298
|
+
</planning_context>
|
|
299
|
+
|
|
300
|
+
<downstream_consumer>
|
|
301
|
+
Output consumed by /grd:execute-phase. Plans need:
|
|
302
|
+
- Frontmatter (wave, depends_on, files_modified, autonomous)
|
|
303
|
+
- Tasks in XML format
|
|
304
|
+
- Verification criteria
|
|
305
|
+
- must_haves for goal-backward verification
|
|
306
|
+
</downstream_consumer>
|
|
307
|
+
|
|
308
|
+
<quality_gate>
|
|
309
|
+
- [ ] PLAN.md files created in phase directory
|
|
310
|
+
- [ ] Each plan has valid frontmatter
|
|
311
|
+
- [ ] Tasks are specific and actionable
|
|
312
|
+
- [ ] Dependencies correctly identified
|
|
313
|
+
- [ ] Waves assigned for parallel execution
|
|
314
|
+
- [ ] must_haves derived from phase goal
|
|
315
|
+
</quality_gate>
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
Task(
|
|
320
|
+
prompt="First, read ${CLAUDE_PLUGIN_ROOT}/agents/grd-planner.md for your role and instructions.\n\n" + filled_prompt,
|
|
321
|
+
subagent_type="general-purpose",
|
|
322
|
+
model="{planner_model}",
|
|
323
|
+
description="Plan Phase {phase}"
|
|
324
|
+
)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## 9. Handle Planner Return
|
|
328
|
+
|
|
329
|
+
- **`## PLANNING COMPLETE`:** Display plan count. If `--skip-verify` or `plan_checker_enabled` is false (from init): skip to step 13. Otherwise: step 10.
|
|
330
|
+
- **`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation (step 12)
|
|
331
|
+
- **`## PLANNING INCONCLUSIVE`:** Show attempts, offer: Add context / Retry / Manual
|
|
332
|
+
|
|
333
|
+
## 10. Spawn grd-plan-checker Agent
|
|
334
|
+
|
|
335
|
+
Display banner:
|
|
336
|
+
```
|
|
337
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
338
|
+
GRD ► VERIFYING PLANS
|
|
339
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
340
|
+
|
|
341
|
+
* Spawning plan checker...
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
PLANS_CONTENT=$(cat "${PHASE_DIR}"/*-PLAN.md 2>/dev/null)
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
Checker prompt:
|
|
349
|
+
|
|
350
|
+
```markdown
|
|
351
|
+
<verification_context>
|
|
352
|
+
**Phase:** {phase_number}
|
|
353
|
+
**Phase Goal:** {goal from ROADMAP}
|
|
354
|
+
|
|
355
|
+
**Plans to verify:** {plans_content}
|
|
356
|
+
**Requirements:** {requirements_content}
|
|
357
|
+
|
|
358
|
+
**Phase Context:**
|
|
359
|
+
IMPORTANT: Plans MUST honor user decisions. Flag as issue if plans contradict.
|
|
360
|
+
- **Decisions** = LOCKED — plans must implement exactly
|
|
361
|
+
- **Claude's Discretion** = Freedom areas — plans can choose approach
|
|
362
|
+
- **Deferred Ideas** = Out of scope — plans must NOT include
|
|
363
|
+
|
|
364
|
+
{context_content}
|
|
365
|
+
</verification_context>
|
|
366
|
+
|
|
367
|
+
<expected_output>
|
|
368
|
+
- ## VERIFICATION PASSED — all checks pass
|
|
369
|
+
- ## ISSUES FOUND — structured issue list
|
|
370
|
+
</expected_output>
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
Task(
|
|
375
|
+
prompt=checker_prompt,
|
|
376
|
+
subagent_type="grd:grd-plan-checker",
|
|
377
|
+
model="{checker_model}",
|
|
378
|
+
description="Verify Phase {phase} plans"
|
|
379
|
+
)
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## 11. Handle Checker Return
|
|
383
|
+
|
|
384
|
+
- **`## VERIFICATION PASSED`:** Display confirmation, proceed to step 13.
|
|
385
|
+
- **`## ISSUES FOUND`:** Display issues, check iteration count, proceed to step 12.
|
|
386
|
+
|
|
387
|
+
## 12. Revision Loop (Max 3 Iterations)
|
|
388
|
+
|
|
389
|
+
Track `iteration_count` (starts at 1 after initial plan + check).
|
|
390
|
+
|
|
391
|
+
**If iteration_count < 3:**
|
|
392
|
+
|
|
393
|
+
Display: `Sending back to planner for revision... (iteration {N}/3)`
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
PLANS_CONTENT=$(cat "${PHASE_DIR}"/*-PLAN.md 2>/dev/null)
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
Revision prompt:
|
|
400
|
+
|
|
401
|
+
```markdown
|
|
402
|
+
<revision_context>
|
|
403
|
+
**Phase:** {phase_number}
|
|
404
|
+
**Mode:** revision
|
|
405
|
+
|
|
406
|
+
**Existing plans:** {plans_content}
|
|
407
|
+
**Checker issues:** {structured_issues_from_checker}
|
|
408
|
+
|
|
409
|
+
**Phase Context:**
|
|
410
|
+
Revisions MUST still honor user decisions.
|
|
411
|
+
{context_content}
|
|
412
|
+
</revision_context>
|
|
413
|
+
|
|
414
|
+
<instructions>
|
|
415
|
+
Make targeted updates to address checker issues.
|
|
416
|
+
Do NOT replan from scratch unless issues are fundamental.
|
|
417
|
+
Return what changed.
|
|
418
|
+
</instructions>
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
```
|
|
422
|
+
Task(
|
|
423
|
+
prompt="First, read ${CLAUDE_PLUGIN_ROOT}/agents/grd-planner.md for your role and instructions.\n\n" + revision_prompt,
|
|
424
|
+
subagent_type="general-purpose",
|
|
425
|
+
model="{planner_model}",
|
|
426
|
+
description="Revise Phase {phase} plans"
|
|
427
|
+
)
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
After planner returns -> spawn checker again (step 10), increment iteration_count.
|
|
431
|
+
|
|
432
|
+
**If iteration_count >= 3:**
|
|
433
|
+
|
|
434
|
+
Display: `Max iterations reached. {N} issues remain:` + issue list
|
|
435
|
+
|
|
436
|
+
Offer: 1) Force proceed, 2) Provide guidance and retry, 3) Abandon
|
|
437
|
+
|
|
438
|
+
## 13. Eval Planning Step
|
|
439
|
+
|
|
440
|
+
**After plan creation/verification, spawn grd-eval-planner to create EVAL.md:**
|
|
441
|
+
|
|
442
|
+
**Skip if:** `--skip-eval` flag is present (and not `--eval-only`).
|
|
443
|
+
|
|
444
|
+
**If `--eval-only`:** Validate that PLAN.md files exist for this phase. If missing, error: "No plans found for phase {X}. Run `/grd:plan-phase {X}` first." Load plan content and baseline/landscape context, then proceed to spawn the eval planner below.
|
|
445
|
+
|
|
446
|
+
Display banner:
|
|
447
|
+
```
|
|
448
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
449
|
+
GRD ► DESIGNING EVALUATION
|
|
450
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
451
|
+
|
|
452
|
+
* Spawning eval planner...
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
Task(
|
|
457
|
+
prompt="
|
|
458
|
+
PATHS:
|
|
459
|
+
research_dir: ${research_dir}
|
|
460
|
+
phases_dir: ${phases_dir}
|
|
461
|
+
phase_dir: ${phase_dir}
|
|
462
|
+
codebase_dir: ${codebase_dir}
|
|
463
|
+
|
|
464
|
+
<eval_context>
|
|
465
|
+
**Phase:** {phase_number}: {phase_name}
|
|
466
|
+
**Phase Goal:** {goal from ROADMAP}
|
|
467
|
+
**Plans:** {plans summary}
|
|
468
|
+
**Benchmarks:** {BENCHMARKS content from research landscape}
|
|
469
|
+
**Requirements:** {requirements_content}
|
|
470
|
+
</eval_context>
|
|
471
|
+
|
|
472
|
+
<instructions>
|
|
473
|
+
Create EVAL.md with tiered verification plan:
|
|
474
|
+
1. Tier 1 (Sanity): Quick checks that run in seconds — type checks, lint, unit tests pass
|
|
475
|
+
2. Tier 2 (Proxy): Automated metrics that approximate real quality — test coverage, benchmark scores, output quality checks
|
|
476
|
+
3. Tier 3 (Deferred): Validations that require human/integration — user testing, real-world performance, domain expert review
|
|
477
|
+
|
|
478
|
+
For each tier:
|
|
479
|
+
- Define specific metrics with pass/fail thresholds
|
|
480
|
+
- Specify how to measure (commands, scripts, tools)
|
|
481
|
+
- Set targets based on BENCHMARKS.md if available
|
|
482
|
+
|
|
483
|
+
Write to: {phase_dir}/{phase}-EVAL.md
|
|
484
|
+
</instructions>
|
|
485
|
+
",
|
|
486
|
+
subagent_type="grd:grd-eval-planner",
|
|
487
|
+
model="{checker_model}",
|
|
488
|
+
description="Design evaluation for Phase {phase}"
|
|
489
|
+
)
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
## 13.5. Research Gate: Verification Design Review
|
|
493
|
+
|
|
494
|
+
**Check research_gates.verification_design from config:**
|
|
495
|
+
|
|
496
|
+
```bash
|
|
497
|
+
VD_GATE=$(cat .planning/config.json 2>/dev/null | jq -r '.research_gates.verification_design // false')
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
**If `autonomous_mode` is true (YOLO):** Skip all gates, auto-approve.
|
|
501
|
+
|
|
502
|
+
**If verification_design gate is true:**
|
|
503
|
+
|
|
504
|
+
Use AskUserQuestion:
|
|
505
|
+
- header: "Eval Review"
|
|
506
|
+
- question: "EVAL.md created for Phase {X}. Review the verification design before proceeding?"
|
|
507
|
+
- options:
|
|
508
|
+
- "Approve" — EVAL.md looks good, proceed
|
|
509
|
+
- "Review" — Show me the EVAL.md contents
|
|
510
|
+
- "Edit" — I want to adjust metrics/targets
|
|
511
|
+
|
|
512
|
+
**If "Review":** Display EVAL.md, then re-ask.
|
|
513
|
+
**If "Edit":** Let user provide feedback, update EVAL.md.
|
|
514
|
+
**If "Approve":** Continue.
|
|
515
|
+
|
|
516
|
+
**If verification_design gate is false:** Auto-approve.
|
|
517
|
+
|
|
518
|
+
## 13.7. Tracker Integration
|
|
519
|
+
|
|
520
|
+
**After plan creation, sync phase to issue tracker (non-blocking):**
|
|
521
|
+
|
|
522
|
+
Check tracker config provider first. **For GitHub:**
|
|
523
|
+
```bash
|
|
524
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker sync-phase "${PHASE}" --raw 2>/dev/null || true
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**For mcp-atlassian** (see @${CLAUDE_PLUGIN_ROOT}/references/mcp-tracker-protocol.md):
|
|
528
|
+
```bash
|
|
529
|
+
OPS=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker prepare-phase-sync "${PHASE}" --raw)
|
|
530
|
+
```
|
|
531
|
+
For each `"create"` operation, call MCP `create_issue`, then `record-mapping`.
|
|
532
|
+
|
|
533
|
+
This creates task issues for each plan in the configured tracker (GitHub Issues or MCP Atlassian). Idempotent — already-synced plans are skipped. If no tracker is configured, this is a no-op.
|
|
534
|
+
|
|
535
|
+
## 14. Present Final Status
|
|
536
|
+
|
|
537
|
+
Route to `<offer_next>`.
|
|
538
|
+
|
|
539
|
+
</process>
|
|
540
|
+
|
|
541
|
+
<offer_next>
|
|
542
|
+
Output this markdown directly (not as a code block):
|
|
543
|
+
|
|
544
|
+
**If `--research-only` mode:**
|
|
545
|
+
|
|
546
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
547
|
+
GRD ► PHASE {X} RESEARCHED
|
|
548
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
549
|
+
|
|
550
|
+
**Phase {X}: {Name}** — Research complete
|
|
551
|
+
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
## Next Up
|
|
555
|
+
|
|
556
|
+
**Plan Phase {X}** — create execution plans using this research
|
|
557
|
+
|
|
558
|
+
/grd:plan-phase {X}
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
**Also available:**
|
|
563
|
+
- cat ${phase_dir}/*-RESEARCH.md — review research
|
|
564
|
+
- /grd:plan-phase {X} --research-only — re-research
|
|
565
|
+
- /grd:deep-dive \<paper\> — dig deeper into a specific paper
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
569
|
+
**If `--eval-only` mode:**
|
|
570
|
+
|
|
571
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
572
|
+
GRD ► PHASE {X} EVAL PLANNED
|
|
573
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
574
|
+
|
|
575
|
+
**Phase {X}: {Name}** — Eval plan created
|
|
576
|
+
|
|
577
|
+
Tier 1 (Sanity): {N} checks
|
|
578
|
+
Tier 2 (Proxy): {N} metrics
|
|
579
|
+
Tier 3 (Deferred): {N} evaluations
|
|
580
|
+
|
|
581
|
+
---
|
|
582
|
+
|
|
583
|
+
## Next Up
|
|
584
|
+
|
|
585
|
+
**Execute Phase {X}** — run all plans
|
|
586
|
+
|
|
587
|
+
/grd:execute-phase {X}
|
|
588
|
+
|
|
589
|
+
---
|
|
590
|
+
|
|
591
|
+
**Also available:**
|
|
592
|
+
- cat ${phase_dir}/*-EVAL.md — review eval plan
|
|
593
|
+
- /grd:assess-baseline — establish baseline first
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
**If default (full) mode:**
|
|
598
|
+
|
|
599
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
600
|
+
GRD ► PHASE {X} PLANNED
|
|
601
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
602
|
+
|
|
603
|
+
**Phase {X}: {Name}** — {N} plan(s) in {M} wave(s)
|
|
604
|
+
|
|
605
|
+
| Wave | Plans | What it builds |
|
|
606
|
+
|------|-------|----------------|
|
|
607
|
+
| 1 | 01, 02 | [objectives] |
|
|
608
|
+
| 2 | 03 | [objective] |
|
|
609
|
+
|
|
610
|
+
Research: {Completed | Used existing | Skipped}
|
|
611
|
+
Verification: {Passed | Passed with override | Skipped}
|
|
612
|
+
Eval Plan: {Created | Skipped}
|
|
613
|
+
|
|
614
|
+
---
|
|
615
|
+
|
|
616
|
+
## Next Up
|
|
617
|
+
|
|
618
|
+
**Execute Phase {X}** — run all {N} plans
|
|
619
|
+
|
|
620
|
+
/grd:execute-phase {X}
|
|
621
|
+
|
|
622
|
+
<sub>/clear first -> fresh context window</sub>
|
|
623
|
+
|
|
624
|
+
---
|
|
625
|
+
|
|
626
|
+
**Also available:**
|
|
627
|
+
- cat ${phase_dir}/*-PLAN.md — review plans
|
|
628
|
+
- cat ${phase_dir}/*-EVAL.md — review eval plan
|
|
629
|
+
- /grd:plan-phase {X} --research-only — re-research
|
|
630
|
+
- /grd:plan-phase {X} --eval-only — redesign eval plan
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
</offer_next>
|
|
634
|
+
|
|
635
|
+
<success_criteria>
|
|
636
|
+
- [ ] .planning/ directory validated
|
|
637
|
+
- [ ] Phase validated against roadmap
|
|
638
|
+
- [ ] Phase directory created if needed
|
|
639
|
+
- [ ] Research landscape context loaded (LANDSCAPE.md, KNOWHOW.md, deep-dives)
|
|
640
|
+
- [ ] CONTEXT.md loaded early (step 4) and passed to ALL agents
|
|
641
|
+
- [ ] **Full mode:** Research completed (unless --skip-research or --gaps or exists)
|
|
642
|
+
- [ ] **Full mode:** grd-phase-researcher spawned with CONTEXT.md and research landscape
|
|
643
|
+
- [ ] **Full mode:** Existing plans checked
|
|
644
|
+
- [ ] **Full mode:** grd-planner spawned with CONTEXT.md + RESEARCH.md + research landscape
|
|
645
|
+
- [ ] **Full mode:** Plans created (PLANNING COMPLETE or CHECKPOINT handled)
|
|
646
|
+
- [ ] **Full mode:** grd-plan-checker spawned with CONTEXT.md
|
|
647
|
+
- [ ] **Full mode:** Verification passed OR user override OR max iterations with user decision
|
|
648
|
+
- [ ] **Full mode:** grd-eval-planner spawned to create EVAL.md with tiered verification
|
|
649
|
+
- [ ] **Full mode:** Research gate honored (verification_design review if enabled, skipped in YOLO mode)
|
|
650
|
+
- [ ] **Full mode:** GitHub issues created/updated (if gh available)
|
|
651
|
+
- [ ] **--research-only:** Only grd-phase-researcher spawned; planner/checker/eval-planner skipped
|
|
652
|
+
- [ ] **--eval-only:** Only grd-eval-planner spawned; researcher/planner/checker skipped; PLAN.md must exist
|
|
653
|
+
- [ ] User sees status between agent spawns
|
|
654
|
+
- [ ] User knows next steps
|
|
655
|
+
</success_criteria>
|