gsd-remix 1.0.0
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/LICENSE +21 -0
- package/README.md +939 -0
- package/README.zh-CN.md +876 -0
- package/agents/gsd-advisor-researcher.md +127 -0
- package/agents/gsd-ai-researcher.md +133 -0
- package/agents/gsd-assumptions-analyzer.md +105 -0
- package/agents/gsd-code-fixer.md +517 -0
- package/agents/gsd-code-reviewer.md +371 -0
- package/agents/gsd-codebase-mapper.md +781 -0
- package/agents/gsd-debug-session-manager.md +314 -0
- package/agents/gsd-debugger.md +1452 -0
- package/agents/gsd-doc-classifier.md +168 -0
- package/agents/gsd-doc-synthesizer.md +204 -0
- package/agents/gsd-doc-verifier.md +217 -0
- package/agents/gsd-doc-writer.md +615 -0
- package/agents/gsd-domain-researcher.md +153 -0
- package/agents/gsd-eval-auditor.md +191 -0
- package/agents/gsd-eval-planner.md +154 -0
- package/agents/gsd-executor.md +603 -0
- package/agents/gsd-framework-selector.md +160 -0
- package/agents/gsd-integration-checker.md +470 -0
- package/agents/gsd-intel-updater.md +334 -0
- package/agents/gsd-nyquist-auditor.md +203 -0
- package/agents/gsd-pattern-mapper.md +335 -0
- package/agents/gsd-phase-researcher.md +841 -0
- package/agents/gsd-plan-checker.md +978 -0
- package/agents/gsd-planner.md +1251 -0
- package/agents/gsd-project-researcher.md +677 -0
- package/agents/gsd-research-synthesizer.md +247 -0
- package/agents/gsd-roadmapper.md +688 -0
- package/agents/gsd-security-auditor.md +155 -0
- package/agents/gsd-ui-auditor.md +495 -0
- package/agents/gsd-ui-checker.md +309 -0
- package/agents/gsd-ui-researcher.md +380 -0
- package/agents/gsd-user-profiler.md +171 -0
- package/agents/gsd-verifier.md +830 -0
- package/bin/install.js +7062 -0
- package/commands/gsd/add-backlog.md +79 -0
- package/commands/gsd/add-phase.md +43 -0
- package/commands/gsd/add-tests.md +41 -0
- package/commands/gsd/add-todo.md +47 -0
- package/commands/gsd/ai-integration-phase.md +36 -0
- package/commands/gsd/analyze-dependencies.md +34 -0
- package/commands/gsd/audit-fix.md +33 -0
- package/commands/gsd/audit-milestone.md +36 -0
- package/commands/gsd/audit-uat.md +24 -0
- package/commands/gsd/autonomous.md +46 -0
- package/commands/gsd/check-todos.md +45 -0
- package/commands/gsd/cleanup.md +23 -0
- package/commands/gsd/code-review-fix.md +52 -0
- package/commands/gsd/code-review.md +55 -0
- package/commands/gsd/complete-milestone.md +136 -0
- package/commands/gsd/debug.md +263 -0
- package/commands/gsd/discuss-phase.md +69 -0
- package/commands/gsd/do.md +30 -0
- package/commands/gsd/docs-update.md +48 -0
- package/commands/gsd/eval-review.md +32 -0
- package/commands/gsd/execute-phase.md +63 -0
- package/commands/gsd/explore.md +27 -0
- package/commands/gsd/extract_learnings.md +22 -0
- package/commands/gsd/fast.md +30 -0
- package/commands/gsd/forensics.md +56 -0
- package/commands/gsd/from-gsd2.md +47 -0
- package/commands/gsd/graphify.md +201 -0
- package/commands/gsd/health.md +22 -0
- package/commands/gsd/help.md +24 -0
- package/commands/gsd/import.md +37 -0
- package/commands/gsd/inbox.md +38 -0
- package/commands/gsd/ingest-docs.md +42 -0
- package/commands/gsd/insert-phase.md +32 -0
- package/commands/gsd/intel.md +179 -0
- package/commands/gsd/join-discord.md +19 -0
- package/commands/gsd/list-phase-assumptions.md +46 -0
- package/commands/gsd/list-workspaces.md +19 -0
- package/commands/gsd/manager.md +40 -0
- package/commands/gsd/map-codebase.md +71 -0
- package/commands/gsd/milestone-summary.md +51 -0
- package/commands/gsd/new-milestone.md +44 -0
- package/commands/gsd/new-project.md +46 -0
- package/commands/gsd/new-workspace.md +44 -0
- package/commands/gsd/next.md +28 -0
- package/commands/gsd/note.md +34 -0
- package/commands/gsd/pause-work.md +38 -0
- package/commands/gsd/plan-milestone-gaps.md +34 -0
- package/commands/gsd/plan-phase.md +52 -0
- package/commands/gsd/plan-review-convergence.md +52 -0
- package/commands/gsd/plant-seed.md +28 -0
- package/commands/gsd/pr-branch.md +25 -0
- package/commands/gsd/profile-user.md +46 -0
- package/commands/gsd/progress.md +25 -0
- package/commands/gsd/quick.md +173 -0
- package/commands/gsd/reapply-patches.md +331 -0
- package/commands/gsd/remove-phase.md +31 -0
- package/commands/gsd/remove-workspace.md +26 -0
- package/commands/gsd/research-phase.md +195 -0
- package/commands/gsd/resume-work.md +40 -0
- package/commands/gsd/review-backlog.md +62 -0
- package/commands/gsd/review.md +40 -0
- package/commands/gsd/scan.md +26 -0
- package/commands/gsd/secure-phase.md +35 -0
- package/commands/gsd/session-report.md +19 -0
- package/commands/gsd/set-profile.md +12 -0
- package/commands/gsd/settings.md +36 -0
- package/commands/gsd/ship.md +23 -0
- package/commands/gsd/sketch-wrap-up.md +31 -0
- package/commands/gsd/sketch.md +49 -0
- package/commands/gsd/spec-phase.md +62 -0
- package/commands/gsd/spike-wrap-up.md +31 -0
- package/commands/gsd/spike.md +46 -0
- package/commands/gsd/stats.md +18 -0
- package/commands/gsd/sync-skills.md +19 -0
- package/commands/gsd/thread.md +227 -0
- package/commands/gsd/ui-phase.md +34 -0
- package/commands/gsd/ui-review.md +32 -0
- package/commands/gsd/ultraplan-phase.md +33 -0
- package/commands/gsd/undo.md +34 -0
- package/commands/gsd/update.md +37 -0
- package/commands/gsd/validate-phase.md +35 -0
- package/commands/gsd/verify-work.md +38 -0
- package/commands/gsd/workstreams.md +69 -0
- package/get-shit-done/bin/gsd-tools.cjs +1263 -0
- package/get-shit-done/bin/lib/artifacts.cjs +52 -0
- package/get-shit-done/bin/lib/audit.cjs +757 -0
- package/get-shit-done/bin/lib/commands.cjs +1023 -0
- package/get-shit-done/bin/lib/config-schema.cjs +79 -0
- package/get-shit-done/bin/lib/config.cjs +463 -0
- package/get-shit-done/bin/lib/core.cjs +1794 -0
- package/get-shit-done/bin/lib/docs.cjs +267 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +379 -0
- package/get-shit-done/bin/lib/graphify.cjs +494 -0
- package/get-shit-done/bin/lib/gsd2-import.cjs +511 -0
- package/get-shit-done/bin/lib/init.cjs +1878 -0
- package/get-shit-done/bin/lib/intel.cjs +639 -0
- package/get-shit-done/bin/lib/learnings.cjs +378 -0
- package/get-shit-done/bin/lib/milestone.cjs +283 -0
- package/get-shit-done/bin/lib/model-profiles.cjs +71 -0
- package/get-shit-done/bin/lib/phase.cjs +1058 -0
- package/get-shit-done/bin/lib/profile-output.cjs +1080 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/roadmap.cjs +523 -0
- package/get-shit-done/bin/lib/schema-detect.cjs +238 -0
- package/get-shit-done/bin/lib/security.cjs +504 -0
- package/get-shit-done/bin/lib/state.cjs +1649 -0
- package/get-shit-done/bin/lib/template.cjs +226 -0
- package/get-shit-done/bin/lib/uat.cjs +288 -0
- package/get-shit-done/bin/lib/verify.cjs +1184 -0
- package/get-shit-done/bin/lib/workstream.cjs +495 -0
- package/get-shit-done/bin/repair-sdk.cjs +177 -0
- package/get-shit-done/contexts/dev.md +21 -0
- package/get-shit-done/contexts/research.md +22 -0
- package/get-shit-done/contexts/review.md +22 -0
- package/get-shit-done/references/agent-contracts.md +79 -0
- package/get-shit-done/references/ai-evals.md +156 -0
- package/get-shit-done/references/ai-frameworks.md +186 -0
- package/get-shit-done/references/artifact-types.md +131 -0
- package/get-shit-done/references/autonomous-smart-discuss.md +277 -0
- package/get-shit-done/references/checkpoints.md +808 -0
- package/get-shit-done/references/common-bug-patterns.md +114 -0
- package/get-shit-done/references/context-budget.md +49 -0
- package/get-shit-done/references/continuation-format.md +253 -0
- package/get-shit-done/references/debugger-philosophy.md +76 -0
- package/get-shit-done/references/decimal-phase-calculation.md +64 -0
- package/get-shit-done/references/doc-conflict-engine.md +91 -0
- package/get-shit-done/references/domain-probes.md +125 -0
- package/get-shit-done/references/executor-examples.md +110 -0
- package/get-shit-done/references/few-shot-examples/plan-checker.md +73 -0
- package/get-shit-done/references/few-shot-examples/verifier.md +109 -0
- package/get-shit-done/references/gate-prompts.md +100 -0
- package/get-shit-done/references/gates.md +70 -0
- package/get-shit-done/references/git-integration.md +295 -0
- package/get-shit-done/references/git-planning-commit.md +40 -0
- package/get-shit-done/references/ios-scaffold.md +123 -0
- package/get-shit-done/references/mandatory-initial-read.md +2 -0
- package/get-shit-done/references/model-profile-resolution.md +38 -0
- package/get-shit-done/references/model-profiles.md +145 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planner-antipatterns.md +89 -0
- package/get-shit-done/references/planner-gap-closure.md +62 -0
- package/get-shit-done/references/planner-reviews.md +39 -0
- package/get-shit-done/references/planner-revision.md +87 -0
- package/get-shit-done/references/planner-source-audit.md +73 -0
- package/get-shit-done/references/planning-config.md +460 -0
- package/get-shit-done/references/project-skills-discovery.md +19 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/revision-loop.md +97 -0
- package/get-shit-done/references/sketch-interactivity.md +41 -0
- package/get-shit-done/references/sketch-theme-system.md +94 -0
- package/get-shit-done/references/sketch-tooling.md +45 -0
- package/get-shit-done/references/sketch-variant-patterns.md +81 -0
- package/get-shit-done/references/tdd.md +330 -0
- package/get-shit-done/references/thinking-models-debug.md +44 -0
- package/get-shit-done/references/thinking-models-execution.md +50 -0
- package/get-shit-done/references/thinking-models-planning.md +62 -0
- package/get-shit-done/references/thinking-models-research.md +50 -0
- package/get-shit-done/references/thinking-models-verification.md +55 -0
- package/get-shit-done/references/thinking-partner.md +96 -0
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/universal-anti-patterns.md +63 -0
- package/get-shit-done/references/user-profiling.md +681 -0
- package/get-shit-done/references/verification-overrides.md +227 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/references/workstream-flag.md +111 -0
- package/get-shit-done/templates/AI-SPEC.md +246 -0
- package/get-shit-done/templates/DEBUG.md +169 -0
- package/get-shit-done/templates/README.md +76 -0
- package/get-shit-done/templates/SECURITY.md +61 -0
- package/get-shit-done/templates/UAT.md +265 -0
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/VALIDATION.md +76 -0
- package/get-shit-done/templates/claude-md.md +145 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +56 -0
- package/get-shit-done/templates/context.md +352 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/copilot-instructions.md +7 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/dev-preferences.md +21 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/discussion-log.md +63 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +610 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +186 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +592 -0
- package/get-shit-done/templates/retrospective.md +54 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/spec.md +307 -0
- package/get-shit-done/templates/state.md +184 -0
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +248 -0
- package/get-shit-done/templates/user-profile.md +146 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/add-phase.md +112 -0
- package/get-shit-done/workflows/add-tests.md +354 -0
- package/get-shit-done/workflows/add-todo.md +160 -0
- package/get-shit-done/workflows/ai-integration-phase.md +284 -0
- package/get-shit-done/workflows/analyze-dependencies.md +96 -0
- package/get-shit-done/workflows/audit-fix.md +175 -0
- package/get-shit-done/workflows/audit-milestone.md +340 -0
- package/get-shit-done/workflows/audit-uat.md +109 -0
- package/get-shit-done/workflows/autonomous.md +789 -0
- package/get-shit-done/workflows/check-todos.md +179 -0
- package/get-shit-done/workflows/cleanup.md +154 -0
- package/get-shit-done/workflows/code-review-fix.md +497 -0
- package/get-shit-done/workflows/code-review.md +515 -0
- package/get-shit-done/workflows/complete-milestone.md +847 -0
- package/get-shit-done/workflows/diagnose-issues.md +238 -0
- package/get-shit-done/workflows/discovery-phase.md +291 -0
- package/get-shit-done/workflows/discuss-phase-assumptions.md +670 -0
- package/get-shit-done/workflows/discuss-phase-power.md +308 -0
- package/get-shit-done/workflows/discuss-phase.md +1378 -0
- package/get-shit-done/workflows/do.md +110 -0
- package/get-shit-done/workflows/docs-update.md +1155 -0
- package/get-shit-done/workflows/eval-review.md +155 -0
- package/get-shit-done/workflows/execute-phase.md +1677 -0
- package/get-shit-done/workflows/execute-plan.md +533 -0
- package/get-shit-done/workflows/explore.md +141 -0
- package/get-shit-done/workflows/extract_learnings.md +242 -0
- package/get-shit-done/workflows/fast.md +105 -0
- package/get-shit-done/workflows/forensics.md +265 -0
- package/get-shit-done/workflows/graduation.md +195 -0
- package/get-shit-done/workflows/health.md +314 -0
- package/get-shit-done/workflows/help.md +667 -0
- package/get-shit-done/workflows/import.md +246 -0
- package/get-shit-done/workflows/inbox.md +387 -0
- package/get-shit-done/workflows/ingest-docs.md +328 -0
- package/get-shit-done/workflows/insert-phase.md +130 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/list-workspaces.md +56 -0
- package/get-shit-done/workflows/manager.md +365 -0
- package/get-shit-done/workflows/map-codebase.md +393 -0
- package/get-shit-done/workflows/milestone-summary.md +223 -0
- package/get-shit-done/workflows/new-milestone.md +611 -0
- package/get-shit-done/workflows/new-project.md +1391 -0
- package/get-shit-done/workflows/new-workspace.md +239 -0
- package/get-shit-done/workflows/next.md +220 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/note.md +158 -0
- package/get-shit-done/workflows/pause-work.md +243 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +273 -0
- package/get-shit-done/workflows/plan-phase.md +1349 -0
- package/get-shit-done/workflows/plan-review-convergence.md +254 -0
- package/get-shit-done/workflows/plant-seed.md +172 -0
- package/get-shit-done/workflows/pr-branch.md +157 -0
- package/get-shit-done/workflows/profile-user.md +452 -0
- package/get-shit-done/workflows/progress.md +619 -0
- package/get-shit-done/workflows/quick.md +970 -0
- package/get-shit-done/workflows/remove-phase.md +155 -0
- package/get-shit-done/workflows/remove-workspace.md +92 -0
- package/get-shit-done/workflows/research-phase.md +89 -0
- package/get-shit-done/workflows/resume-project.md +326 -0
- package/get-shit-done/workflows/review.md +344 -0
- package/get-shit-done/workflows/scan.md +102 -0
- package/get-shit-done/workflows/secure-phase.md +166 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/settings.md +319 -0
- package/get-shit-done/workflows/ship.md +302 -0
- package/get-shit-done/workflows/sketch-wrap-up.md +283 -0
- package/get-shit-done/workflows/sketch.md +286 -0
- package/get-shit-done/workflows/spec-phase.md +262 -0
- package/get-shit-done/workflows/spike-wrap-up.md +281 -0
- package/get-shit-done/workflows/spike.md +362 -0
- package/get-shit-done/workflows/stats.md +60 -0
- package/get-shit-done/workflows/sync-skills.md +182 -0
- package/get-shit-done/workflows/transition.md +693 -0
- package/get-shit-done/workflows/ui-phase.md +323 -0
- package/get-shit-done/workflows/ui-review.md +190 -0
- package/get-shit-done/workflows/ultraplan-phase.md +189 -0
- package/get-shit-done/workflows/undo.md +314 -0
- package/get-shit-done/workflows/update.md +587 -0
- package/get-shit-done/workflows/validate-phase.md +176 -0
- package/get-shit-done/workflows/verify-phase.md +465 -0
- package/get-shit-done/workflows/verify-work.md +740 -0
- package/hooks/dist/gsd-check-update-worker.js +108 -0
- package/hooks/dist/gsd-check-update.js +64 -0
- package/hooks/dist/gsd-context-monitor.js +192 -0
- package/hooks/dist/gsd-phase-boundary.sh +28 -0
- package/hooks/dist/gsd-prompt-guard.js +97 -0
- package/hooks/dist/gsd-read-guard.js +82 -0
- package/hooks/dist/gsd-read-injection-scanner.js +152 -0
- package/hooks/dist/gsd-session-state.sh +34 -0
- package/hooks/dist/gsd-statusline.js +293 -0
- package/hooks/dist/gsd-validate-commit.sh +48 -0
- package/hooks/dist/gsd-workflow-guard.js +94 -0
- package/hooks/gsd-check-update-worker.js +108 -0
- package/hooks/gsd-check-update.js +64 -0
- package/hooks/gsd-context-monitor.js +192 -0
- package/hooks/gsd-phase-boundary.sh +28 -0
- package/hooks/gsd-prompt-guard.js +97 -0
- package/hooks/gsd-read-guard.js +82 -0
- package/hooks/gsd-read-injection-scanner.js +152 -0
- package/hooks/gsd-session-state.sh +34 -0
- package/hooks/gsd-statusline.js +293 -0
- package/hooks/gsd-validate-commit.sh +48 -0
- package/hooks/gsd-workflow-guard.js +94 -0
- package/package.json +59 -0
- package/scripts/base64-scan.sh +262 -0
- package/scripts/build-hooks.js +95 -0
- package/scripts/gen-inventory-manifest.cjs +109 -0
- package/scripts/prompt-injection-scan.sh +201 -0
- package/scripts/run-tests.cjs +33 -0
- package/scripts/secret-scan.sh +227 -0
- package/sdk/package-lock.json +1998 -0
- package/sdk/package.json +52 -0
- package/sdk/prompts/agents/gsd-executor.md +110 -0
- package/sdk/prompts/agents/gsd-phase-researcher.md +158 -0
- package/sdk/prompts/agents/gsd-plan-checker.md +160 -0
- package/sdk/prompts/agents/gsd-planner.md +214 -0
- package/sdk/prompts/agents/gsd-project-researcher.md +323 -0
- package/sdk/prompts/agents/gsd-research-synthesizer.md +237 -0
- package/sdk/prompts/agents/gsd-roadmapper.md +670 -0
- package/sdk/prompts/agents/gsd-verifier.md +159 -0
- package/sdk/prompts/templates/project.md +186 -0
- package/sdk/prompts/templates/requirements.md +231 -0
- package/sdk/prompts/templates/research-project/ARCHITECTURE.md +204 -0
- package/sdk/prompts/templates/research-project/FEATURES.md +147 -0
- package/sdk/prompts/templates/research-project/PITFALLS.md +200 -0
- package/sdk/prompts/templates/research-project/STACK.md +120 -0
- package/sdk/prompts/templates/research-project/SUMMARY.md +170 -0
- package/sdk/prompts/templates/roadmap.md +202 -0
- package/sdk/prompts/templates/state.md +175 -0
- package/sdk/prompts/workflows/discuss-phase.md +126 -0
- package/sdk/prompts/workflows/execute-plan.md +106 -0
- package/sdk/prompts/workflows/plan-phase.md +84 -0
- package/sdk/prompts/workflows/research-phase.md +45 -0
- package/sdk/prompts/workflows/verify-phase.md +142 -0
- package/sdk/src/assembled-prompts.test.ts +349 -0
- package/sdk/src/cli-transport.test.ts +388 -0
- package/sdk/src/cli-transport.ts +130 -0
- package/sdk/src/cli.test.ts +383 -0
- package/sdk/src/cli.ts +670 -0
- package/sdk/src/config.test.ts +168 -0
- package/sdk/src/config.ts +177 -0
- package/sdk/src/context-engine.test.ts +295 -0
- package/sdk/src/context-engine.ts +170 -0
- package/sdk/src/context-truncation.test.ts +163 -0
- package/sdk/src/context-truncation.ts +233 -0
- package/sdk/src/e2e.integration.test.ts +178 -0
- package/sdk/src/errors.ts +72 -0
- package/sdk/src/event-stream.test.ts +661 -0
- package/sdk/src/event-stream.ts +441 -0
- package/sdk/src/failure-memory.test.ts +457 -0
- package/sdk/src/failure-memory.ts +1324 -0
- package/sdk/src/golden/capture.ts +95 -0
- package/sdk/src/golden/fixtures/generate-slug.golden.json +1 -0
- package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +3 -0
- package/sdk/src/golden/fixtures/summary-extract-sample.md +26 -0
- package/sdk/src/golden/fixtures/uat-render-checkpoint-sample.md +15 -0
- package/sdk/src/golden/golden-integration-covered.ts +30 -0
- package/sdk/src/golden/golden-mutation-covered.ts +7 -0
- package/sdk/src/golden/golden-policy.test.ts +8 -0
- package/sdk/src/golden/golden-policy.ts +112 -0
- package/sdk/src/golden/golden.integration.test.ts +373 -0
- package/sdk/src/golden/init-golden-normalize.ts +15 -0
- package/sdk/src/golden/read-only-golden-rows.ts +77 -0
- package/sdk/src/golden/read-only-parity.integration.test.ts +125 -0
- package/sdk/src/golden/registry-canonical-commands.ts +31 -0
- package/sdk/src/gsd-tools.test.ts +409 -0
- package/sdk/src/gsd-tools.ts +595 -0
- package/sdk/src/headless-prompts.test.ts +159 -0
- package/sdk/src/index.ts +333 -0
- package/sdk/src/init-e2e.integration.test.ts +136 -0
- package/sdk/src/init-runner.test.ts +783 -0
- package/sdk/src/init-runner.ts +735 -0
- package/sdk/src/lifecycle-e2e.integration.test.ts +258 -0
- package/sdk/src/logger.test.ts +149 -0
- package/sdk/src/logger.ts +113 -0
- package/sdk/src/milestone-runner.test.ts +421 -0
- package/sdk/src/phase-prompt.test.ts +538 -0
- package/sdk/src/phase-prompt.ts +264 -0
- package/sdk/src/phase-runner-types.test.ts +421 -0
- package/sdk/src/phase-runner.integration.test.ts +377 -0
- package/sdk/src/phase-runner.test.ts +2333 -0
- package/sdk/src/phase-runner.ts +1203 -0
- package/sdk/src/plan-parser.test.ts +528 -0
- package/sdk/src/plan-parser.ts +427 -0
- package/sdk/src/prompt-builder.test.ts +306 -0
- package/sdk/src/prompt-builder.ts +193 -0
- package/sdk/src/prompt-sanitizer.test.ts +260 -0
- package/sdk/src/prompt-sanitizer.ts +71 -0
- package/sdk/src/query/QUERY-HANDLERS.md +317 -0
- package/sdk/src/query/audit-open.ts +722 -0
- package/sdk/src/query/check-auto-mode.test.ts +77 -0
- package/sdk/src/query/check-auto-mode.ts +50 -0
- package/sdk/src/query/check-completion.test.ts +113 -0
- package/sdk/src/query/check-completion.ts +182 -0
- package/sdk/src/query/check-gates.test.ts +103 -0
- package/sdk/src/query/check-gates.ts +112 -0
- package/sdk/src/query/check-ship-ready.test.ts +77 -0
- package/sdk/src/query/check-ship-ready.ts +103 -0
- package/sdk/src/query/check-verification-status.test.ts +143 -0
- package/sdk/src/query/check-verification-status.ts +160 -0
- package/sdk/src/query/commit.test.ts +202 -0
- package/sdk/src/query/commit.ts +301 -0
- package/sdk/src/query/config-gates.test.ts +89 -0
- package/sdk/src/query/config-gates.ts +69 -0
- package/sdk/src/query/config-mutation.test.ts +365 -0
- package/sdk/src/query/config-mutation.ts +497 -0
- package/sdk/src/query/config-query.test.ts +161 -0
- package/sdk/src/query/config-query.ts +190 -0
- package/sdk/src/query/context-history.test.ts +165 -0
- package/sdk/src/query/context-history.ts +467 -0
- package/sdk/src/query/decomposed-handlers.test.ts +365 -0
- package/sdk/src/query/detect-custom-files.ts +97 -0
- package/sdk/src/query/detect-phase-type.test.ts +105 -0
- package/sdk/src/query/detect-phase-type.ts +141 -0
- package/sdk/src/query/docs-init.ts +257 -0
- package/sdk/src/query/failure-capture.ts +58 -0
- package/sdk/src/query/frontmatter-array.test.ts +14 -0
- package/sdk/src/query/frontmatter-mutation.test.ts +259 -0
- package/sdk/src/query/frontmatter-mutation.ts +343 -0
- package/sdk/src/query/frontmatter.test.ts +281 -0
- package/sdk/src/query/frontmatter.ts +397 -0
- package/sdk/src/query/helpers.test.ts +426 -0
- package/sdk/src/query/helpers.ts +482 -0
- package/sdk/src/query/index.ts +586 -0
- package/sdk/src/query/init-complex.test.ts +232 -0
- package/sdk/src/query/init-complex.ts +578 -0
- package/sdk/src/query/init.test.ts +522 -0
- package/sdk/src/query/init.ts +1046 -0
- package/sdk/src/query/intel.test.ts +90 -0
- package/sdk/src/query/intel.ts +404 -0
- package/sdk/src/query/normalize-query-command.test.ts +50 -0
- package/sdk/src/query/normalize-query-command.ts +56 -0
- package/sdk/src/query/phase-lifecycle.test.ts +1126 -0
- package/sdk/src/query/phase-lifecycle.ts +1799 -0
- package/sdk/src/query/phase-list-queries.test.ts +88 -0
- package/sdk/src/query/phase-list-queries.ts +152 -0
- package/sdk/src/query/phase-ready.test.ts +65 -0
- package/sdk/src/query/phase-ready.ts +158 -0
- package/sdk/src/query/phase.test.ts +307 -0
- package/sdk/src/query/phase.ts +340 -0
- package/sdk/src/query/pipeline.test.ts +169 -0
- package/sdk/src/query/pipeline.ts +243 -0
- package/sdk/src/query/plan-execution-route.test.ts +166 -0
- package/sdk/src/query/plan-execution-route.ts +209 -0
- package/sdk/src/query/plan-task-structure.test.ts +65 -0
- package/sdk/src/query/plan-task-structure.ts +63 -0
- package/sdk/src/query/profile-extract-messages.ts +247 -0
- package/sdk/src/query/profile-output.ts +908 -0
- package/sdk/src/query/profile-questionnaire-data.ts +181 -0
- package/sdk/src/query/profile-sample.ts +184 -0
- package/sdk/src/query/profile-scan-sessions.ts +174 -0
- package/sdk/src/query/profile.test.ts +74 -0
- package/sdk/src/query/profile.ts +337 -0
- package/sdk/src/query/progress.test.ts +156 -0
- package/sdk/src/query/progress.ts +566 -0
- package/sdk/src/query/registry.test.ts +216 -0
- package/sdk/src/query/registry.ts +174 -0
- package/sdk/src/query/requirements-extract-from-plans.test.ts +58 -0
- package/sdk/src/query/requirements-extract-from-plans.ts +86 -0
- package/sdk/src/query/roadmap-update-plan-progress.ts +132 -0
- package/sdk/src/query/roadmap.test.ts +359 -0
- package/sdk/src/query/roadmap.ts +591 -0
- package/sdk/src/query/route-next-action.test.ts +61 -0
- package/sdk/src/query/route-next-action.ts +345 -0
- package/sdk/src/query/runtime-health.ts +7 -0
- package/sdk/src/query/schema-detect.ts +189 -0
- package/sdk/src/query/skill-manifest.ts +214 -0
- package/sdk/src/query/skills.test.ts +80 -0
- package/sdk/src/query/skills.ts +62 -0
- package/sdk/src/query/state-mutation.test.ts +450 -0
- package/sdk/src/query/state-mutation.ts +1444 -0
- package/sdk/src/query/state-project-load.ts +109 -0
- package/sdk/src/query/state.test.ts +347 -0
- package/sdk/src/query/state.ts +397 -0
- package/sdk/src/query/summary.test.ts +95 -0
- package/sdk/src/query/summary.ts +296 -0
- package/sdk/src/query/template.test.ts +180 -0
- package/sdk/src/query/template.ts +242 -0
- package/sdk/src/query/uat.test.ts +77 -0
- package/sdk/src/query/uat.ts +314 -0
- package/sdk/src/query/utils.test.ts +82 -0
- package/sdk/src/query/utils.ts +92 -0
- package/sdk/src/query/validate.test.ts +656 -0
- package/sdk/src/query/validate.ts +807 -0
- package/sdk/src/query/verify.test.ts +414 -0
- package/sdk/src/query/verify.ts +645 -0
- package/sdk/src/query/websearch.test.ts +31 -0
- package/sdk/src/query/websearch.ts +82 -0
- package/sdk/src/query/workspace.test.ts +119 -0
- package/sdk/src/query/workspace.ts +131 -0
- package/sdk/src/query/workstream.test.ts +51 -0
- package/sdk/src/query/workstream.ts +434 -0
- package/sdk/src/research-gate.test.ts +190 -0
- package/sdk/src/research-gate.ts +94 -0
- package/sdk/src/runtime-health.test.ts +176 -0
- package/sdk/src/runtime-health.ts +387 -0
- package/sdk/src/session-runner.test.ts +98 -0
- package/sdk/src/session-runner.ts +299 -0
- package/sdk/src/tool-scoping.test.ts +160 -0
- package/sdk/src/tool-scoping.ts +61 -0
- package/sdk/src/types.ts +917 -0
- package/sdk/src/workstream-utils.ts +33 -0
- package/sdk/src/ws-flag.test.ts +285 -0
- package/sdk/src/ws-transport.test.ts +161 -0
- package/sdk/src/ws-transport.ts +93 -0
- package/sdk/tsconfig.json +20 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Phase Argument Parsing
|
|
2
|
+
|
|
3
|
+
Parse and normalize phase arguments for commands that operate on phases.
|
|
4
|
+
|
|
5
|
+
## Extraction
|
|
6
|
+
|
|
7
|
+
From `$ARGUMENTS`:
|
|
8
|
+
- Extract phase number (first numeric argument)
|
|
9
|
+
- Extract flags (prefixed with `--`)
|
|
10
|
+
- Remaining text is description (for insert/add commands)
|
|
11
|
+
|
|
12
|
+
## Using gsd-tools
|
|
13
|
+
|
|
14
|
+
The `find-phase` command handles normalization and validation in one step:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
PHASE_INFO=$(gsd-remix-sdk query find-phase "${PHASE}")
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Returns JSON with:
|
|
21
|
+
- `found`: true/false
|
|
22
|
+
- `directory`: Full path to phase directory
|
|
23
|
+
- `phase_number`: Normalized number (e.g., "06", "06.1")
|
|
24
|
+
- `phase_name`: Name portion (e.g., "foundation")
|
|
25
|
+
- `plans`: Array of PLAN.md files
|
|
26
|
+
- `summaries`: Array of SUMMARY.md files
|
|
27
|
+
|
|
28
|
+
## Manual Normalization (Legacy)
|
|
29
|
+
|
|
30
|
+
Zero-pad integer phases to 2 digits. Preserve decimal suffixes.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Normalize phase number
|
|
34
|
+
if [[ "$PHASE" =~ ^[0-9]+$ ]]; then
|
|
35
|
+
# Integer: 8 → 08
|
|
36
|
+
PHASE=$(printf "%02d" "$PHASE")
|
|
37
|
+
elif [[ "$PHASE" =~ ^([0-9]+)\.([0-9]+)$ ]]; then
|
|
38
|
+
# Decimal: 2.1 → 02.1
|
|
39
|
+
PHASE=$(printf "%02d.%s" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}")
|
|
40
|
+
fi
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Validation
|
|
44
|
+
|
|
45
|
+
Use `roadmap get-phase` to validate phase exists:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
PHASE_CHECK=$(gsd-remix-sdk query roadmap.get-phase "${PHASE}" --pick found)
|
|
49
|
+
if [ "$PHASE_CHECK" = "false" ]; then
|
|
50
|
+
echo "ERROR: Phase ${PHASE} not found in roadmap"
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Directory Lookup
|
|
56
|
+
|
|
57
|
+
Use `find-phase` for directory lookup:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
PHASE_DIR=$(gsd-remix-sdk query find-phase "${PHASE}" --raw)
|
|
61
|
+
```
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Planner Anti-Patterns and Specificity Examples
|
|
2
|
+
|
|
3
|
+
> Reference file for gsd-planner agent. Loaded on-demand via `@` reference.
|
|
4
|
+
> For sub-200K context windows, this content is stripped from the agent prompt and available here for on-demand loading.
|
|
5
|
+
|
|
6
|
+
## Checkpoint Anti-Patterns
|
|
7
|
+
|
|
8
|
+
### Bad — Asking human to automate
|
|
9
|
+
|
|
10
|
+
```xml
|
|
11
|
+
<task type="checkpoint:human-action">
|
|
12
|
+
<action>Deploy to Vercel</action>
|
|
13
|
+
<instructions>Visit vercel.com, import repo, click deploy...</instructions>
|
|
14
|
+
</task>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Why bad:** Vercel has a CLI. Claude should run `vercel --yes`. Never ask the user to do what Claude can automate via CLI/API.
|
|
18
|
+
|
|
19
|
+
### Bad — Too many checkpoints
|
|
20
|
+
|
|
21
|
+
```xml
|
|
22
|
+
<task type="auto">Create schema</task>
|
|
23
|
+
<task type="checkpoint:human-verify">Check schema</task>
|
|
24
|
+
<task type="auto">Create API</task>
|
|
25
|
+
<task type="checkpoint:human-verify">Check API</task>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Why bad:** Verification fatigue. Users should not be asked to verify every small step. Combine into one checkpoint at the end of meaningful work.
|
|
29
|
+
|
|
30
|
+
### Good — Single verification checkpoint
|
|
31
|
+
|
|
32
|
+
```xml
|
|
33
|
+
<task type="auto">Create schema</task>
|
|
34
|
+
<task type="auto">Create API</task>
|
|
35
|
+
<task type="auto">Create UI</task>
|
|
36
|
+
<task type="checkpoint:human-verify">
|
|
37
|
+
<what-built>Complete auth flow (schema + API + UI)</what-built>
|
|
38
|
+
<how-to-verify>Test full flow: register, login, access protected page</how-to-verify>
|
|
39
|
+
</task>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Bad — Mixing checkpoints with implementation
|
|
43
|
+
|
|
44
|
+
A plan should not interleave multiple checkpoint types with implementation tasks. Checkpoints belong at natural verification boundaries, not scattered throughout.
|
|
45
|
+
|
|
46
|
+
## Specificity Examples
|
|
47
|
+
|
|
48
|
+
| TOO VAGUE | JUST RIGHT |
|
|
49
|
+
|-----------|------------|
|
|
50
|
+
| "Add authentication" | "Add JWT auth with refresh rotation using jose library, store in httpOnly cookie, 15min access / 7day refresh" |
|
|
51
|
+
| "Create the API" | "Create POST /api/projects endpoint accepting {name, description}, validates name length 3-50 chars, returns 201 with project object" |
|
|
52
|
+
| "Style the dashboard" | "Add Tailwind classes to Dashboard.tsx: grid layout (3 cols on lg, 1 on mobile), card shadows, hover states on action buttons" |
|
|
53
|
+
| "Handle errors" | "Wrap API calls in try/catch, return {error: string} on 4xx/5xx, show toast via sonner on client" |
|
|
54
|
+
| "Set up the database" | "Add User and Project models to schema.prisma with UUID ids, email unique constraint, createdAt/updatedAt timestamps, run prisma db push" |
|
|
55
|
+
|
|
56
|
+
**Specificity test:** Could a different Claude instance execute the task without asking clarifying questions? If not, add more detail.
|
|
57
|
+
|
|
58
|
+
## Context Section Anti-Patterns
|
|
59
|
+
|
|
60
|
+
### Bad — Reflexive SUMMARY chaining
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
<context>
|
|
64
|
+
@.planning/phases/01-foundation/01-01-SUMMARY.md
|
|
65
|
+
@.planning/phases/01-foundation/01-02-SUMMARY.md <!-- Does Plan 02 actually need Plan 01's output? -->
|
|
66
|
+
@.planning/phases/01-foundation/01-03-SUMMARY.md <!-- Chain grows, context bloats -->
|
|
67
|
+
</context>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Why bad:** Plans are often independent. Reflexive chaining (02 refs 01, 03 refs 02...) wastes context. Only reference prior SUMMARY files when the plan genuinely uses types/exports from that prior plan or a decision from it affects the current plan.
|
|
71
|
+
|
|
72
|
+
### Good — Selective context
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
<context>
|
|
76
|
+
@.planning/PROJECT.md
|
|
77
|
+
@.planning/STATE.md
|
|
78
|
+
@.planning/phases/01-foundation/01-01-SUMMARY.md <!-- Uses User type defined in Plan 01 -->
|
|
79
|
+
</context>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Scope Reduction Anti-Patterns
|
|
83
|
+
|
|
84
|
+
**Prohibited language in task actions:**
|
|
85
|
+
- "v1", "v2", "simplified version", "static for now", "hardcoded for now"
|
|
86
|
+
- "future enhancement", "placeholder", "basic version", "minimal implementation"
|
|
87
|
+
- "will be wired later", "dynamic in future phase", "skip for now"
|
|
88
|
+
|
|
89
|
+
If a decision from CONTEXT.md says "display cost calculated from billing table in impulses", the plan must deliver exactly that. Not "static label /min" as a "v1". If the phase is too complex, recommend a phase split instead of silently reducing scope.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Gap Closure Mode — Planner Reference
|
|
2
|
+
|
|
3
|
+
Triggered by `--gaps` flag. Creates plans to address verification or UAT failures.
|
|
4
|
+
|
|
5
|
+
**Important: Skip deferred items.** When reading VERIFICATION.md, only the `gaps:` section contains actionable items that need closure plans. The `deferred:` section (if present) lists items explicitly addressed in later milestone phases — these are NOT gaps and must be ignored during gap closure planning. Creating plans for deferred items wastes effort on work already scheduled for future phases.
|
|
6
|
+
|
|
7
|
+
**1. Find gap sources:**
|
|
8
|
+
|
|
9
|
+
Use init context (from load_project_state) which provides `phase_dir`:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Check for VERIFICATION.md (code verification gaps)
|
|
13
|
+
ls "$phase_dir"/*-VERIFICATION.md 2>/dev/null
|
|
14
|
+
|
|
15
|
+
# Check for UAT.md with diagnosed status (user testing gaps)
|
|
16
|
+
grep -l "status: diagnosed" "$phase_dir"/*-UAT.md 2>/dev/null
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**2. Parse gaps:** Each gap has: truth (failed behavior), reason, artifacts (files with issues), missing (things to add/fix).
|
|
20
|
+
|
|
21
|
+
**3. Load existing SUMMARYs** to understand what's already built.
|
|
22
|
+
|
|
23
|
+
**4. Find next plan number:** If plans 01-03 exist, next is 04.
|
|
24
|
+
|
|
25
|
+
**5. Group gaps into plans** by: same artifact, same concern, dependency order (can't wire if artifact is stub → fix stub first).
|
|
26
|
+
|
|
27
|
+
**6. Create gap closure tasks:**
|
|
28
|
+
|
|
29
|
+
```xml
|
|
30
|
+
<task name="{fix_description}" type="auto">
|
|
31
|
+
<files>{artifact.path}</files>
|
|
32
|
+
<action>
|
|
33
|
+
{For each item in gap.missing:}
|
|
34
|
+
- {missing item}
|
|
35
|
+
|
|
36
|
+
Reference existing code: {from SUMMARYs}
|
|
37
|
+
Gap reason: {gap.reason}
|
|
38
|
+
</action>
|
|
39
|
+
<verify>{How to confirm gap is closed}</verify>
|
|
40
|
+
<done>{Observable truth now achievable}</done>
|
|
41
|
+
</task>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**7. Assign waves using standard dependency analysis** (same as `assign_waves` step):
|
|
45
|
+
- Plans with no dependencies → wave 1
|
|
46
|
+
- Plans that depend on other gap closure plans → max(dependency waves) + 1
|
|
47
|
+
- Also consider dependencies on existing (non-gap) plans in the phase
|
|
48
|
+
|
|
49
|
+
**8. Write PLAN.md files:**
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
---
|
|
53
|
+
phase: XX-name
|
|
54
|
+
plan: NN # Sequential after existing
|
|
55
|
+
type: execute
|
|
56
|
+
wave: N # Computed from depends_on (see assign_waves)
|
|
57
|
+
depends_on: [...] # Other plans this depends on (gap or existing)
|
|
58
|
+
files_modified: [...]
|
|
59
|
+
autonomous: true
|
|
60
|
+
gap_closure: true # Flag for tracking
|
|
61
|
+
---
|
|
62
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Reviews Mode — Planner Reference
|
|
2
|
+
|
|
3
|
+
Triggered when orchestrator sets Mode to `reviews`. Replanning from scratch with REVIEWS.md feedback as additional context.
|
|
4
|
+
|
|
5
|
+
**Mindset:** Fresh planner with review insights — not a surgeon making patches, but an architect who has read peer critiques.
|
|
6
|
+
|
|
7
|
+
### Step 1: Load REVIEWS.md
|
|
8
|
+
Read the reviews file from `<files_to_read>`. Parse:
|
|
9
|
+
- Per-reviewer feedback (strengths, concerns, suggestions)
|
|
10
|
+
- Consensus Summary (agreed concerns = highest priority to address)
|
|
11
|
+
- Divergent Views (investigate, make a judgment call)
|
|
12
|
+
|
|
13
|
+
### Step 2: Categorize Feedback
|
|
14
|
+
Group review feedback into:
|
|
15
|
+
- **Must address**: HIGH severity consensus concerns
|
|
16
|
+
- **Should address**: MEDIUM severity concerns from 2+ reviewers
|
|
17
|
+
- **Consider**: Individual reviewer suggestions, LOW severity items
|
|
18
|
+
|
|
19
|
+
### Step 3: Plan Fresh with Review Context
|
|
20
|
+
Create new plans following the standard planning process, but with review feedback as additional constraints:
|
|
21
|
+
- Each HIGH severity consensus concern MUST have a task that addresses it
|
|
22
|
+
- MEDIUM concerns should be addressed where feasible without over-engineering
|
|
23
|
+
- Note in task actions: "Addresses review concern: {concern}" for traceability
|
|
24
|
+
|
|
25
|
+
### Step 4: Return
|
|
26
|
+
Use standard PLANNING COMPLETE return format, adding a reviews section:
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
### Review Feedback Addressed
|
|
30
|
+
|
|
31
|
+
| Concern | Severity | How Addressed |
|
|
32
|
+
|---------|----------|---------------|
|
|
33
|
+
| {concern} | HIGH | Plan {N}, Task {M}: {how} |
|
|
34
|
+
|
|
35
|
+
### Review Feedback Deferred
|
|
36
|
+
| Concern | Reason |
|
|
37
|
+
|---------|--------|
|
|
38
|
+
| {concern} | {why — out of scope, disagree, etc.} |
|
|
39
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Revision Mode — Planner Reference
|
|
2
|
+
|
|
3
|
+
Triggered when orchestrator provides `<revision_context>` with checker issues. NOT starting fresh — making targeted updates to existing plans.
|
|
4
|
+
|
|
5
|
+
**Mindset:** Surgeon, not architect. Minimal changes for specific issues.
|
|
6
|
+
|
|
7
|
+
### Step 1: Load Existing Plans
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
cat .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Build mental model of current plan structure, existing tasks, must_haves.
|
|
14
|
+
|
|
15
|
+
### Step 2: Parse Checker Issues
|
|
16
|
+
|
|
17
|
+
Issues come in structured format:
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
issues:
|
|
21
|
+
- plan: "16-01"
|
|
22
|
+
dimension: "task_completeness"
|
|
23
|
+
severity: "blocker"
|
|
24
|
+
description: "Task 2 missing <verify> element"
|
|
25
|
+
fix_hint: "Add verification command for build output"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Group by plan, dimension, severity.
|
|
29
|
+
|
|
30
|
+
### Step 3: Revision Strategy
|
|
31
|
+
|
|
32
|
+
| Dimension | Strategy |
|
|
33
|
+
|-----------|----------|
|
|
34
|
+
| requirement_coverage | Add task(s) for missing requirement |
|
|
35
|
+
| task_completeness | Add missing elements to existing task |
|
|
36
|
+
| dependency_correctness | Fix depends_on, recompute waves |
|
|
37
|
+
| key_links_planned | Add wiring task or update action |
|
|
38
|
+
| scope_sanity | Split into multiple plans |
|
|
39
|
+
| must_haves_derivation | Derive and add must_haves to frontmatter |
|
|
40
|
+
|
|
41
|
+
### Step 4: Make Targeted Updates
|
|
42
|
+
|
|
43
|
+
**DO:** Edit specific flagged sections, preserve working parts, update waves if dependencies change.
|
|
44
|
+
|
|
45
|
+
**DO NOT:** Rewrite entire plans for minor issues, add unnecessary tasks, break existing working plans.
|
|
46
|
+
|
|
47
|
+
### Step 5: Validate Changes
|
|
48
|
+
|
|
49
|
+
- [ ] All flagged issues addressed
|
|
50
|
+
- [ ] No new issues introduced
|
|
51
|
+
- [ ] Wave numbers still valid
|
|
52
|
+
- [ ] Dependencies still correct
|
|
53
|
+
- [ ] Files on disk updated
|
|
54
|
+
|
|
55
|
+
### Step 6: Commit
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
gsd-remix-sdk query commit "fix($PHASE): revise plans based on checker feedback" .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Step 7: Return Revision Summary
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## REVISION COMPLETE
|
|
65
|
+
|
|
66
|
+
**Issues addressed:** {N}/{M}
|
|
67
|
+
|
|
68
|
+
### Changes Made
|
|
69
|
+
|
|
70
|
+
| Plan | Change | Issue Addressed |
|
|
71
|
+
|------|--------|-----------------|
|
|
72
|
+
| 16-01 | Added <verify> to Task 2 | task_completeness |
|
|
73
|
+
| 16-02 | Added logout task | requirement_coverage (AUTH-02) |
|
|
74
|
+
|
|
75
|
+
### Files Updated
|
|
76
|
+
|
|
77
|
+
- .planning/phases/16-xxx/16-01-PLAN.md
|
|
78
|
+
- .planning/phases/16-xxx/16-02-PLAN.md
|
|
79
|
+
|
|
80
|
+
{If any issues NOT addressed:}
|
|
81
|
+
|
|
82
|
+
### Unaddressed Issues
|
|
83
|
+
|
|
84
|
+
| Issue | Reason |
|
|
85
|
+
|-------|--------|
|
|
86
|
+
| {issue} | {why - needs user input, architectural change, etc.} |
|
|
87
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Planner Source Audit & Authority Limits
|
|
2
|
+
|
|
3
|
+
Reference for `agents/gsd-planner.md` — extended rules for multi-source coverage audits and planner authority constraints.
|
|
4
|
+
|
|
5
|
+
## Multi-Source Coverage Audit Format
|
|
6
|
+
|
|
7
|
+
Before finalizing plans, produce a **source audit** covering ALL four artifact types:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
SOURCE | ID | Feature/Requirement | Plan | Status | Notes
|
|
11
|
+
--------- | ------- | ---------------------------- | ----- | --------- | ------
|
|
12
|
+
GOAL | — | {phase goal from ROADMAP.md} | 01-03 | COVERED |
|
|
13
|
+
REQ | REQ-14 | OAuth login with Google + GH | 02 | COVERED |
|
|
14
|
+
REQ | REQ-22 | Email verification flow | 03 | COVERED |
|
|
15
|
+
RESEARCH | — | Rate limiting on auth routes | 01 | COVERED |
|
|
16
|
+
RESEARCH | — | Refresh token rotation | NONE | ⚠ MISSING | No plan covers this
|
|
17
|
+
CONTEXT | D-01 | Use jose library for JWT | 02 | COVERED |
|
|
18
|
+
CONTEXT | D-04 | 15min access / 7day refresh | 02 | COVERED |
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Four Source Types
|
|
22
|
+
|
|
23
|
+
1. **GOAL** — The `goal:` field from ROADMAP.md for this phase. The primary success condition.
|
|
24
|
+
2. **REQ** — Every REQ-ID in `phase_req_ids`. Cross-reference REQUIREMENTS.md for descriptions.
|
|
25
|
+
3. **RESEARCH** — Technical approaches, discovered constraints, and features identified in RESEARCH.md. Exclude items explicitly marked "out of scope" or "future work" by the researcher.
|
|
26
|
+
4. **CONTEXT** — Every D-XX decision from CONTEXT.md `<decisions>` section.
|
|
27
|
+
|
|
28
|
+
### What is NOT a Gap
|
|
29
|
+
|
|
30
|
+
Do not flag these as MISSING:
|
|
31
|
+
- Items in `## Deferred Ideas` in CONTEXT.md — developer chose to defer these
|
|
32
|
+
- Items scoped to a different phase via `phase_req_ids` — not assigned to this phase
|
|
33
|
+
- Items in RESEARCH.md explicitly marked "out of scope" or "future work" by the researcher
|
|
34
|
+
|
|
35
|
+
### Handling MISSING Items
|
|
36
|
+
|
|
37
|
+
If ANY row is `⚠ MISSING`, do NOT finalize the plan set silently. Return to the orchestrator:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
## ⚠ Source Audit: Unplanned Items Found
|
|
41
|
+
|
|
42
|
+
The following items from source artifacts have no corresponding plan:
|
|
43
|
+
|
|
44
|
+
1. **{SOURCE}: {item description}** (from {artifact file}, section "{section}")
|
|
45
|
+
- {why this was identified as required}
|
|
46
|
+
|
|
47
|
+
Options:
|
|
48
|
+
A) Add a plan to cover this item
|
|
49
|
+
B) Split phase: move to a sub-phase
|
|
50
|
+
C) Defer explicitly: add to backlog with developer confirmation
|
|
51
|
+
|
|
52
|
+
→ Awaiting developer decision before finalizing plan set.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
If ALL rows are COVERED → return `## PLANNING COMPLETE` as normal.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Authority Limits — Constraint Examples
|
|
60
|
+
|
|
61
|
+
The planner's only legitimate reasons to split or flag a feature are **constraints**, not judgments about difficulty:
|
|
62
|
+
|
|
63
|
+
**Valid (constraints):**
|
|
64
|
+
- ✓ "This task touches 9 files and would consume ~45% context — split into two tasks"
|
|
65
|
+
- ✓ "No API key or endpoint is defined in any source artifact — need developer input"
|
|
66
|
+
- ✓ "This feature depends on the auth system built in Phase 03, which is not yet complete"
|
|
67
|
+
|
|
68
|
+
**Invalid (difficulty judgments):**
|
|
69
|
+
- ✗ "This is complex and would be difficult to implement correctly"
|
|
70
|
+
- ✗ "Integrating with an external service could take a long time"
|
|
71
|
+
- ✗ "This is a challenging feature that might be better left to a future phase"
|
|
72
|
+
|
|
73
|
+
If a feature has none of the three legitimate constraints (context cost, missing information, dependency conflict), it gets planned. Period.
|