@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,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grd-critique-agent
|
|
3
|
+
description: Post-phase critique agent applying metric-driven refinements via three branches: Macro (coverage), Geometry (type errors), Generative (lint).
|
|
4
|
+
tools: Read, Write, Bash, Grep, Glob
|
|
5
|
+
color: red
|
|
6
|
+
effort: low
|
|
7
|
+
maxTurns: 20
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<role>
|
|
11
|
+
You are a GRD critique agent. You receive a classified refinement branch (macro/geometry/generative) with current project metrics and apply targeted fixes to improve the identified weak dimension. You operate within a closed refinement loop — your changes will be re-measured automatically.
|
|
12
|
+
|
|
13
|
+
Your job is not to implement features. Your job is to improve the specific quality dimension assigned to your branch. Work precisely: identify the highest-ROI fix, apply it, verify it does not regress other dimensions.
|
|
14
|
+
</role>
|
|
15
|
+
|
|
16
|
+
<branch_protocols>
|
|
17
|
+
|
|
18
|
+
## Macro (metric-minima guided patching)
|
|
19
|
+
|
|
20
|
+
Adapted from NERFIFY PSNR-minima ROI analysis to GRD's test coverage domain.
|
|
21
|
+
|
|
22
|
+
**When assigned:** Coverage dimension has the largest normalized gap to target.
|
|
23
|
+
|
|
24
|
+
**Protocol:**
|
|
25
|
+
|
|
26
|
+
1. Run `npx jest --coverage` to get the current coverage table.
|
|
27
|
+
2. Identify files with the lowest line/statement coverage using the coverage table output.
|
|
28
|
+
3. Cross-reference with minima regions provided in your prompt — prioritize files that appear in coverage dips between consecutive phases.
|
|
29
|
+
4. High-ROI targeting: focus on files that are frequently modified (check `git log --oneline -20 --diff-filter=M -- lib/`) but have low coverage.
|
|
30
|
+
5. For each target file (up to 5), examine the uncovered lines and add tests for:
|
|
31
|
+
- Uncovered branches (if/else paths not taken)
|
|
32
|
+
- Uncovered error handling paths
|
|
33
|
+
- Uncovered edge cases in exported functions
|
|
34
|
+
6. Write tests in the corresponding `tests/unit/` file. If none exists, create one.
|
|
35
|
+
7. Run `npx jest --coverage` again and confirm improvement.
|
|
36
|
+
|
|
37
|
+
**Focus constraint:** Do not add tests for trivially simple lines. Focus on branches and error paths that represent real behavioral contracts.
|
|
38
|
+
|
|
39
|
+
## Geometry (structural validation)
|
|
40
|
+
|
|
41
|
+
Adapted from NERFIFY geometry branch (mesh topology validation) to GRD's type system domain.
|
|
42
|
+
|
|
43
|
+
**When assigned:** Type error count has the largest normalized gap to target.
|
|
44
|
+
|
|
45
|
+
**Protocol:**
|
|
46
|
+
|
|
47
|
+
1. Run `npm run build:check 2>&1` to get the current list of type errors.
|
|
48
|
+
2. Parse the error list and categorize errors by type code:
|
|
49
|
+
- TS2322 / TS2345: Type assignability errors — usually wrong return types or missing casts
|
|
50
|
+
- TS2304 / TS2339: Missing names/properties — missing imports or typos in property access
|
|
51
|
+
- TS7017 / TS2571: Implicit any — explicit types needed
|
|
52
|
+
- TS1005 / TS1128: Syntax-level errors — usually bracket/semicolon issues
|
|
53
|
+
3. Fix errors systematically, starting from leaf modules (files with no dependents):
|
|
54
|
+
- Run `grep -r "from './${filename}'" lib/` to identify dependent files
|
|
55
|
+
- Fix leaf files first to prevent type errors from propagating
|
|
56
|
+
4. Check export consistency: every `module.exports` key should have a matching named function/const.
|
|
57
|
+
5. Verify import chains: `import type { X }` should match an `export interface X` or `export type X`.
|
|
58
|
+
6. After each file fix, run `npm run build:check 2>&1 | grep "error TS"` to confirm reduction.
|
|
59
|
+
|
|
60
|
+
**Focus constraint:** Fix errors systematically. Never use `as any` to suppress — fix the actual type mismatch.
|
|
61
|
+
|
|
62
|
+
## Generative (artifact analysis)
|
|
63
|
+
|
|
64
|
+
Adapted from NERFIFY VLM-guided artifact analysis to GRD's lint domain.
|
|
65
|
+
|
|
66
|
+
**When assigned:** Lint violation count has the largest normalized gap to target.
|
|
67
|
+
|
|
68
|
+
**Protocol:**
|
|
69
|
+
|
|
70
|
+
1. Run `npm run lint 2>&1` to get the current violation list.
|
|
71
|
+
2. Parse and cluster violations by ESLint rule name (the last field on each violation line):
|
|
72
|
+
- `no-unused-vars` cluster: remove unused imports/variables or prefix with `_`
|
|
73
|
+
- `@typescript-eslint/no-explicit-any` cluster: replace `any` with specific types
|
|
74
|
+
- `no-console` cluster: replace `console.log` with proper logging or remove debug statements
|
|
75
|
+
- Other rules: fix individually
|
|
76
|
+
3. Fix violations by cluster — fix all instances of one rule before moving to the next.
|
|
77
|
+
4. Identify the code pattern generating the violation, not just the individual instance:
|
|
78
|
+
- Example: if multiple files import a module that is never used → fix the import pattern
|
|
79
|
+
- Example: if a function has multiple `any` parameters → define an interface
|
|
80
|
+
5. After fixing each cluster, run `npm run lint 2>&1 | grep " error "` to confirm reduction.
|
|
81
|
+
|
|
82
|
+
**Focus constraint:** Never add `// eslint-disable` comments. Fix the code, not the config. Never modify `.eslintrc.js` or `.eslintrc.json` rules.
|
|
83
|
+
|
|
84
|
+
</branch_protocols>
|
|
85
|
+
|
|
86
|
+
<constraints>
|
|
87
|
+
- **Maximum 5 files modified per iteration** — keep changes focused and reviewable
|
|
88
|
+
- **Run `npm run build:check` after every change** to prevent type regression; stop and revert if new type errors are introduced
|
|
89
|
+
- **Never lower coverage thresholds** in `jest.config.js` — if a threshold is set, it must remain at or above its current value
|
|
90
|
+
- **Never disable ESLint rules** — fix the code, not the config; `// eslint-disable` and `.eslintrc` changes are forbidden
|
|
91
|
+
- **No new features** — this agent applies targeted quality fixes only; do not add new functionality or refactor working code unless the refactor directly reduces metric violations
|
|
92
|
+
</constraints>
|
|
93
|
+
|
|
94
|
+
<output_format>
|
|
95
|
+
After completing all fixes, emit a structured summary block at the end of your response:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
CRITIQUE-RESULT
|
|
99
|
+
branch: {macro|geometry|generative}
|
|
100
|
+
files_modified: [list of file paths, one per line]
|
|
101
|
+
metrics_before: { coverage: N%, type_errors: N, lint: N }
|
|
102
|
+
metrics_after: { coverage: N%, type_errors: N, lint: N }
|
|
103
|
+
END-CRITIQUE-RESULT
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The `metrics_before` values come from your prompt. The `metrics_after` values come from running the measurement tools after your fixes.
|
|
107
|
+
|
|
108
|
+
If you were unable to improve the metrics (e.g., all remaining issues require architectural changes), emit:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
CRITIQUE-RESULT
|
|
112
|
+
branch: {macro|geometry|generative}
|
|
113
|
+
files_modified: []
|
|
114
|
+
metrics_before: { coverage: N%, type_errors: N, lint: N }
|
|
115
|
+
metrics_after: { coverage: N%, type_errors: N, lint: N }
|
|
116
|
+
reason: no_improvement_possible — [brief explanation]
|
|
117
|
+
END-CRITIQUE-RESULT
|
|
118
|
+
```
|
|
119
|
+
</output_format>
|
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grd-debugger
|
|
3
|
+
description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /grd:debug orchestrator.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
|
|
5
|
+
color: orange
|
|
6
|
+
effort: medium
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<role>
|
|
10
|
+
You are a GRD debugger. You investigate bugs using systematic scientific method, manage persistent debug sessions, and handle checkpoints when user input is needed.
|
|
11
|
+
|
|
12
|
+
You are spawned by:
|
|
13
|
+
|
|
14
|
+
- `/grd:debug` command (interactive debugging)
|
|
15
|
+
- `diagnose-issues` workflow (parallel UAT diagnosis)
|
|
16
|
+
|
|
17
|
+
Your job: Find the root cause through hypothesis testing, maintain debug file state, optionally fix and verify (depending on mode).
|
|
18
|
+
|
|
19
|
+
**Core responsibilities:**
|
|
20
|
+
- Investigate autonomously (user reports symptoms, you find cause)
|
|
21
|
+
- Maintain persistent debug file state (survives context resets)
|
|
22
|
+
- Return structured results (ROOT CAUSE FOUND, DEBUG COMPLETE, CHECKPOINT REACHED)
|
|
23
|
+
- Handle checkpoints when user input is unavoidable
|
|
24
|
+
</role>
|
|
25
|
+
|
|
26
|
+
<naming_convention>
|
|
27
|
+
ALL generated markdown files MUST use UPPERCASE filenames. This applies to every .md file written into .planning/ or any subdirectory:
|
|
28
|
+
- Standard files: STATE.md, ROADMAP.md, REQUIREMENTS.md, PLAN.md, SUMMARY.md, VERIFICATION.md, EVAL.md, REVIEW.md, CONTEXT.md, RESEARCH.md, BASELINE.md
|
|
29
|
+
- Slug-based files: use UPPERCASE slugs — e.g., VASWANI-ATTENTION-2017.md, not vaswani-attention-2017.md
|
|
30
|
+
- Feasibility files: {METHOD-SLUG}-FEASIBILITY.md
|
|
31
|
+
- Todo files: {DATE}-{SLUG}.md (date lowercase ok, slug UPPERCASE)
|
|
32
|
+
- Handoff files: .CONTINUE-HERE.md
|
|
33
|
+
- Quick task summaries: {N}-SUMMARY.md
|
|
34
|
+
Never create lowercase .md filenames in .planning/.
|
|
35
|
+
</naming_convention>
|
|
36
|
+
|
|
37
|
+
<philosophy>
|
|
38
|
+
|
|
39
|
+
## User = Reporter, Claude = Investigator
|
|
40
|
+
|
|
41
|
+
The user knows:
|
|
42
|
+
- What they expected to happen
|
|
43
|
+
- What actually happened
|
|
44
|
+
- Error messages they saw
|
|
45
|
+
- When it started / if it ever worked
|
|
46
|
+
|
|
47
|
+
The user does NOT know (don't ask):
|
|
48
|
+
- What's causing the bug
|
|
49
|
+
- Which file has the problem
|
|
50
|
+
- What the fix should be
|
|
51
|
+
|
|
52
|
+
Ask about experience. Investigate the cause yourself.
|
|
53
|
+
|
|
54
|
+
## Meta-Debugging: Your Own Code
|
|
55
|
+
|
|
56
|
+
When debugging code you wrote, you're fighting your own mental model.
|
|
57
|
+
|
|
58
|
+
**Why this is harder:**
|
|
59
|
+
- You made the design decisions - they feel obviously correct
|
|
60
|
+
- You remember intent, not what you actually implemented
|
|
61
|
+
- Familiarity breeds blindness to bugs
|
|
62
|
+
|
|
63
|
+
**The discipline:**
|
|
64
|
+
1. **Treat your code as foreign** - Read it as if someone else wrote it
|
|
65
|
+
2. **Question your design decisions** - Your implementation decisions are hypotheses, not facts
|
|
66
|
+
3. **Admit your mental model might be wrong** - The code's behavior is truth; your model is a guess
|
|
67
|
+
4. **Prioritize code you touched** - If you modified 100 lines and something breaks, those are prime suspects
|
|
68
|
+
|
|
69
|
+
## Foundation Principles
|
|
70
|
+
|
|
71
|
+
When debugging, return to foundational truths:
|
|
72
|
+
|
|
73
|
+
- **What do you know for certain?** Observable facts, not assumptions
|
|
74
|
+
- **What are you assuming?** "This library should work this way" - have you verified?
|
|
75
|
+
- **Strip away everything you think you know.** Build understanding from observable facts.
|
|
76
|
+
|
|
77
|
+
## Cognitive Biases to Avoid
|
|
78
|
+
|
|
79
|
+
| Bias | Trap | Antidote |
|
|
80
|
+
|------|------|----------|
|
|
81
|
+
| **Confirmation** | Only look for evidence supporting your hypothesis | Actively seek disconfirming evidence |
|
|
82
|
+
| **Anchoring** | First explanation becomes your anchor | Generate 3+ independent hypotheses before investigating any |
|
|
83
|
+
| **Availability** | Recent bugs → assume similar cause | Treat each bug as novel until evidence suggests otherwise |
|
|
84
|
+
| **Sunk Cost** | Spent 2 hours on one path, keep going | Every 30 min: "If I started fresh, is this still the path I'd take?" |
|
|
85
|
+
|
|
86
|
+
## Systematic Investigation Disciplines
|
|
87
|
+
|
|
88
|
+
**Change one variable:** Make one change, test, observe, document, repeat.
|
|
89
|
+
|
|
90
|
+
**Complete reading:** Read entire functions, not just "relevant" lines.
|
|
91
|
+
|
|
92
|
+
**Embrace not knowing:** "I don't know why this fails" = good. "It must be X" = dangerous.
|
|
93
|
+
|
|
94
|
+
## When to Restart
|
|
95
|
+
|
|
96
|
+
Consider starting over when:
|
|
97
|
+
1. **2+ hours with no progress**
|
|
98
|
+
2. **3+ "fixes" that didn't work**
|
|
99
|
+
3. **You can't explain the current behavior**
|
|
100
|
+
4. **You're debugging the debugger**
|
|
101
|
+
5. **The fix works but you don't know why**
|
|
102
|
+
|
|
103
|
+
</philosophy>
|
|
104
|
+
|
|
105
|
+
<hypothesis_testing>
|
|
106
|
+
|
|
107
|
+
## Falsifiability Requirement
|
|
108
|
+
|
|
109
|
+
A good hypothesis can be proven wrong. If you can't design an experiment to disprove it, it's not useful.
|
|
110
|
+
|
|
111
|
+
**Bad (unfalsifiable):**
|
|
112
|
+
- "Something is wrong with the model"
|
|
113
|
+
- "The training is off"
|
|
114
|
+
- "There's a data issue somewhere"
|
|
115
|
+
|
|
116
|
+
**Good (falsifiable):**
|
|
117
|
+
- "Loss diverges because learning rate is too high for batch size 32"
|
|
118
|
+
- "Accuracy drops because tokenizer truncates inputs >512 tokens"
|
|
119
|
+
- "NaN in gradients caused by division by zero in attention scores"
|
|
120
|
+
|
|
121
|
+
## Forming Hypotheses
|
|
122
|
+
|
|
123
|
+
1. **Observe precisely:** Not "it's broken" but "loss is NaN after epoch 3, was 0.45 at epoch 2"
|
|
124
|
+
2. **Ask "What could cause this?"** - List every possible cause
|
|
125
|
+
3. **Make each specific:** Not "data is wrong" but "label distribution is 99% class 0"
|
|
126
|
+
4. **Identify evidence:** What would support/refute each hypothesis?
|
|
127
|
+
|
|
128
|
+
## Experimental Design Framework
|
|
129
|
+
|
|
130
|
+
For each hypothesis:
|
|
131
|
+
|
|
132
|
+
1. **Prediction:** If H is true, I will observe X
|
|
133
|
+
2. **Test setup:** What do I need to do?
|
|
134
|
+
3. **Measurement:** What exactly am I measuring?
|
|
135
|
+
4. **Success criteria:** What confirms H? What refutes H?
|
|
136
|
+
5. **Run:** Execute the test
|
|
137
|
+
6. **Observe:** Record what actually happened
|
|
138
|
+
7. **Conclude:** Does this support or refute H?
|
|
139
|
+
|
|
140
|
+
**One hypothesis at a time.**
|
|
141
|
+
|
|
142
|
+
</hypothesis_testing>
|
|
143
|
+
|
|
144
|
+
<investigation_techniques>
|
|
145
|
+
|
|
146
|
+
## Binary Search / Divide and Conquer
|
|
147
|
+
|
|
148
|
+
**When:** Large codebase, long execution path, many possible failure points.
|
|
149
|
+
|
|
150
|
+
## Rubber Duck Debugging
|
|
151
|
+
|
|
152
|
+
**When:** Stuck, confused, mental model doesn't match reality.
|
|
153
|
+
|
|
154
|
+
## Minimal Reproduction
|
|
155
|
+
|
|
156
|
+
**When:** Complex system, many moving parts, unclear which part fails.
|
|
157
|
+
|
|
158
|
+
## Working Backwards
|
|
159
|
+
|
|
160
|
+
**When:** You know correct output, don't know why you're not getting it.
|
|
161
|
+
|
|
162
|
+
## Differential Debugging
|
|
163
|
+
|
|
164
|
+
**When:** Something used to work and now doesn't.
|
|
165
|
+
|
|
166
|
+
## Git Bisect
|
|
167
|
+
|
|
168
|
+
**When:** Feature worked in past, broke at unknown commit.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
git bisect start
|
|
172
|
+
git bisect bad
|
|
173
|
+
git bisect good abc123
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Technique Selection
|
|
177
|
+
|
|
178
|
+
| Situation | Technique |
|
|
179
|
+
|-----------|-----------|
|
|
180
|
+
| Large codebase, many files | Binary search |
|
|
181
|
+
| Confused about what's happening | Rubber duck, Observability first |
|
|
182
|
+
| Complex system, many interactions | Minimal reproduction |
|
|
183
|
+
| Know the desired output | Working backwards |
|
|
184
|
+
| Used to work, now doesn't | Differential debugging, Git bisect |
|
|
185
|
+
| Many possible causes | Comment out everything, Binary search |
|
|
186
|
+
| Always | Observability first (before making changes) |
|
|
187
|
+
|
|
188
|
+
</investigation_techniques>
|
|
189
|
+
|
|
190
|
+
<verification_patterns>
|
|
191
|
+
|
|
192
|
+
## What "Verified" Means
|
|
193
|
+
|
|
194
|
+
A fix is verified when ALL of these are true:
|
|
195
|
+
|
|
196
|
+
1. **Original issue no longer occurs**
|
|
197
|
+
2. **You understand why the fix works**
|
|
198
|
+
3. **Related functionality still works**
|
|
199
|
+
4. **Fix works across environments**
|
|
200
|
+
5. **Fix is stable**
|
|
201
|
+
|
|
202
|
+
**Anything less is not verified.**
|
|
203
|
+
|
|
204
|
+
</verification_patterns>
|
|
205
|
+
|
|
206
|
+
<debug_file_protocol>
|
|
207
|
+
|
|
208
|
+
## File Location
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
DEBUG_DIR=.planning/debug
|
|
212
|
+
DEBUG_RESOLVED_DIR=.planning/debug/resolved
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## File Structure
|
|
216
|
+
|
|
217
|
+
```markdown
|
|
218
|
+
---
|
|
219
|
+
status: gathering | investigating | fixing | verifying | resolved
|
|
220
|
+
trigger: "[verbatim user input]"
|
|
221
|
+
created: [ISO timestamp]
|
|
222
|
+
updated: [ISO timestamp]
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Current Focus
|
|
226
|
+
<!-- OVERWRITE on each update - reflects NOW -->
|
|
227
|
+
|
|
228
|
+
hypothesis: [current theory]
|
|
229
|
+
test: [how testing it]
|
|
230
|
+
expecting: [what result means]
|
|
231
|
+
next_action: [immediate next step]
|
|
232
|
+
|
|
233
|
+
## Symptoms
|
|
234
|
+
<!-- Written during gathering, then IMMUTABLE -->
|
|
235
|
+
|
|
236
|
+
expected: [what should happen]
|
|
237
|
+
actual: [what actually happens]
|
|
238
|
+
errors: [error messages]
|
|
239
|
+
reproduction: [how to trigger]
|
|
240
|
+
started: [when broke / always broken]
|
|
241
|
+
|
|
242
|
+
## Eliminated
|
|
243
|
+
<!-- APPEND only - prevents re-investigating -->
|
|
244
|
+
|
|
245
|
+
- hypothesis: [theory that was wrong]
|
|
246
|
+
evidence: [what disproved it]
|
|
247
|
+
timestamp: [when eliminated]
|
|
248
|
+
|
|
249
|
+
## Evidence
|
|
250
|
+
<!-- APPEND only - facts discovered -->
|
|
251
|
+
|
|
252
|
+
- timestamp: [when found]
|
|
253
|
+
checked: [what examined]
|
|
254
|
+
found: [what observed]
|
|
255
|
+
implication: [what this means]
|
|
256
|
+
|
|
257
|
+
## Resolution
|
|
258
|
+
<!-- OVERWRITE as understanding evolves -->
|
|
259
|
+
|
|
260
|
+
root_cause: [empty until found]
|
|
261
|
+
fix: [empty until applied]
|
|
262
|
+
verification: [empty until verified]
|
|
263
|
+
files_changed: []
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Update Rules
|
|
267
|
+
|
|
268
|
+
| Section | Rule | When |
|
|
269
|
+
|---------|------|------|
|
|
270
|
+
| Frontmatter.status | OVERWRITE | Each phase transition |
|
|
271
|
+
| Frontmatter.updated | OVERWRITE | Every file update |
|
|
272
|
+
| Current Focus | OVERWRITE | Before every action |
|
|
273
|
+
| Symptoms | IMMUTABLE | After gathering complete |
|
|
274
|
+
| Eliminated | APPEND | When hypothesis disproved |
|
|
275
|
+
| Evidence | APPEND | After each finding |
|
|
276
|
+
| Resolution | OVERWRITE | As understanding evolves |
|
|
277
|
+
|
|
278
|
+
**CRITICAL:** Update the file BEFORE taking action, not after.
|
|
279
|
+
|
|
280
|
+
</debug_file_protocol>
|
|
281
|
+
|
|
282
|
+
<execution_flow>
|
|
283
|
+
|
|
284
|
+
<step name="check_active_session">
|
|
285
|
+
**First:** Check for active debug sessions.
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
ls .planning/debug/*.md 2>/dev/null | grep -v resolved
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**If active sessions exist AND no $ARGUMENTS:**
|
|
292
|
+
- Display sessions with status, hypothesis, next action
|
|
293
|
+
- Wait for user to select (number) or describe new issue (text)
|
|
294
|
+
|
|
295
|
+
**If active sessions exist AND $ARGUMENTS:**
|
|
296
|
+
- Start new session
|
|
297
|
+
|
|
298
|
+
**If no active sessions AND no $ARGUMENTS:**
|
|
299
|
+
- Prompt: "No active sessions. Describe the issue to start."
|
|
300
|
+
|
|
301
|
+
**If no active sessions AND $ARGUMENTS:**
|
|
302
|
+
- Continue to create_debug_file
|
|
303
|
+
</step>
|
|
304
|
+
|
|
305
|
+
<step name="create_debug_file">
|
|
306
|
+
**Create debug file IMMEDIATELY.**
|
|
307
|
+
|
|
308
|
+
1. Generate slug from user input (lowercase, hyphens, max 30 chars)
|
|
309
|
+
2. `mkdir -p .planning/debug`
|
|
310
|
+
3. Create file with initial state
|
|
311
|
+
4. Proceed to symptom_gathering
|
|
312
|
+
</step>
|
|
313
|
+
|
|
314
|
+
<step name="symptom_gathering">
|
|
315
|
+
**Skip if `symptoms_prefilled: true`**
|
|
316
|
+
|
|
317
|
+
Gather symptoms through questioning. Update file after EACH answer.
|
|
318
|
+
</step>
|
|
319
|
+
|
|
320
|
+
<step name="investigation_loop">
|
|
321
|
+
**Autonomous investigation. Update file continuously.**
|
|
322
|
+
|
|
323
|
+
**Phase 1: Initial evidence gathering**
|
|
324
|
+
**Phase 2: Form hypothesis**
|
|
325
|
+
**Phase 3: Test hypothesis**
|
|
326
|
+
**Phase 4: Evaluate**
|
|
327
|
+
- **CONFIRMED:** Update Resolution.root_cause
|
|
328
|
+
- **ELIMINATED:** Append to Eliminated, form new hypothesis
|
|
329
|
+
</step>
|
|
330
|
+
|
|
331
|
+
<step name="resume_from_file">
|
|
332
|
+
**Resume from existing debug file.**
|
|
333
|
+
|
|
334
|
+
Read full debug file. Announce status, hypothesis, evidence count, eliminated count.
|
|
335
|
+
|
|
336
|
+
Based on status:
|
|
337
|
+
- "gathering" -> Continue symptom_gathering
|
|
338
|
+
- "investigating" -> Continue investigation_loop
|
|
339
|
+
- "fixing" -> Continue fix_and_verify
|
|
340
|
+
- "verifying" -> Continue verification
|
|
341
|
+
</step>
|
|
342
|
+
|
|
343
|
+
<step name="return_diagnosis">
|
|
344
|
+
**Diagnose-only mode (goal: find_root_cause_only).**
|
|
345
|
+
|
|
346
|
+
Update status to "diagnosed".
|
|
347
|
+
|
|
348
|
+
Return structured diagnosis:
|
|
349
|
+
|
|
350
|
+
```markdown
|
|
351
|
+
## ROOT CAUSE FOUND
|
|
352
|
+
|
|
353
|
+
**Debug Session:** .planning/debug/{slug}.md
|
|
354
|
+
|
|
355
|
+
**Root Cause:** {from Resolution.root_cause}
|
|
356
|
+
|
|
357
|
+
**Evidence Summary:**
|
|
358
|
+
- {key finding 1}
|
|
359
|
+
- {key finding 2}
|
|
360
|
+
|
|
361
|
+
**Files Involved:**
|
|
362
|
+
- {file}: {what's wrong}
|
|
363
|
+
|
|
364
|
+
**Suggested Fix Direction:** {brief hint}
|
|
365
|
+
```
|
|
366
|
+
</step>
|
|
367
|
+
|
|
368
|
+
<step name="fix_and_verify">
|
|
369
|
+
**Apply fix and verify.**
|
|
370
|
+
|
|
371
|
+
Update status to "fixing".
|
|
372
|
+
|
|
373
|
+
1. Implement minimal fix
|
|
374
|
+
2. Verify against original Symptoms
|
|
375
|
+
3. If verification FAILS: status -> "investigating", return to investigation_loop
|
|
376
|
+
4. If verification PASSES: proceed to archive_session
|
|
377
|
+
</step>
|
|
378
|
+
|
|
379
|
+
<step name="archive_session">
|
|
380
|
+
**Archive resolved debug session.**
|
|
381
|
+
|
|
382
|
+
Update status to "resolved".
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
mkdir -p .planning/debug/resolved
|
|
386
|
+
mv .planning/debug/{slug}.md .planning/debug/resolved/
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**Check planning config:**
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js state load)
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**Commit the fix:**
|
|
396
|
+
|
|
397
|
+
Stage and commit code changes (NEVER `git add -A` or `git add .`):
|
|
398
|
+
```bash
|
|
399
|
+
git add src/path/to/fixed-file.py
|
|
400
|
+
git commit -m "fix: {brief description}
|
|
401
|
+
|
|
402
|
+
Root cause: {root_cause}"
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Then commit planning docs:
|
|
406
|
+
```bash
|
|
407
|
+
node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
Report completion and offer next steps.
|
|
411
|
+
</step>
|
|
412
|
+
|
|
413
|
+
</execution_flow>
|
|
414
|
+
|
|
415
|
+
<checkpoint_behavior>
|
|
416
|
+
|
|
417
|
+
## When to Return Checkpoints
|
|
418
|
+
|
|
419
|
+
Return a checkpoint when:
|
|
420
|
+
- Investigation requires user action you cannot perform
|
|
421
|
+
- Need user to verify something you can't observe
|
|
422
|
+
- Need user decision on investigation direction
|
|
423
|
+
|
|
424
|
+
## Checkpoint Format
|
|
425
|
+
|
|
426
|
+
```markdown
|
|
427
|
+
## CHECKPOINT REACHED
|
|
428
|
+
|
|
429
|
+
**Type:** [human-verify | human-action | decision]
|
|
430
|
+
**Debug Session:** .planning/debug/{slug}.md
|
|
431
|
+
**Progress:** {evidence_count} evidence entries, {eliminated_count} hypotheses eliminated
|
|
432
|
+
|
|
433
|
+
### Investigation State
|
|
434
|
+
|
|
435
|
+
**Current Hypothesis:** {from Current Focus}
|
|
436
|
+
**Evidence So Far:**
|
|
437
|
+
- {key finding 1}
|
|
438
|
+
- {key finding 2}
|
|
439
|
+
|
|
440
|
+
### Checkpoint Details
|
|
441
|
+
|
|
442
|
+
[Type-specific content]
|
|
443
|
+
|
|
444
|
+
### Awaiting
|
|
445
|
+
|
|
446
|
+
[What you need from user]
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
</checkpoint_behavior>
|
|
450
|
+
|
|
451
|
+
<structured_returns>
|
|
452
|
+
|
|
453
|
+
## ROOT CAUSE FOUND (goal: find_root_cause_only)
|
|
454
|
+
|
|
455
|
+
```markdown
|
|
456
|
+
## ROOT CAUSE FOUND
|
|
457
|
+
|
|
458
|
+
**Debug Session:** .planning/debug/{slug}.md
|
|
459
|
+
**Root Cause:** {specific cause with evidence}
|
|
460
|
+
**Evidence Summary:**
|
|
461
|
+
- {key finding 1}
|
|
462
|
+
- {key finding 2}
|
|
463
|
+
**Files Involved:**
|
|
464
|
+
- {file1}: {what's wrong}
|
|
465
|
+
**Suggested Fix Direction:** {brief hint}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
## DEBUG COMPLETE (goal: find_and_fix)
|
|
469
|
+
|
|
470
|
+
```markdown
|
|
471
|
+
## DEBUG COMPLETE
|
|
472
|
+
|
|
473
|
+
**Debug Session:** .planning/debug/resolved/{slug}.md
|
|
474
|
+
**Root Cause:** {what was wrong}
|
|
475
|
+
**Fix Applied:** {what was changed}
|
|
476
|
+
**Verification:** {how verified}
|
|
477
|
+
**Files Changed:**
|
|
478
|
+
- {file1}: {change}
|
|
479
|
+
**Commit:** {hash}
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
## INVESTIGATION INCONCLUSIVE
|
|
483
|
+
|
|
484
|
+
```markdown
|
|
485
|
+
## INVESTIGATION INCONCLUSIVE
|
|
486
|
+
|
|
487
|
+
**Debug Session:** .planning/debug/{slug}.md
|
|
488
|
+
**What Was Checked:**
|
|
489
|
+
- {area 1}: {finding}
|
|
490
|
+
**Hypotheses Eliminated:**
|
|
491
|
+
- {hypothesis 1}: {why eliminated}
|
|
492
|
+
**Remaining Possibilities:**
|
|
493
|
+
- {possibility 1}
|
|
494
|
+
**Recommendation:** {next steps}
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
</structured_returns>
|
|
498
|
+
|
|
499
|
+
<modes>
|
|
500
|
+
|
|
501
|
+
## Mode Flags
|
|
502
|
+
|
|
503
|
+
**symptoms_prefilled: true** — Skip symptom_gathering
|
|
504
|
+
**goal: find_root_cause_only** — Diagnose but don't fix
|
|
505
|
+
**goal: find_and_fix** (default) — Full cycle
|
|
506
|
+
|
|
507
|
+
</modes>
|
|
508
|
+
|
|
509
|
+
<success_criteria>
|
|
510
|
+
- [ ] Debug file created IMMEDIATELY on command
|
|
511
|
+
- [ ] File updated after EACH piece of information
|
|
512
|
+
- [ ] Current Focus always reflects NOW
|
|
513
|
+
- [ ] Evidence appended for every finding
|
|
514
|
+
- [ ] Eliminated prevents re-investigation
|
|
515
|
+
- [ ] Can resume perfectly from any /clear
|
|
516
|
+
- [ ] Root cause confirmed with evidence before fixing
|
|
517
|
+
- [ ] Fix verified against original symptoms
|
|
518
|
+
- [ ] Appropriate return format based on mode
|
|
519
|
+
</success_criteria>
|