@opengsd/gsd-core 1.2.0-rc.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/LICENSE +21 -0
- package/README.ja-JP.md +870 -0
- package/README.ko-KR.md +861 -0
- package/README.md +301 -0
- package/README.pt-BR.md +492 -0
- package/README.zh-CN.md +842 -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 +668 -0
- package/agents/gsd-code-reviewer.md +387 -0
- package/agents/gsd-codebase-mapper.md +853 -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 +772 -0
- package/agents/gsd-framework-selector.md +160 -0
- package/agents/gsd-integration-checker.md +470 -0
- package/agents/gsd-intel-updater.md +342 -0
- package/agents/gsd-nyquist-auditor.md +203 -0
- package/agents/gsd-pattern-mapper.md +335 -0
- package/agents/gsd-phase-researcher.md +928 -0
- package/agents/gsd-plan-checker.md +978 -0
- package/agents/gsd-planner.md +1218 -0
- package/agents/gsd-project-researcher.md +677 -0
- package/agents/gsd-research-synthesizer.md +255 -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 +917 -0
- package/bin/install.js +10936 -0
- package/bin/lib/ui-safety-gate.cjs +107 -0
- package/commands/gsd/add-tests.md +42 -0
- package/commands/gsd/ai-integration-phase.md +37 -0
- package/commands/gsd/audit-fix.md +34 -0
- package/commands/gsd/audit-milestone.md +37 -0
- package/commands/gsd/audit-uat.md +24 -0
- package/commands/gsd/autonomous.md +46 -0
- package/commands/gsd/capture.md +62 -0
- package/commands/gsd/cleanup.md +24 -0
- package/commands/gsd/code-review.md +59 -0
- package/commands/gsd/complete-milestone.md +143 -0
- package/commands/gsd/config.md +56 -0
- package/commands/gsd/debug.md +52 -0
- package/commands/gsd/discuss-phase.md +76 -0
- package/commands/gsd/docs-update.md +49 -0
- package/commands/gsd/eval-review.md +33 -0
- package/commands/gsd/execute-phase.md +64 -0
- package/commands/gsd/explore.md +27 -0
- package/commands/gsd/extract-learnings.md +23 -0
- package/commands/gsd/fast.md +31 -0
- package/commands/gsd/forensics.md +57 -0
- package/commands/gsd/graphify.md +199 -0
- package/commands/gsd/health.md +31 -0
- package/commands/gsd/help.md +28 -0
- package/commands/gsd/import.md +41 -0
- package/commands/gsd/inbox.md +39 -0
- package/commands/gsd/ingest-docs.md +42 -0
- package/commands/gsd/manager.md +45 -0
- package/commands/gsd/map-codebase.md +83 -0
- package/commands/gsd/milestone-summary.md +51 -0
- package/commands/gsd/mvp-phase.md +45 -0
- package/commands/gsd/new-milestone.md +45 -0
- package/commands/gsd/new-project.md +47 -0
- package/commands/gsd/ns-context.md +23 -0
- package/commands/gsd/ns-ideate.md +24 -0
- package/commands/gsd/ns-manage.md +29 -0
- package/commands/gsd/ns-project.md +22 -0
- package/commands/gsd/ns-review.md +26 -0
- package/commands/gsd/ns-workflow.md +28 -0
- package/commands/gsd/pause-work.md +43 -0
- package/commands/gsd/phase.md +56 -0
- package/commands/gsd/plan-phase.md +62 -0
- package/commands/gsd/plan-review-convergence.md +59 -0
- package/commands/gsd/pr-branch.md +26 -0
- package/commands/gsd/profile-user.md +46 -0
- package/commands/gsd/progress.md +47 -0
- package/commands/gsd/quick.md +174 -0
- package/commands/gsd/resume-work.md +30 -0
- package/commands/gsd/review-backlog.md +63 -0
- package/commands/gsd/review.md +41 -0
- package/commands/gsd/secure-phase.md +36 -0
- package/commands/gsd/settings.md +29 -0
- package/commands/gsd/ship.md +24 -0
- package/commands/gsd/sketch.md +60 -0
- package/commands/gsd/spec-phase.md +63 -0
- package/commands/gsd/spike.md +57 -0
- package/commands/gsd/stats.md +19 -0
- package/commands/gsd/surface.md +155 -0
- package/commands/gsd/thread.md +24 -0
- package/commands/gsd/ui-phase.md +35 -0
- package/commands/gsd/ui-review.md +33 -0
- package/commands/gsd/ultraplan-phase.md +34 -0
- package/commands/gsd/undo.md +35 -0
- package/commands/gsd/update.md +48 -0
- package/commands/gsd/validate-phase.md +36 -0
- package/commands/gsd/verify-work.md +39 -0
- package/commands/gsd/workspace.md +52 -0
- package/commands/gsd/workstreams.md +70 -0
- package/get-shit-done/bin/check-latest-version.cjs +106 -0
- package/get-shit-done/bin/gsd-tools.cjs +1676 -0
- package/get-shit-done/bin/lib/active-workstream-store.cjs +302 -0
- package/get-shit-done/bin/lib/adr-parser.cjs +394 -0
- package/get-shit-done/bin/lib/agent-command-router.cjs +65 -0
- package/get-shit-done/bin/lib/artifacts.cjs +53 -0
- package/get-shit-done/bin/lib/audit.cjs +755 -0
- package/get-shit-done/bin/lib/check-command-router.cjs +333 -0
- package/get-shit-done/bin/lib/cjs-command-router-adapter.cjs +118 -0
- package/get-shit-done/bin/lib/clock.cjs +96 -0
- package/get-shit-done/bin/lib/clusters.cjs +135 -0
- package/get-shit-done/bin/lib/code-review-flags.cjs +74 -0
- package/get-shit-done/bin/lib/command-aliases.cjs +815 -0
- package/get-shit-done/bin/lib/command-arg-projection.cjs +62 -0
- package/get-shit-done/bin/lib/command-routing-hub.cjs +388 -0
- package/get-shit-done/bin/lib/commands.cjs +1188 -0
- package/get-shit-done/bin/lib/config-schema.cjs +31 -0
- package/get-shit-done/bin/lib/config.cjs +728 -0
- package/get-shit-done/bin/lib/configuration.cjs +248 -0
- package/get-shit-done/bin/lib/context-utilization.cjs +47 -0
- package/get-shit-done/bin/lib/core.cjs +2121 -0
- package/get-shit-done/bin/lib/decisions.cjs +116 -0
- package/get-shit-done/bin/lib/docs.cjs +270 -0
- package/get-shit-done/bin/lib/drift.cjs +388 -0
- package/get-shit-done/bin/lib/fallow-runner.cjs +109 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +389 -0
- package/get-shit-done/bin/lib/gap-checker.cjs +205 -0
- package/get-shit-done/bin/lib/graphify.cjs +592 -0
- package/get-shit-done/bin/lib/gsd2-import.cjs +514 -0
- package/get-shit-done/bin/lib/init-command-router.cjs +58 -0
- package/get-shit-done/bin/lib/init.cjs +2112 -0
- package/get-shit-done/bin/lib/install-profiles.cjs +603 -0
- package/get-shit-done/bin/lib/installer-migration-authoring.cjs +117 -0
- package/get-shit-done/bin/lib/installer-migration-report.cjs +354 -0
- package/get-shit-done/bin/lib/installer-migrations/000-first-time-baseline.cjs +220 -0
- package/get-shit-done/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +41 -0
- package/get-shit-done/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +80 -0
- package/get-shit-done/bin/lib/installer-migrations.cjs +778 -0
- package/get-shit-done/bin/lib/intel.cjs +708 -0
- package/get-shit-done/bin/lib/learnings.cjs +421 -0
- package/get-shit-done/bin/lib/milestone.cjs +314 -0
- package/get-shit-done/bin/lib/model-catalog.cjs +212 -0
- package/get-shit-done/bin/lib/model-profiles.cjs +31 -0
- package/get-shit-done/bin/lib/observability/event.cjs +82 -0
- package/get-shit-done/bin/lib/observability/logger.cjs +174 -0
- package/get-shit-done/bin/lib/observability/redaction.cjs +50 -0
- package/get-shit-done/bin/lib/package-identity.cjs +31 -0
- package/get-shit-done/bin/lib/phase-command-router.cjs +191 -0
- package/get-shit-done/bin/lib/phase-lifecycle.cjs +80 -0
- package/get-shit-done/bin/lib/phase.cjs +1607 -0
- package/get-shit-done/bin/lib/phases-command-router.cjs +39 -0
- package/get-shit-done/bin/lib/plan-scan.cjs +97 -0
- package/get-shit-done/bin/lib/planning-workspace.cjs +238 -0
- package/get-shit-done/bin/lib/profile-output.cjs +1141 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/project-root.cjs +112 -0
- package/get-shit-done/bin/lib/prompt-budget.cjs +399 -0
- package/get-shit-done/bin/lib/review-reviewer-selection.cjs +125 -0
- package/get-shit-done/bin/lib/roadmap-command-router.cjs +28 -0
- package/get-shit-done/bin/lib/roadmap.cjs +650 -0
- package/get-shit-done/bin/lib/runtime-artifact-layout.cjs +301 -0
- package/get-shit-done/bin/lib/runtime-homes.cjs +222 -0
- package/get-shit-done/bin/lib/runtime-name-policy.cjs +83 -0
- package/get-shit-done/bin/lib/runtime-slash.cjs +112 -0
- package/get-shit-done/bin/lib/schema-detect.cjs +165 -0
- package/get-shit-done/bin/lib/secrets.cjs +32 -0
- package/get-shit-done/bin/lib/security.cjs +600 -0
- package/get-shit-done/bin/lib/semver-compare.cjs +35 -0
- package/get-shit-done/bin/lib/shell-command-projection.cjs +500 -0
- package/get-shit-done/bin/lib/state-command-router.cjs +252 -0
- package/get-shit-done/bin/lib/state-document.cjs +263 -0
- package/get-shit-done/bin/lib/state.cjs +2038 -0
- package/get-shit-done/bin/lib/surface.cjs +470 -0
- package/get-shit-done/bin/lib/task-command-router.cjs +81 -0
- package/get-shit-done/bin/lib/template.cjs +228 -0
- package/get-shit-done/bin/lib/uat.cjs +289 -0
- package/get-shit-done/bin/lib/update-context.cjs +209 -0
- package/get-shit-done/bin/lib/validate-command-router.cjs +83 -0
- package/get-shit-done/bin/lib/validate.cjs +92 -0
- package/get-shit-done/bin/lib/verify-command-router.cjs +40 -0
- package/get-shit-done/bin/lib/verify.cjs +1511 -0
- package/get-shit-done/bin/lib/workstream-inventory-builder.cjs +74 -0
- package/get-shit-done/bin/lib/workstream-inventory.cjs +146 -0
- package/get-shit-done/bin/lib/workstream-name-policy.cjs +94 -0
- package/get-shit-done/bin/lib/workstream.cjs +389 -0
- package/get-shit-done/bin/lib/worktree-safety.cjs +985 -0
- package/get-shit-done/bin/shared/config-defaults.manifest.json +97 -0
- package/get-shit-done/bin/shared/config-schema.manifest.json +175 -0
- package/get-shit-done/bin/shared/model-catalog.json +122 -0
- package/get-shit-done/bin/shared/runtime-aliases.manifest.json +75 -0
- package/get-shit-done/bin/verify-reapply-patches.cjs +352 -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 +23 -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 +814 -0
- package/get-shit-done/references/common-bug-patterns.md +114 -0
- package/get-shit-done/references/context-budget.md +85 -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/execute-mvp-tdd.md +81 -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 +298 -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 +245 -0
- package/get-shit-done/references/mvp-concepts.md +49 -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-chunked.md +49 -0
- package/get-shit-done/references/planner-gap-closure.md +62 -0
- package/get-shit-done/references/planner-graphify-auto-update.md +67 -0
- package/get-shit-done/references/planner-human-verify-mode.md +57 -0
- package/get-shit-done/references/planner-interface-context.md +62 -0
- package/get-shit-done/references/planner-mvp-mode.md +53 -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 +471 -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/scout-codebase.md +51 -0
- package/get-shit-done/references/skeleton-template.md +48 -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/spidr-splitting.md +69 -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/user-story-template.md +58 -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/verify-mvp-mode.md +85 -0
- package/get-shit-done/references/workstream-flag.md +111 -0
- package/get-shit-done/references/worktree-path-safety.md +89 -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 +77 -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 +62 -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 +195 -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/_runtime-launcher.snippet.sh +1 -0
- package/get-shit-done/workflows/add-backlog.md +91 -0
- package/get-shit-done/workflows/add-phase.md +113 -0
- package/get-shit-done/workflows/add-tests.md +355 -0
- package/get-shit-done/workflows/add-todo.md +161 -0
- package/get-shit-done/workflows/ai-integration-phase.md +295 -0
- package/get-shit-done/workflows/analyze-dependencies.md +96 -0
- package/get-shit-done/workflows/audit-fix.md +178 -0
- package/get-shit-done/workflows/audit-milestone.md +358 -0
- package/get-shit-done/workflows/audit-uat.md +110 -0
- package/get-shit-done/workflows/autonomous.md +795 -0
- package/get-shit-done/workflows/check-todos.md +180 -0
- package/get-shit-done/workflows/cleanup.md +155 -0
- package/get-shit-done/workflows/code-review-fix.md +502 -0
- package/get-shit-done/workflows/code-review.md +656 -0
- package/get-shit-done/workflows/complete-milestone.md +855 -0
- package/get-shit-done/workflows/debug.md +232 -0
- package/get-shit-done/workflows/diagnose-issues.md +241 -0
- package/get-shit-done/workflows/discovery-phase.md +291 -0
- package/get-shit-done/workflows/discuss-phase/modes/advisor.md +176 -0
- package/get-shit-done/workflows/discuss-phase/modes/all.md +28 -0
- package/get-shit-done/workflows/discuss-phase/modes/analyze.md +44 -0
- package/get-shit-done/workflows/discuss-phase/modes/auto.md +57 -0
- package/get-shit-done/workflows/discuss-phase/modes/batch.md +52 -0
- package/get-shit-done/workflows/discuss-phase/modes/chain.md +98 -0
- package/get-shit-done/workflows/discuss-phase/modes/default.md +141 -0
- package/get-shit-done/workflows/discuss-phase/modes/power.md +44 -0
- package/get-shit-done/workflows/discuss-phase/modes/text.md +55 -0
- package/get-shit-done/workflows/discuss-phase/templates/checkpoint.json +18 -0
- package/get-shit-done/workflows/discuss-phase/templates/context.md +136 -0
- package/get-shit-done/workflows/discuss-phase/templates/discussion-log.md +50 -0
- package/get-shit-done/workflows/discuss-phase-assumptions.md +675 -0
- package/get-shit-done/workflows/discuss-phase-power.md +291 -0
- package/get-shit-done/workflows/discuss-phase.md +499 -0
- package/get-shit-done/workflows/do.md +111 -0
- package/get-shit-done/workflows/docs-update.md +1162 -0
- package/get-shit-done/workflows/edit-phase.md +295 -0
- package/get-shit-done/workflows/eval-review.md +156 -0
- package/get-shit-done/workflows/execute-phase/steps/codebase-drift-gate.md +82 -0
- package/get-shit-done/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
- package/get-shit-done/workflows/execute-phase/steps/post-merge-gate.md +117 -0
- package/get-shit-done/workflows/execute-phase.md +1709 -0
- package/get-shit-done/workflows/execute-plan.md +526 -0
- package/get-shit-done/workflows/explore.md +144 -0
- package/get-shit-done/workflows/extract-learnings.md +243 -0
- package/get-shit-done/workflows/fast.md +124 -0
- package/get-shit-done/workflows/forensics.md +279 -0
- package/get-shit-done/workflows/graduation.md +196 -0
- package/get-shit-done/workflows/health.md +224 -0
- package/get-shit-done/workflows/help/modes/brief.md +22 -0
- package/get-shit-done/workflows/help/modes/default.md +50 -0
- package/get-shit-done/workflows/help/modes/full.md +784 -0
- package/get-shit-done/workflows/help/modes/topic.md +74 -0
- package/get-shit-done/workflows/help.md +24 -0
- package/get-shit-done/workflows/import.md +254 -0
- package/get-shit-done/workflows/inbox.md +387 -0
- package/get-shit-done/workflows/ingest-docs.md +339 -0
- package/get-shit-done/workflows/insert-phase.md +152 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/list-workspaces.md +57 -0
- package/get-shit-done/workflows/manager.md +393 -0
- package/get-shit-done/workflows/map-codebase.md +444 -0
- package/get-shit-done/workflows/milestone-summary.md +224 -0
- package/get-shit-done/workflows/mvp-phase.md +222 -0
- package/get-shit-done/workflows/new-milestone.md +635 -0
- package/get-shit-done/workflows/new-project.md +1555 -0
- package/get-shit-done/workflows/new-workspace.md +240 -0
- package/get-shit-done/workflows/next.md +299 -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 +244 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +281 -0
- package/get-shit-done/workflows/plan-phase.md +1809 -0
- package/get-shit-done/workflows/plan-review-convergence.md +346 -0
- package/get-shit-done/workflows/plant-seed.md +230 -0
- package/get-shit-done/workflows/pr-branch.md +157 -0
- package/get-shit-done/workflows/profile-user.md +453 -0
- package/get-shit-done/workflows/progress.md +699 -0
- package/get-shit-done/workflows/quick.md +1039 -0
- package/get-shit-done/workflows/reapply-patches.md +426 -0
- package/get-shit-done/workflows/remove-phase.md +156 -0
- package/get-shit-done/workflows/remove-workspace.md +108 -0
- package/get-shit-done/workflows/resume-project.md +332 -0
- package/get-shit-done/workflows/review.md +623 -0
- package/get-shit-done/workflows/scan.md +105 -0
- package/get-shit-done/workflows/secure-phase.md +180 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/settings-advanced.md +620 -0
- package/get-shit-done/workflows/settings-integrations.md +312 -0
- package/get-shit-done/workflows/settings.md +552 -0
- package/get-shit-done/workflows/ship.md +356 -0
- package/get-shit-done/workflows/sketch-wrap-up.md +286 -0
- package/get-shit-done/workflows/sketch.md +361 -0
- package/get-shit-done/workflows/spec-phase.md +262 -0
- package/get-shit-done/workflows/spike-wrap-up.md +307 -0
- package/get-shit-done/workflows/spike.md +453 -0
- package/get-shit-done/workflows/stats.md +80 -0
- package/get-shit-done/workflows/sync-skills.md +182 -0
- package/get-shit-done/workflows/thread.md +222 -0
- package/get-shit-done/workflows/transition.md +694 -0
- package/get-shit-done/workflows/ui-phase.md +328 -0
- package/get-shit-done/workflows/ui-review.md +193 -0
- package/get-shit-done/workflows/ultraplan-phase.md +199 -0
- package/get-shit-done/workflows/undo.md +314 -0
- package/get-shit-done/workflows/update.md +443 -0
- package/get-shit-done/workflows/validate-phase.md +179 -0
- package/get-shit-done/workflows/verify-phase.md +544 -0
- package/get-shit-done/workflows/verify-work.md +781 -0
- package/hooks/dist/gsd-check-update-worker.js +95 -0
- package/hooks/dist/gsd-check-update.js +64 -0
- package/hooks/dist/gsd-context-monitor.js +195 -0
- package/hooks/dist/gsd-graphify-update.sh +158 -0
- package/hooks/dist/gsd-phase-boundary.sh +47 -0
- package/hooks/dist/gsd-prompt-guard.js +97 -0
- package/hooks/dist/gsd-read-guard.js +101 -0
- package/hooks/dist/gsd-read-injection-scanner.js +203 -0
- package/hooks/dist/gsd-session-state.sh +59 -0
- package/hooks/dist/gsd-statusline.js +548 -0
- package/hooks/dist/gsd-update-banner.js +134 -0
- package/hooks/dist/gsd-validate-commit.sh +57 -0
- package/hooks/dist/gsd-workflow-guard.js +166 -0
- package/hooks/dist/lib/git-cmd.js +150 -0
- package/hooks/dist/lib/gsd-graphify-rebuild.sh +65 -0
- package/hooks/gsd-check-update-worker.js +95 -0
- package/hooks/gsd-check-update.js +64 -0
- package/hooks/gsd-context-monitor.js +195 -0
- package/hooks/gsd-graphify-update.sh +158 -0
- package/hooks/gsd-phase-boundary.sh +47 -0
- package/hooks/gsd-prompt-guard.js +97 -0
- package/hooks/gsd-read-guard.js +101 -0
- package/hooks/gsd-read-injection-scanner.js +203 -0
- package/hooks/gsd-session-state.sh +59 -0
- package/hooks/gsd-statusline.js +548 -0
- package/hooks/gsd-update-banner.js +134 -0
- package/hooks/gsd-validate-commit.sh +57 -0
- package/hooks/gsd-workflow-guard.js +166 -0
- package/hooks/lib/git-cmd.js +150 -0
- package/hooks/lib/gsd-graphify-rebuild.sh +65 -0
- package/hooks/managed-hooks-registry.cjs +34 -0
- package/package.json +102 -0
- package/scripts/affected-tests-lib.cjs +541 -0
- package/scripts/audit-workflow-script-paths.cjs +73 -0
- package/scripts/base64-scan.sh +339 -0
- package/scripts/build-hooks.js +236 -0
- package/scripts/changeset/README.md +129 -0
- package/scripts/changeset/cli.cjs +392 -0
- package/scripts/changeset/github-release-notes.cjs +199 -0
- package/scripts/changeset/lint.cjs +110 -0
- package/scripts/changeset/new.cjs +137 -0
- package/scripts/changeset/parse.cjs +114 -0
- package/scripts/changeset/render.cjs +34 -0
- package/scripts/changeset/serialize.cjs +130 -0
- package/scripts/check-alias-drift.cjs +108 -0
- package/scripts/check-env.cjs +302 -0
- package/scripts/check-npm-integrity.cjs +209 -0
- package/scripts/ci-guard-runner.cjs +16 -0
- package/scripts/ci-prepare-test-scope.cjs +46 -0
- package/scripts/ci-rebase-check.cjs +85 -0
- package/scripts/ci-test-scope.cjs +302 -0
- package/scripts/command-contract-helpers.cjs +64 -0
- package/scripts/diff-touches-shipped-paths.cjs +147 -0
- package/scripts/fix-slash-commands.cjs +147 -0
- package/scripts/gen-inventory-manifest.cjs +109 -0
- package/scripts/generate-package-identity.cjs +104 -0
- package/scripts/lint-command-contract.cjs +108 -0
- package/scripts/lint-descriptions.cjs +83 -0
- package/scripts/lint-docs-required.cjs +222 -0
- package/scripts/lint-no-source-grep-extras.cjs +81 -0
- package/scripts/lint-no-source-grep.cjs +174 -0
- package/scripts/lint-package-identity-drift.cjs +141 -0
- package/scripts/lint-pr-check-project-dir.cjs +98 -0
- package/scripts/lint-shared-module-handsync.cjs +388 -0
- package/scripts/lint-shell-command-projection-drift.cjs +57 -0
- package/scripts/lint-skill-deps.cjs +180 -0
- package/scripts/lint-test-file-count.allowlist.json +36 -0
- package/scripts/lint-test-file-count.cjs +190 -0
- package/scripts/pr-template-policy.cjs +268 -0
- package/scripts/prompt-injection-scan.sh +203 -0
- package/scripts/release-tarball-smoke.cjs +627 -0
- package/scripts/run-affected-tests.cjs +6 -0
- package/scripts/run-cross-platform-tests.cjs +63 -0
- package/scripts/run-tests.cjs +282 -0
- package/scripts/secret-scan-lint.sh +231 -0
- package/scripts/secret-scan.sh +358 -0
- package/scripts/setup-branch-protection.sh +236 -0
- package/scripts/shared-module-handsync-allowlist.json +183 -0
- package/scripts/strip-prose-atrefs.cjs +106 -0
- package/scripts/sync-rulesets.sh +34 -0
- package/scripts/sync-runtime-launcher.cjs +402 -0
- package/scripts/test-failure-reasons.cjs +34 -0
- package/scripts/workflow-policy.cjs +450 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Planner — Human Verification Mode
|
|
2
|
+
|
|
3
|
+
> Loaded by `gsd-planner` when deciding whether to emit `<task type="checkpoint:human-verify">` tasks. Read `workflow.human_verify_mode` from `.planning/config.json` (default `end-of-phase` since #3309).
|
|
4
|
+
|
|
5
|
+
## The two modes
|
|
6
|
+
|
|
7
|
+
### `end-of-phase` (default — issue #3309)
|
|
8
|
+
|
|
9
|
+
Do **not** emit any `<task type="checkpoint:human-verify">` tasks. Every mid-flight halt costs a full executor cold-start (CLAUDE.md, MEMORY.md, STATE.md, plan re-read on respawn) because subagent context is discarded across the pause; a plan with N human-verify checkpoints pays the cold-start cost N+1 times — measured at "tens of thousands of tokens" per round-trip on real projects. This is the default for that reason.
|
|
10
|
+
|
|
11
|
+
Instead, fold each would-be verification step into the relevant `auto` task using a `<verify><human-check>` sub-block:
|
|
12
|
+
|
|
13
|
+
```xml
|
|
14
|
+
<task type="auto">
|
|
15
|
+
<name>Wire dashboard route</name>
|
|
16
|
+
<files>app/dashboard/page.tsx, app/api/dashboard/route.ts</files>
|
|
17
|
+
<action>...</action>
|
|
18
|
+
<verify>
|
|
19
|
+
<automated>npm test -- --filter=dashboard</automated>
|
|
20
|
+
<human-check>
|
|
21
|
+
<test>Visit http://localhost:3000/dashboard</test>
|
|
22
|
+
<expected>Sidebar left, content right on desktop >1024px; collapses to hamburger at 768px</expected>
|
|
23
|
+
<why_human>Visual layout — grep cannot verify breakpoint behavior</why_human>
|
|
24
|
+
</human-check>
|
|
25
|
+
</verify>
|
|
26
|
+
<done>Layout renders correctly across breakpoints</done>
|
|
27
|
+
</task>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The verifier (Step 8) harvests every `<verify><human-check>` block at end-of-phase and consolidates them into the existing `human_needed` → HUMAN-UAT.md path in `workflows/execute-phase.md`. The user reviews everything in one batch instead of paying a cold-start cost per item.
|
|
31
|
+
|
|
32
|
+
### `mid-flight` (opt-back-in — pre-#3309 behavior)
|
|
33
|
+
|
|
34
|
+
Set `gsd config-set workflow.human_verify_mode mid-flight` to restore the canonical mid-flight pattern: emit `<task type="checkpoint:human-verify">` tasks at the points where human confirmation is required, and the executor halts at each one to ask the user.
|
|
35
|
+
|
|
36
|
+
```xml
|
|
37
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
38
|
+
<what-built>Dev server running at http://localhost:3000</what-built>
|
|
39
|
+
<how-to-verify>
|
|
40
|
+
1. Visit /dashboard
|
|
41
|
+
2. Sidebar collapses at 768px
|
|
42
|
+
</how-to-verify>
|
|
43
|
+
<resume-signal>"approved" or describe issues</resume-signal>
|
|
44
|
+
</task>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Choose `mid-flight` when you genuinely need the work to stop before any subsequent task runs (e.g., the next task depends on visual confirmation of the previous one), and you accept the cold-start cost as the price of that hard barrier.
|
|
48
|
+
|
|
49
|
+
## What is *not* affected
|
|
50
|
+
|
|
51
|
+
`checkpoint:decision` and `checkpoint:human-action` tasks are still emitted in `end-of-phase` mode. Those gate the work itself (a choice the executor needs from the user, or an auth step only the user can perform), not post-hoc verification of completed work. Only `checkpoint:human-verify` is suppressed.
|
|
52
|
+
|
|
53
|
+
## Compatibility with other modes
|
|
54
|
+
|
|
55
|
+
- **`workflow.tdd_mode`**: orthogonal. TDD tasks still emit `tdd="true"` and `<behavior>`; the `<verify>` block carries the human-check sub-element when `human_verify_mode = end-of-phase`.
|
|
56
|
+
- **`MVP_MODE`**: orthogonal. Vertical-slice ordering is unchanged. The first task remains a failing end-to-end test; later auto tasks may carry `<verify><human-check>` instead of standalone checkpoint tasks.
|
|
57
|
+
- **`workflow.auto_advance` / `_auto_chain_active`**: in mid-flight mode these auto-approve checkpoint:human-verify halts. In end-of-phase mode there are no halts to auto-approve, so the flags have no effect on this code path.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Interface Context for Executors
|
|
2
|
+
|
|
3
|
+
**Key insight:** "The difference between handing a contractor blueprints versus telling them 'build me a house.'"
|
|
4
|
+
|
|
5
|
+
When creating plans that depend on existing code or create new interfaces consumed by other plans:
|
|
6
|
+
|
|
7
|
+
## For plans that USE existing code:
|
|
8
|
+
After determining `files_modified`, extract the key interfaces/types/exports from the codebase that executors will need:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# Extract type definitions, interfaces, and exports from relevant files
|
|
12
|
+
grep -n "export\\|interface\\|type\\|class\\|function" {relevant_source_files} 2>/dev/null | head -50
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Embed these in the plan's `<context>` section as an `<interfaces>` block:
|
|
16
|
+
|
|
17
|
+
```xml
|
|
18
|
+
<interfaces>
|
|
19
|
+
<!-- Key types and contracts the executor needs. Extracted from codebase. -->
|
|
20
|
+
<!-- Executor should use these directly — no codebase exploration needed. -->
|
|
21
|
+
|
|
22
|
+
From src/types/user.ts:
|
|
23
|
+
```typescript
|
|
24
|
+
export interface User {
|
|
25
|
+
id: string;
|
|
26
|
+
email: string;
|
|
27
|
+
name: string;
|
|
28
|
+
createdAt: Date;
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
From src/api/auth.ts:
|
|
33
|
+
```typescript
|
|
34
|
+
export function validateToken(token: string): Promise<User | null>;
|
|
35
|
+
export function createSession(user: User): Promise<SessionToken>;
|
|
36
|
+
```
|
|
37
|
+
</interfaces>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## For plans that CREATE new interfaces:
|
|
41
|
+
If this plan creates types/interfaces that later plans depend on, include a "Wave 0" skeleton step:
|
|
42
|
+
|
|
43
|
+
```xml
|
|
44
|
+
<task type="auto">
|
|
45
|
+
<name>Task 0: Write interface contracts</name>
|
|
46
|
+
<files>src/types/newFeature.ts</files>
|
|
47
|
+
<action>Create type definitions that downstream plans will implement against. These are the contracts — implementation comes in later tasks.</action>
|
|
48
|
+
<verify>File exists with exported types, no implementation</verify>
|
|
49
|
+
<done>Interface file committed, types exported</done>
|
|
50
|
+
</task>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## When to include interfaces:
|
|
54
|
+
- Plan touches files that import from other modules → extract those module's exports
|
|
55
|
+
- Plan creates a new API endpoint → extract the request/response types
|
|
56
|
+
- Plan modifies a component → extract its props interface
|
|
57
|
+
- Plan depends on a previous plan's output → extract the types from that plan's files_modified
|
|
58
|
+
|
|
59
|
+
## When to skip:
|
|
60
|
+
- Plan is self-contained (creates everything from scratch, no imports)
|
|
61
|
+
- Plan is pure configuration (no code interfaces involved)
|
|
62
|
+
- Level 0 discovery (all patterns already established)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Planner — MVP Mode (Vertical Slice Strategy)
|
|
2
|
+
|
|
3
|
+
> Loaded by `gsd-planner` only when `MVP_MODE=true`. Standard horizontal-layer planning rules continue to apply for all other phases.
|
|
4
|
+
|
|
5
|
+
## Core Rule
|
|
6
|
+
|
|
7
|
+
**Decompose by feature slice, not by technical layer.** Every task must move the user-facing capability forward. After each task, a real user can click through more of the feature than they could before.
|
|
8
|
+
|
|
9
|
+
**Forbidden** in MVP mode:
|
|
10
|
+
- "Create the database schema" as a standalone task
|
|
11
|
+
- "Build the API layer" as a standalone task
|
|
12
|
+
- "Wire up the UI" as a final integration task
|
|
13
|
+
|
|
14
|
+
**Required** in MVP mode:
|
|
15
|
+
- The first non-test task produces a working end-to-end path. Stubs are allowed for non-critical branches; the happy path must be real.
|
|
16
|
+
- Each subsequent task either adds a new slice OR refines an existing slice (validation, error states, edge cases).
|
|
17
|
+
- The phase goal is framed as a user story: "**As a** [user], **I want to** [do X], **so that** [Y]."
|
|
18
|
+
|
|
19
|
+
## Task Order Pattern
|
|
20
|
+
|
|
21
|
+
For a feature `F`:
|
|
22
|
+
|
|
23
|
+
1. **Failing end-to-end test** for the happy path of `F`.
|
|
24
|
+
2. **Thinnest viable slice** — UI form → API endpoint → DB read/write — that makes the test pass. Hard-coded values, missing validation, no error states are fine here.
|
|
25
|
+
3. **Real data layer** — replace any stubs from Task 2 with real queries.
|
|
26
|
+
4. **Validation + error states** — invalid input, network failure, empty states.
|
|
27
|
+
5. **Production polish** — loading indicators, edge cases, accessibility checks.
|
|
28
|
+
|
|
29
|
+
Tasks 3-5 are not always all needed; gate by the phase's acceptance criteria.
|
|
30
|
+
|
|
31
|
+
## Walking Skeleton Mode (`WALKING_SKELETON=true`)
|
|
32
|
+
|
|
33
|
+
When the orchestrator sets `WALKING_SKELETON=true` (Phase 1 of a new project under `--mvp`), the plan changes shape:
|
|
34
|
+
|
|
35
|
+
- The "feature" is the application itself. Pick the smallest meaningful capability that proves the full stack works (e.g., "user can sign up and see their name on a dashboard").
|
|
36
|
+
- The plan **must include**:
|
|
37
|
+
- Project scaffold (framework init, routing, build, lint)
|
|
38
|
+
- One real DB read/write
|
|
39
|
+
- One real UI interaction wired to the API
|
|
40
|
+
- Deployment to a dev environment (or a documented local-run command that exercises the full stack)
|
|
41
|
+
- The plan **must produce** `SKELETON.md` in the phase directory alongside `PLAN.md`. Use the template at `@~/.claude/get-shit-done/references/skeleton-template.md`. `SKELETON.md` records the architectural decisions that subsequent phases will build on (chosen framework, DB, deployment target, auth approach, directory layout).
|
|
42
|
+
|
|
43
|
+
`SKELETON.md` is the architectural backbone for every later vertical slice; treat it as a contract, not a scratchpad.
|
|
44
|
+
|
|
45
|
+
## Anti-Patterns to Reject
|
|
46
|
+
|
|
47
|
+
- **Layer cake disguised as slices.** Three "vertical" tasks where Task 1 is "all the schemas", Task 2 is "all the endpoints", Task 3 is "all the UI" — that is horizontal planning with new labels. Reject.
|
|
48
|
+
- **Skeleton bloat.** Walking Skeleton is the *thinnest* working stack, not "Phase 1 of a normal app." If Skeleton has more than ~5 tasks, you are not skeletonizing.
|
|
49
|
+
- **Premature SPIDR splitting.** SPIDR splitting is the `mvp-phase` command's job (Phase 2 of the PRD), not the planner's. If the phase scope feels too large, surface it via the verification loop, do not split silently.
|
|
50
|
+
|
|
51
|
+
## Acceptance Test for Your Plan
|
|
52
|
+
|
|
53
|
+
Before emitting the plan, ask: **after Task N completes, can a real user *do* something they could not do after Task N-1?** If the answer is "no, but the foundation is laid", you have a horizontal task disguised as a slice. Restructure.
|
|
@@ -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-tools query commit "fix($PHASE): revise plans based on checker feedback" --files .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.
|