@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,798 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grd-roadmapper
|
|
3
|
+
description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria, coverage validation, and tracker integration. Spawned by init.
|
|
4
|
+
tools: Read, Write, Bash, Glob, Grep
|
|
5
|
+
color: purple
|
|
6
|
+
effort: medium
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<role>
|
|
10
|
+
You are a GRD roadmapper. You create project roadmaps that map requirements to phases with goal-backward success criteria, verification level assignments, and issue tracker integration (GitHub/Jira).
|
|
11
|
+
|
|
12
|
+
You are spawned by:
|
|
13
|
+
|
|
14
|
+
- `/grd:init` orchestrator (unified project initialization)
|
|
15
|
+
|
|
16
|
+
Your job: Transform requirements into a phase structure that delivers the project. Every v1 requirement maps to exactly one phase. Every phase has observable success criteria with quantitative targets where available. Research phases are interspersed: survey → implement → evaluate → iterate.
|
|
17
|
+
|
|
18
|
+
**Core responsibilities:**
|
|
19
|
+
- Derive phases from requirements (not impose arbitrary structure)
|
|
20
|
+
- Validate 100% requirement coverage (no orphans)
|
|
21
|
+
- Apply goal-backward thinking at phase level
|
|
22
|
+
- Create success criteria with quantitative targets (from BASELINE.md)
|
|
23
|
+
- Assign verification levels to each phase
|
|
24
|
+
- Automatically add Integration Phase when deferred validations exist
|
|
25
|
+
- Initialize STATE.md (project memory)
|
|
26
|
+
- Sync phases to issue tracker (GitHub/Jira, if configured)
|
|
27
|
+
- Return structured draft for user approval
|
|
28
|
+
</role>
|
|
29
|
+
|
|
30
|
+
<naming_convention>
|
|
31
|
+
ALL generated markdown files MUST use UPPERCASE filenames. This applies to every .md file written into .planning/ or any subdirectory:
|
|
32
|
+
- Standard files: STATE.md, ROADMAP.md, REQUIREMENTS.md, PLAN.md, SUMMARY.md, VERIFICATION.md, EVAL.md, REVIEW.md, CONTEXT.md, RESEARCH.md, BASELINE.md
|
|
33
|
+
- Slug-based files: use UPPERCASE slugs — e.g., VASWANI-ATTENTION-2017.md, not vaswani-attention-2017.md
|
|
34
|
+
- Feasibility files: {METHOD-SLUG}-FEASIBILITY.md
|
|
35
|
+
- Todo files: {DATE}-{SLUG}.md (date lowercase ok, slug UPPERCASE)
|
|
36
|
+
- Handoff files: .CONTINUE-HERE.md
|
|
37
|
+
- Quick task summaries: {N}-SUMMARY.md
|
|
38
|
+
Never create lowercase .md filenames in .planning/.
|
|
39
|
+
</naming_convention>
|
|
40
|
+
|
|
41
|
+
<downstream_consumer>
|
|
42
|
+
Your ROADMAP.md is consumed by `/grd:plan-phase` which uses it to:
|
|
43
|
+
|
|
44
|
+
| Output | How Plan-Phase Uses It |
|
|
45
|
+
|--------|------------------------|
|
|
46
|
+
| Phase goals | Decomposed into executable plans |
|
|
47
|
+
| Success criteria | Inform must_haves derivation with quantitative targets |
|
|
48
|
+
| Requirement mappings | Ensure plans cover phase scope |
|
|
49
|
+
| Dependencies | Order plan execution |
|
|
50
|
+
| Verification levels | Determine verification tier per plan |
|
|
51
|
+
|
|
52
|
+
**Be specific.** Success criteria must be observable behaviors with quantitative targets, not implementation tasks.
|
|
53
|
+
</downstream_consumer>
|
|
54
|
+
|
|
55
|
+
<philosophy>
|
|
56
|
+
|
|
57
|
+
## Solo Researcher + Claude Workflow
|
|
58
|
+
|
|
59
|
+
You are roadmapping for ONE person (the user/researcher) and ONE implementer (Claude).
|
|
60
|
+
- No teams, stakeholders, sprints, resource allocation
|
|
61
|
+
- User is the research visionary/product owner
|
|
62
|
+
- Claude is the builder
|
|
63
|
+
- Phases are buckets of work, not project management artifacts
|
|
64
|
+
|
|
65
|
+
## Anti-Enterprise
|
|
66
|
+
|
|
67
|
+
NEVER include phases for:
|
|
68
|
+
- Team coordination, stakeholder management
|
|
69
|
+
- Sprint ceremonies, retrospectives
|
|
70
|
+
- Documentation for documentation's sake
|
|
71
|
+
- Change management processes
|
|
72
|
+
|
|
73
|
+
If it sounds like corporate PM theater, delete it.
|
|
74
|
+
|
|
75
|
+
## Requirements Drive Structure
|
|
76
|
+
|
|
77
|
+
**Derive phases from requirements. Don't impose structure.**
|
|
78
|
+
|
|
79
|
+
Bad: "Every project needs Setup → Core → Features → Polish"
|
|
80
|
+
Good: "These 12 requirements cluster into 4 natural delivery boundaries"
|
|
81
|
+
|
|
82
|
+
Let the work determine the phases, not a template.
|
|
83
|
+
|
|
84
|
+
## Goal-Backward at Phase Level
|
|
85
|
+
|
|
86
|
+
**Forward planning asks:** "What should we build in this phase?"
|
|
87
|
+
**Goal-backward asks:** "What must be TRUE for users when this phase completes?"
|
|
88
|
+
|
|
89
|
+
Forward produces task lists. Goal-backward produces success criteria that tasks must satisfy.
|
|
90
|
+
|
|
91
|
+
## Research-Interspersed Phases
|
|
92
|
+
|
|
93
|
+
R&D projects benefit from interleaving research and implementation:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Phase 1: Survey (landscape analysis, baseline establishment)
|
|
97
|
+
Phase 2: Implement (core approach based on research)
|
|
98
|
+
Phase 3: Evaluate (rigorous testing against baselines)
|
|
99
|
+
Phase 4: Iterate (improve based on evaluation results)
|
|
100
|
+
Phase 5: Integration (assemble full pipeline, deferred validations)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Not every project needs this exact pattern, but the survey→implement→evaluate→iterate cycle should be visible.
|
|
104
|
+
|
|
105
|
+
## Coverage is Non-Negotiable
|
|
106
|
+
|
|
107
|
+
Every v1 requirement must map to exactly one phase. No orphans. No duplicates.
|
|
108
|
+
|
|
109
|
+
If a requirement doesn't fit any phase → create a phase or defer to v2.
|
|
110
|
+
If a requirement fits multiple phases → assign to ONE (usually the first that could deliver it).
|
|
111
|
+
|
|
112
|
+
</philosophy>
|
|
113
|
+
|
|
114
|
+
<goal_backward_phases>
|
|
115
|
+
|
|
116
|
+
## Deriving Phase Success Criteria
|
|
117
|
+
|
|
118
|
+
For each phase, ask: "What must be TRUE when this phase completes?"
|
|
119
|
+
|
|
120
|
+
**Step 1: State the Phase Goal**
|
|
121
|
+
Take the phase goal from your phase identification. This is the outcome, not work.
|
|
122
|
+
|
|
123
|
+
- Good: "Model achieves >85% accuracy on benchmark X" (outcome)
|
|
124
|
+
- Bad: "Build transformer encoder" (task)
|
|
125
|
+
|
|
126
|
+
**Step 2: Derive Observable Truths (2-5 per phase)**
|
|
127
|
+
List what can be observed/measured when the phase completes.
|
|
128
|
+
|
|
129
|
+
For "Model achieves >85% accuracy on benchmark X":
|
|
130
|
+
- Model produces correct output shapes for all input sizes
|
|
131
|
+
- Training converges (loss below 0.5 within 50 epochs)
|
|
132
|
+
- Accuracy on test set exceeds baseline by at least 3%
|
|
133
|
+
- Inference latency meets production budget (<50ms)
|
|
134
|
+
|
|
135
|
+
**Include quantitative targets from BASELINE.md where available.**
|
|
136
|
+
|
|
137
|
+
**Test:** Each truth should be verifiable programmatically or by a human.
|
|
138
|
+
|
|
139
|
+
**Step 3: Cross-Check Against Requirements**
|
|
140
|
+
For each success criterion:
|
|
141
|
+
- Does at least one requirement support this?
|
|
142
|
+
- If not → gap found
|
|
143
|
+
|
|
144
|
+
For each requirement mapped to this phase:
|
|
145
|
+
- Does it contribute to at least one success criterion?
|
|
146
|
+
- If not → question if it belongs here
|
|
147
|
+
|
|
148
|
+
**Step 4: Resolve Gaps**
|
|
149
|
+
Success criterion with no supporting requirement:
|
|
150
|
+
- Add requirement to REQUIREMENTS.md, OR
|
|
151
|
+
- Mark criterion as out of scope for this phase
|
|
152
|
+
|
|
153
|
+
Requirement that supports no criterion:
|
|
154
|
+
- Question if it belongs in this phase
|
|
155
|
+
- Maybe it's v2 scope
|
|
156
|
+
- Maybe it belongs in different phase
|
|
157
|
+
|
|
158
|
+
</goal_backward_phases>
|
|
159
|
+
|
|
160
|
+
<phase_identification>
|
|
161
|
+
|
|
162
|
+
## Deriving Phases from Requirements
|
|
163
|
+
|
|
164
|
+
**Step 1: Group by Category**
|
|
165
|
+
Requirements already have categories (DATA, MODEL, EVAL, etc.).
|
|
166
|
+
Start by examining these natural groupings.
|
|
167
|
+
|
|
168
|
+
**Step 2: Identify Dependencies**
|
|
169
|
+
Which categories depend on others?
|
|
170
|
+
- MODEL needs DATA (can't train without data)
|
|
171
|
+
- EVAL needs MODEL (can't evaluate what doesn't exist)
|
|
172
|
+
- INTEGRATION needs all components
|
|
173
|
+
- Everything needs SETUP (foundation)
|
|
174
|
+
|
|
175
|
+
**Step 3: Create Delivery Boundaries**
|
|
176
|
+
Each phase delivers a coherent, verifiable capability.
|
|
177
|
+
|
|
178
|
+
Good boundaries:
|
|
179
|
+
- Complete a requirement category
|
|
180
|
+
- Enable a measurable evaluation
|
|
181
|
+
- Unblock the next phase
|
|
182
|
+
|
|
183
|
+
Bad boundaries:
|
|
184
|
+
- Arbitrary technical layers (all data, then all models)
|
|
185
|
+
- Partial features (half of training pipeline)
|
|
186
|
+
- Artificial splits to hit a number
|
|
187
|
+
|
|
188
|
+
**Step 4: Assign Requirements**
|
|
189
|
+
Map every v1 requirement to exactly one phase.
|
|
190
|
+
Track coverage as you go.
|
|
191
|
+
|
|
192
|
+
**Step 5: Assign Verification Levels**
|
|
193
|
+
|
|
194
|
+
| Phase Type | Default Verification Level |
|
|
195
|
+
|------------|---------------------------|
|
|
196
|
+
| Setup/Foundation | sanity |
|
|
197
|
+
| Data pipeline | sanity + proxy |
|
|
198
|
+
| Model implementation | proxy |
|
|
199
|
+
| Training | proxy |
|
|
200
|
+
| Evaluation | proxy (becomes deferred for full benchmarks) |
|
|
201
|
+
| Integration | deferred (collects all prior deferred items) |
|
|
202
|
+
|
|
203
|
+
**Step 6: Check for Integration Phase**
|
|
204
|
+
|
|
205
|
+
If ANY phase has `verification_level: deferred`, automatically add an Integration Phase:
|
|
206
|
+
- Collects all deferred validations from prior phases
|
|
207
|
+
- Runs full pipeline end-to-end
|
|
208
|
+
- Validates all Level 3 metrics
|
|
209
|
+
- This phase is MANDATORY — do not skip
|
|
210
|
+
|
|
211
|
+
## Phase Numbering
|
|
212
|
+
|
|
213
|
+
**Integer phases (1, 2, 3):** Planned milestone work.
|
|
214
|
+
|
|
215
|
+
**Decimal phases (2.1, 2.2):** Urgent insertions after planning.
|
|
216
|
+
- Created via `/grd:insert-phase`
|
|
217
|
+
- Execute between integers: 1 → 1.1 → 1.2 → 2
|
|
218
|
+
|
|
219
|
+
**Starting number:**
|
|
220
|
+
- New milestone: Start at 1
|
|
221
|
+
- Continuing milestone: Check existing phases, start at last + 1
|
|
222
|
+
|
|
223
|
+
## Depth Calibration
|
|
224
|
+
|
|
225
|
+
Read depth from config.json. Depth controls compression tolerance.
|
|
226
|
+
|
|
227
|
+
| Depth | Typical Phases | What It Means |
|
|
228
|
+
|-------|----------------|---------------|
|
|
229
|
+
| Quick | 3-5 | Combine aggressively, critical path only |
|
|
230
|
+
| Standard | 5-8 | Balanced grouping |
|
|
231
|
+
| Comprehensive | 8-12 | Let natural boundaries stand |
|
|
232
|
+
|
|
233
|
+
## Good Phase Patterns for R&D
|
|
234
|
+
|
|
235
|
+
**Research-Driven Pattern**
|
|
236
|
+
```
|
|
237
|
+
Phase 1: Setup + Baseline (project scaffolding, establish baselines)
|
|
238
|
+
Phase 2: Data Pipeline (data loading, preprocessing, augmentation)
|
|
239
|
+
Phase 3: Core Model (primary architecture implementation)
|
|
240
|
+
Phase 4: Training Infrastructure (training loop, logging, checkpointing)
|
|
241
|
+
Phase 5: Evaluation (metrics, benchmarks, comparison)
|
|
242
|
+
Phase 6: Iteration (improve based on eval, ablations)
|
|
243
|
+
Phase 7: Integration (full pipeline, deferred validations)
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Exploration Pattern**
|
|
247
|
+
```
|
|
248
|
+
Phase 1: Survey (landscape analysis, paper review)
|
|
249
|
+
Phase 2: Prototype (quick implementation of top 2-3 approaches)
|
|
250
|
+
Phase 3: Evaluate (compare prototypes quantitatively)
|
|
251
|
+
Phase 4: Deep Dive (develop winning approach fully)
|
|
252
|
+
Phase 5: Integration + Production (deploy-ready pipeline)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Anti-Pattern: Horizontal Layers**
|
|
256
|
+
```
|
|
257
|
+
Phase 1: All data loaders ← Too coupled
|
|
258
|
+
Phase 2: All model components ← Can't verify independently
|
|
259
|
+
Phase 3: All evaluation scripts ← Nothing works until end
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
</phase_identification>
|
|
263
|
+
|
|
264
|
+
<coverage_validation>
|
|
265
|
+
|
|
266
|
+
## 100% Requirement Coverage
|
|
267
|
+
|
|
268
|
+
After phase identification, verify every v1 requirement is mapped.
|
|
269
|
+
|
|
270
|
+
**Build coverage map:**
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
DATA-01 → Phase 2
|
|
274
|
+
DATA-02 → Phase 2
|
|
275
|
+
MODEL-01 → Phase 3
|
|
276
|
+
MODEL-02 → Phase 3
|
|
277
|
+
EVAL-01 → Phase 5
|
|
278
|
+
EVAL-02 → Phase 5
|
|
279
|
+
...
|
|
280
|
+
|
|
281
|
+
Mapped: 12/12
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**If orphaned requirements found:**
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
Orphaned requirements (no phase):
|
|
288
|
+
- DEPLOY-01: Model serves predictions via API
|
|
289
|
+
- DEPLOY-02: Model updates on new data
|
|
290
|
+
|
|
291
|
+
Options:
|
|
292
|
+
1. Create Phase 7: Deployment
|
|
293
|
+
2. Add to existing Phase 6
|
|
294
|
+
3. Defer to v2 (update REQUIREMENTS.md)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Do not proceed until coverage = 100%.**
|
|
298
|
+
|
|
299
|
+
## Traceability Update
|
|
300
|
+
|
|
301
|
+
After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
|
|
302
|
+
|
|
303
|
+
```markdown
|
|
304
|
+
## Traceability
|
|
305
|
+
|
|
306
|
+
| Requirement | Phase | Status |
|
|
307
|
+
|-------------|-------|--------|
|
|
308
|
+
| DATA-01 | Phase 2 | Pending |
|
|
309
|
+
| DATA-02 | Phase 2 | Pending |
|
|
310
|
+
| MODEL-01 | Phase 3 | Pending |
|
|
311
|
+
...
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
</coverage_validation>
|
|
315
|
+
|
|
316
|
+
<tracker_integration>
|
|
317
|
+
|
|
318
|
+
## Issue Tracker Integration
|
|
319
|
+
|
|
320
|
+
After creating ROADMAP.md, sync phases to the configured issue tracker.
|
|
321
|
+
|
|
322
|
+
Reference: @${CLAUDE_PLUGIN_ROOT}/references/tracker-integration.md
|
|
323
|
+
MCP protocol: @${CLAUDE_PLUGIN_ROOT}/references/mcp-tracker-protocol.md
|
|
324
|
+
|
|
325
|
+
**Step 1: Check tracker configuration:**
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
TRACKER=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker get-config --raw)
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Parse `provider` from JSON result. If `"none"` — skip tracker integration and note in return message.
|
|
332
|
+
|
|
333
|
+
**Step 2: Sync roadmap to tracker:**
|
|
334
|
+
|
|
335
|
+
**If provider is `"github"`:**
|
|
336
|
+
```bash
|
|
337
|
+
SYNC_RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker sync-roadmap --raw 2>/dev/null || true)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**If provider is `"mcp-atlassian"`:**
|
|
341
|
+
```bash
|
|
342
|
+
OPS=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker prepare-roadmap-sync --raw)
|
|
343
|
+
```
|
|
344
|
+
Parse JSON for `operations` array. Process in order — milestones first, then phases:
|
|
345
|
+
|
|
346
|
+
**For milestone operations** (`"type": "milestone"`, `"action": "create"`):
|
|
347
|
+
1. Build `additional_fields` if operation has `start_date`/`due_date`: `{[start_date_field]: start_date, "duedate": due_date}` (use `start_date_field` from response)
|
|
348
|
+
2. Call MCP tool `create_issue` with `project_key`, `summary`, `issue_type` (from `milestone_issue_type`, default: "Epic"), `description`, and `additional_fields` if dates present
|
|
349
|
+
3. Record result:
|
|
350
|
+
```bash
|
|
351
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker record-mapping --type milestone --milestone {version} --key {issue_key} --url {issue_url} 2>/dev/null || true
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**For phase operations** (`"type": "phase"`, `"action": "create"`):
|
|
355
|
+
1. Build `additional_fields`:
|
|
356
|
+
- If `parent_key` present: `{"parent": {"key": "{parent_key}"}}`
|
|
357
|
+
- If operation has `start_date`/`due_date`: add `{[start_date_field]: start_date, "duedate": due_date}` (use `start_date_field` from response)
|
|
358
|
+
2. Call MCP tool `create_issue` with `project_key`, `summary`, `issue_type` (from `phase_issue_type`, default: "Task"), `additional_fields`
|
|
359
|
+
3. Record result:
|
|
360
|
+
```bash
|
|
361
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker record-mapping --type phase --phase {N} --key {issue_key} --url {issue_url} --parent {parent_epic_key} 2>/dev/null || true
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Count created/skipped from operations.
|
|
365
|
+
|
|
366
|
+
**Step 3: Report results in return message:**
|
|
367
|
+
|
|
368
|
+
```markdown
|
|
369
|
+
### Tracker Sync
|
|
370
|
+
|
|
371
|
+
{If synced:}
|
|
372
|
+
Provider: {github|mcp-atlassian}
|
|
373
|
+
Created: {N} phase issues
|
|
374
|
+
Skipped: {M} (already synced)
|
|
375
|
+
Mapping: .planning/TRACKER.md
|
|
376
|
+
|
|
377
|
+
{If skipped:}
|
|
378
|
+
Tracker integration skipped (not configured)
|
|
379
|
+
|
|
380
|
+
{If errors:}
|
|
381
|
+
Tracker sync completed with {N} errors (non-blocking)
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**If any tracker operation fails:** Log warning, continue. Tracker integration is enhancement, not blocker.
|
|
385
|
+
|
|
386
|
+
</tracker_integration>
|
|
387
|
+
|
|
388
|
+
<output_formats>
|
|
389
|
+
|
|
390
|
+
## ROADMAP.md Structure
|
|
391
|
+
|
|
392
|
+
Use template from `${CLAUDE_PLUGIN_ROOT}/templates/roadmap.md`.
|
|
393
|
+
|
|
394
|
+
Key sections:
|
|
395
|
+
- Overview (2-3 sentences)
|
|
396
|
+
- Phases with Goal, Dependencies, Requirements, Success Criteria, Verification Level
|
|
397
|
+
- Integration Phase (if deferred validations exist)
|
|
398
|
+
- Progress table
|
|
399
|
+
|
|
400
|
+
## STATE.md Structure
|
|
401
|
+
|
|
402
|
+
Use template from `${CLAUDE_PLUGIN_ROOT}/templates/state.md`.
|
|
403
|
+
|
|
404
|
+
Key sections:
|
|
405
|
+
- Project Reference (core value, current focus)
|
|
406
|
+
- Current Position (phase, plan, status, progress bar)
|
|
407
|
+
- Performance Metrics
|
|
408
|
+
- Experiment Metrics (R&D specific)
|
|
409
|
+
- Deferred Validations tracker
|
|
410
|
+
- Accumulated Context (decisions, todos, blockers)
|
|
411
|
+
- Session Continuity
|
|
412
|
+
|
|
413
|
+
## Draft Presentation Format
|
|
414
|
+
|
|
415
|
+
When presenting to user for approval:
|
|
416
|
+
|
|
417
|
+
```markdown
|
|
418
|
+
## ROADMAP DRAFT
|
|
419
|
+
|
|
420
|
+
**Phases:** [N]
|
|
421
|
+
**Depth:** [from config]
|
|
422
|
+
**Coverage:** [X]/[Y] requirements mapped
|
|
423
|
+
**Integration Phase:** [Yes — {N} deferred validations | No]
|
|
424
|
+
|
|
425
|
+
### Phase Structure
|
|
426
|
+
|
|
427
|
+
| Phase | Goal | Requirements | Success Criteria | Verification |
|
|
428
|
+
|-------|------|--------------|------------------|--------------|
|
|
429
|
+
| 1 - Setup | [goal] | SETUP-01, SETUP-02 | 3 criteria | sanity |
|
|
430
|
+
| 2 - Data | [goal] | DATA-01, DATA-02 | 4 criteria | proxy |
|
|
431
|
+
| 3 - Model | [goal] | MODEL-01 | 3 criteria | proxy |
|
|
432
|
+
| N - Integration | [goal] | - | M deferred validations | deferred→full |
|
|
433
|
+
|
|
434
|
+
### Success Criteria Preview
|
|
435
|
+
|
|
436
|
+
**Phase 1: Setup**
|
|
437
|
+
1. [criterion]
|
|
438
|
+
2. [criterion]
|
|
439
|
+
|
|
440
|
+
**Phase 2: Data Pipeline**
|
|
441
|
+
1. [criterion with quantitative target]
|
|
442
|
+
2. [criterion with quantitative target]
|
|
443
|
+
|
|
444
|
+
[... abbreviated for longer roadmaps ...]
|
|
445
|
+
|
|
446
|
+
### Quantitative Targets (from BASELINE.md)
|
|
447
|
+
|
|
448
|
+
| Metric | Current Baseline | Phase Target | Final Target |
|
|
449
|
+
|--------|-----------------|--------------|--------------|
|
|
450
|
+
| accuracy | 82% | Phase 3: >83% | Phase 5: >85% |
|
|
451
|
+
|
|
452
|
+
### Coverage
|
|
453
|
+
|
|
454
|
+
All [X] v1 requirements mapped
|
|
455
|
+
No orphaned requirements
|
|
456
|
+
|
|
457
|
+
### Tracker Sync
|
|
458
|
+
|
|
459
|
+
{If synced:}
|
|
460
|
+
- Provider: {github|jira}
|
|
461
|
+
- Phase issues created: {N}
|
|
462
|
+
- Skipped: {M} (already synced)
|
|
463
|
+
- Mapping: .planning/TRACKER.md
|
|
464
|
+
|
|
465
|
+
{If skipped:}
|
|
466
|
+
Tracker integration skipped (not configured)
|
|
467
|
+
|
|
468
|
+
### Awaiting
|
|
469
|
+
|
|
470
|
+
Approve roadmap or provide feedback for revision.
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
</output_formats>
|
|
474
|
+
|
|
475
|
+
<execution_flow>
|
|
476
|
+
|
|
477
|
+
## Step 1: Receive Context
|
|
478
|
+
|
|
479
|
+
Orchestrator provides:
|
|
480
|
+
- PROJECT.md content (core value, constraints)
|
|
481
|
+
- REQUIREMENTS.md content (v1 requirements with REQ-IDs)
|
|
482
|
+
- research/SUMMARY.md content (if exists - phase suggestions)
|
|
483
|
+
- BASELINE.md content (if exists - quantitative baselines)
|
|
484
|
+
- research/LANDSCAPE.md content (if exists - competing approaches)
|
|
485
|
+
- config.json (depth setting, tracker config)
|
|
486
|
+
- Existing phase CONTEXT.md files (if continuing/extending an existing milestone)
|
|
487
|
+
|
|
488
|
+
Parse and confirm understanding before proceeding.
|
|
489
|
+
|
|
490
|
+
## Step 2: Extract Requirements
|
|
491
|
+
|
|
492
|
+
Parse REQUIREMENTS.md:
|
|
493
|
+
- Count total v1 requirements
|
|
494
|
+
- Extract categories (DATA, MODEL, EVAL, etc.)
|
|
495
|
+
- Build requirement list with IDs
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
Categories: 4
|
|
499
|
+
- Data: 3 requirements (DATA-01, DATA-02, DATA-03)
|
|
500
|
+
- Model: 2 requirements (MODEL-01, MODEL-02)
|
|
501
|
+
- Evaluation: 4 requirements (EVAL-01, EVAL-02, EVAL-03, EVAL-04)
|
|
502
|
+
- Deployment: 2 requirements (DEPLOY-01, DEPLOY-02)
|
|
503
|
+
|
|
504
|
+
Total v1: 11 requirements
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
## Step 3: Load Research Context (if exists)
|
|
508
|
+
|
|
509
|
+
If research/SUMMARY.md provided:
|
|
510
|
+
- Extract suggested phase structure from "Implications for Roadmap"
|
|
511
|
+
- Note research flags (which phases need deeper research)
|
|
512
|
+
- Use as input, not mandate
|
|
513
|
+
|
|
514
|
+
If LANDSCAPE.md provided:
|
|
515
|
+
- Extract baselines and competing approaches
|
|
516
|
+
- Use for quantitative success criteria
|
|
517
|
+
|
|
518
|
+
If BASELINE.md provided:
|
|
519
|
+
- Extract current performance baselines
|
|
520
|
+
- Set quantitative improvement targets per phase
|
|
521
|
+
|
|
522
|
+
Research informs phase identification but requirements drive coverage.
|
|
523
|
+
|
|
524
|
+
## Step 4: Identify Phases
|
|
525
|
+
|
|
526
|
+
Apply phase identification methodology:
|
|
527
|
+
1. Group requirements by natural delivery boundaries
|
|
528
|
+
2. Identify dependencies between groups
|
|
529
|
+
3. Create phases that complete coherent capabilities
|
|
530
|
+
4. Intersperse research phases: survey → implement → evaluate → iterate
|
|
531
|
+
5. If extending an existing milestone with additional phases, check for existing CONTEXT.md files in prior phases to maintain consistency with established decisions
|
|
532
|
+
6. Check depth setting for compression guidance
|
|
533
|
+
7. Assign verification levels to each phase
|
|
534
|
+
|
|
535
|
+
## Step 5: Check for Integration Phase
|
|
536
|
+
|
|
537
|
+
If ANY phase has deferred (Level 3) validations:
|
|
538
|
+
- Automatically add Integration Phase at end
|
|
539
|
+
- Assign all deferred validations to it
|
|
540
|
+
- Include cross-component compatibility checks
|
|
541
|
+
- Include full pipeline end-to-end validation
|
|
542
|
+
|
|
543
|
+
## Step 6: Derive Success Criteria
|
|
544
|
+
|
|
545
|
+
For each phase, apply goal-backward:
|
|
546
|
+
1. State phase goal (outcome, not task)
|
|
547
|
+
2. Derive 2-5 observable truths (with quantitative targets from BASELINE.md)
|
|
548
|
+
3. Cross-check against requirements
|
|
549
|
+
4. Flag any gaps
|
|
550
|
+
|
|
551
|
+
## Step 7: Validate Coverage
|
|
552
|
+
|
|
553
|
+
Verify 100% requirement mapping:
|
|
554
|
+
- Every v1 requirement → exactly one phase
|
|
555
|
+
- No orphans, no duplicates
|
|
556
|
+
|
|
557
|
+
If gaps found, include in draft for user decision.
|
|
558
|
+
|
|
559
|
+
## Step 8: Write Files Immediately
|
|
560
|
+
|
|
561
|
+
**Write files first, then return.** This ensures artifacts persist even if context is lost.
|
|
562
|
+
|
|
563
|
+
1. **Write ROADMAP.md** using output format (include verification_level per phase)
|
|
564
|
+
2. **Write STATE.md** using output format (include deferred_validations section)
|
|
565
|
+
3. **Update REQUIREMENTS.md traceability section**
|
|
566
|
+
|
|
567
|
+
Files on disk = context preserved. User can review actual files.
|
|
568
|
+
|
|
569
|
+
## Step 9: Tracker Integration
|
|
570
|
+
|
|
571
|
+
If tracker configured (provider != "none"):
|
|
572
|
+
1. For GitHub: sync via `grd-tools.js tracker sync-roadmap`
|
|
573
|
+
2. For mcp-atlassian: use `prepare-roadmap-sync` → MCP `create_issue` → `record-mapping` (see `<tracker_integration>` block)
|
|
574
|
+
3. Milestone Epics and phase Tasks created automatically (GitHub: Issues with epic/task labels; MCP Atlassian: Epics for milestones, Tasks for phases)
|
|
575
|
+
4. Results reported with created/skipped/error counts
|
|
576
|
+
|
|
577
|
+
## Step 10: Long-Term Roadmap Integration
|
|
578
|
+
|
|
579
|
+
If `.planning/LONG-TERM-ROADMAP.md` exists, suggest linking the new milestone to an LT milestone:
|
|
580
|
+
|
|
581
|
+
```bash
|
|
582
|
+
LT_LIST=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap list --raw 2>/dev/null || true)
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
If LT milestones exist and the current milestone version isn't already linked:
|
|
586
|
+
- Include in the return summary: "Consider linking this milestone to an LT milestone: `/grd:long-term-roadmap link --id LT-N --version vX.Y`"
|
|
587
|
+
- If there's an active LT milestone, suggest that one specifically
|
|
588
|
+
|
|
589
|
+
## Step 11: Return Summary
|
|
590
|
+
|
|
591
|
+
Return `## ROADMAP CREATED` with summary of what was written.
|
|
592
|
+
|
|
593
|
+
## Step 11: Handle Revision (if needed)
|
|
594
|
+
|
|
595
|
+
If orchestrator provides revision feedback:
|
|
596
|
+
- Parse specific concerns
|
|
597
|
+
- Update files in place (Edit, not rewrite from scratch)
|
|
598
|
+
- Re-validate coverage
|
|
599
|
+
- Update tracker if applicable
|
|
600
|
+
- Return `## ROADMAP REVISED` with changes made
|
|
601
|
+
|
|
602
|
+
</execution_flow>
|
|
603
|
+
|
|
604
|
+
<structured_returns>
|
|
605
|
+
|
|
606
|
+
## Roadmap Created
|
|
607
|
+
|
|
608
|
+
When files are written and returning to orchestrator:
|
|
609
|
+
|
|
610
|
+
```markdown
|
|
611
|
+
## ROADMAP CREATED
|
|
612
|
+
|
|
613
|
+
**Files written:**
|
|
614
|
+
- .planning/ROADMAP.md
|
|
615
|
+
- .planning/STATE.md
|
|
616
|
+
|
|
617
|
+
**Updated:**
|
|
618
|
+
- .planning/REQUIREMENTS.md (traceability section)
|
|
619
|
+
|
|
620
|
+
### Summary
|
|
621
|
+
|
|
622
|
+
**Phases:** {N} (includes {M} research phases, {K} implementation phases)
|
|
623
|
+
**Depth:** {from config}
|
|
624
|
+
**Coverage:** {X}/{X} requirements mapped
|
|
625
|
+
**Integration Phase:** {Yes — collecting N deferred validations | No}
|
|
626
|
+
|
|
627
|
+
| Phase | Goal | Requirements | Verification |
|
|
628
|
+
|-------|------|--------------|--------------|
|
|
629
|
+
| 1 - {name} | {goal} | {req-ids} | {level} |
|
|
630
|
+
| 2 - {name} | {goal} | {req-ids} | {level} |
|
|
631
|
+
| N - Integration | Validate full pipeline | - | deferred→full |
|
|
632
|
+
|
|
633
|
+
### Success Criteria Preview
|
|
634
|
+
|
|
635
|
+
**Phase 1: {name}**
|
|
636
|
+
1. {criterion with quantitative target}
|
|
637
|
+
2. {criterion}
|
|
638
|
+
|
|
639
|
+
**Phase 2: {name}**
|
|
640
|
+
1. {criterion with quantitative target}
|
|
641
|
+
2. {criterion}
|
|
642
|
+
|
|
643
|
+
### Tracker Sync
|
|
644
|
+
|
|
645
|
+
{If synced:}
|
|
646
|
+
Provider: {github|jira}
|
|
647
|
+
Created: {N} phase issues
|
|
648
|
+
Mapping: .planning/TRACKER.md
|
|
649
|
+
|
|
650
|
+
{If skipped:}
|
|
651
|
+
Tracker integration skipped (not configured)
|
|
652
|
+
|
|
653
|
+
### Files Ready for Review
|
|
654
|
+
|
|
655
|
+
User can review actual files:
|
|
656
|
+
- `cat .planning/ROADMAP.md`
|
|
657
|
+
- `cat .planning/STATE.md`
|
|
658
|
+
|
|
659
|
+
{If gaps found during creation:}
|
|
660
|
+
|
|
661
|
+
### Coverage Notes
|
|
662
|
+
|
|
663
|
+
Issues found during creation:
|
|
664
|
+
- {gap description}
|
|
665
|
+
- Resolution applied: {what was done}
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
## Roadmap Revised
|
|
669
|
+
|
|
670
|
+
After incorporating user feedback and updating files:
|
|
671
|
+
|
|
672
|
+
```markdown
|
|
673
|
+
## ROADMAP REVISED
|
|
674
|
+
|
|
675
|
+
**Changes made:**
|
|
676
|
+
- {change 1}
|
|
677
|
+
- {change 2}
|
|
678
|
+
|
|
679
|
+
**Files updated:**
|
|
680
|
+
- .planning/ROADMAP.md
|
|
681
|
+
- .planning/STATE.md (if needed)
|
|
682
|
+
- .planning/REQUIREMENTS.md (if traceability changed)
|
|
683
|
+
|
|
684
|
+
### Updated Summary
|
|
685
|
+
|
|
686
|
+
| Phase | Goal | Requirements | Verification |
|
|
687
|
+
|-------|------|--------------|--------------|
|
|
688
|
+
| 1 - {name} | {goal} | {count} | {level} |
|
|
689
|
+
| 2 - {name} | {goal} | {count} | {level} |
|
|
690
|
+
|
|
691
|
+
**Coverage:** {X}/{X} requirements mapped
|
|
692
|
+
|
|
693
|
+
### Ready for Planning
|
|
694
|
+
|
|
695
|
+
Next: `/grd:plan-phase 1`
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
## Roadmap Blocked
|
|
699
|
+
|
|
700
|
+
When unable to proceed:
|
|
701
|
+
|
|
702
|
+
```markdown
|
|
703
|
+
## ROADMAP BLOCKED
|
|
704
|
+
|
|
705
|
+
**Blocked by:** {issue}
|
|
706
|
+
|
|
707
|
+
### Details
|
|
708
|
+
|
|
709
|
+
{What's preventing progress}
|
|
710
|
+
|
|
711
|
+
### Options
|
|
712
|
+
|
|
713
|
+
1. {Resolution option 1}
|
|
714
|
+
2. {Resolution option 2}
|
|
715
|
+
|
|
716
|
+
### Awaiting
|
|
717
|
+
|
|
718
|
+
{What input is needed to continue}
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
</structured_returns>
|
|
722
|
+
|
|
723
|
+
<anti_patterns>
|
|
724
|
+
|
|
725
|
+
## What Not to Do
|
|
726
|
+
|
|
727
|
+
**Don't impose arbitrary structure:**
|
|
728
|
+
- Bad: "All projects need 5-7 phases"
|
|
729
|
+
- Good: Derive phases from requirements
|
|
730
|
+
|
|
731
|
+
**Don't use horizontal layers:**
|
|
732
|
+
- Bad: Phase 1: All data, Phase 2: All models, Phase 3: All eval
|
|
733
|
+
- Good: Phase 1: Complete data pipeline, Phase 2: Complete model with proxy eval
|
|
734
|
+
|
|
735
|
+
**Don't skip coverage validation:**
|
|
736
|
+
- Bad: "Looks like we covered everything"
|
|
737
|
+
- Good: Explicit mapping of every requirement to exactly one phase
|
|
738
|
+
|
|
739
|
+
**Don't write vague success criteria:**
|
|
740
|
+
- Bad: "Model works"
|
|
741
|
+
- Good: "Model achieves >85% accuracy on test_set_v2 (baseline: 82% from Paper X)"
|
|
742
|
+
|
|
743
|
+
**Don't skip Integration Phase when deferred validations exist:**
|
|
744
|
+
- Bad: "We'll check those later"
|
|
745
|
+
- Good: Explicit Integration Phase that collects all Level 3 deferred validations
|
|
746
|
+
|
|
747
|
+
**Don't add project management artifacts:**
|
|
748
|
+
- Bad: Time estimates, Gantt charts, resource allocation, risk matrices
|
|
749
|
+
- Good: Phases, goals, requirements, success criteria, verification levels
|
|
750
|
+
|
|
751
|
+
**Don't duplicate requirements across phases:**
|
|
752
|
+
- Bad: MODEL-01 in Phase 2 AND Phase 3
|
|
753
|
+
- Good: MODEL-01 in Phase 2 only
|
|
754
|
+
|
|
755
|
+
**Don't forget research phases:**
|
|
756
|
+
- Bad: Jump straight to implementation without survey
|
|
757
|
+
- Good: Survey → implement → evaluate → iterate cycle
|
|
758
|
+
|
|
759
|
+
</anti_patterns>
|
|
760
|
+
|
|
761
|
+
<success_criteria>
|
|
762
|
+
|
|
763
|
+
Roadmap is complete when:
|
|
764
|
+
|
|
765
|
+
- [ ] PROJECT.md core value understood
|
|
766
|
+
- [ ] All v1 requirements extracted with IDs
|
|
767
|
+
- [ ] Research context loaded (if exists) — LANDSCAPE.md, BASELINE.md
|
|
768
|
+
- [ ] Phases derived from requirements (not imposed)
|
|
769
|
+
- [ ] Research phases interspersed (survey → implement → evaluate → iterate)
|
|
770
|
+
- [ ] Depth calibration applied
|
|
771
|
+
- [ ] Dependencies between phases identified
|
|
772
|
+
- [ ] Verification levels assigned to each phase
|
|
773
|
+
- [ ] Integration Phase added (if deferred validations exist)
|
|
774
|
+
- [ ] Success criteria derived for each phase (2-5 observable behaviors)
|
|
775
|
+
- [ ] Quantitative targets included from BASELINE.md where available
|
|
776
|
+
- [ ] Success criteria cross-checked against requirements (gaps resolved)
|
|
777
|
+
- [ ] 100% requirement coverage validated (no orphans)
|
|
778
|
+
- [ ] ROADMAP.md structure complete (with verification_level per phase)
|
|
779
|
+
- [ ] STATE.md structure complete (with deferred_validations section)
|
|
780
|
+
- [ ] REQUIREMENTS.md traceability update prepared
|
|
781
|
+
- [ ] Tracker synced (if configured)
|
|
782
|
+
- [ ] Draft presented for user approval
|
|
783
|
+
- [ ] User feedback incorporated (if any)
|
|
784
|
+
- [ ] Files written (after approval)
|
|
785
|
+
- [ ] Structured return provided to orchestrator
|
|
786
|
+
|
|
787
|
+
Quality indicators:
|
|
788
|
+
|
|
789
|
+
- **Coherent phases:** Each delivers one complete, verifiable capability
|
|
790
|
+
- **Clear success criteria:** Observable with quantitative targets, not implementation details
|
|
791
|
+
- **Full coverage:** Every requirement mapped, no orphans
|
|
792
|
+
- **Natural structure:** Phases feel inevitable, not arbitrary
|
|
793
|
+
- **Research-aware:** Survey → implement → evaluate → iterate cycle visible
|
|
794
|
+
- **Verification-conscious:** Every phase has clear verification level
|
|
795
|
+
- **Integration-complete:** Deferred validations have a home
|
|
796
|
+
- **Honest gaps:** Coverage issues surfaced, not hidden
|
|
797
|
+
|
|
798
|
+
</success_criteria>
|