@bhargavvc/sdd-cc 1.30.1 → 1.42.3
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/README.ja-JP.md +165 -129
- package/README.ko-KR.md +161 -123
- package/README.md +103 -679
- package/README.pt-BR.md +92 -52
- package/README.zh-CN.md +145 -103
- package/agents/sdd-advisor-researcher.md +23 -0
- package/agents/sdd-ai-researcher.md +133 -0
- package/agents/sdd-code-fixer.md +668 -0
- package/agents/sdd-code-reviewer.md +387 -0
- package/agents/sdd-codebase-mapper.md +86 -3
- package/agents/sdd-debug-session-manager.md +314 -0
- package/agents/sdd-debugger.md +157 -78
- package/agents/sdd-doc-classifier.md +168 -0
- package/agents/sdd-doc-synthesizer.md +204 -0
- package/agents/sdd-doc-verifier.md +217 -0
- package/agents/sdd-doc-writer.md +615 -0
- package/agents/sdd-domain-researcher.md +153 -0
- package/agents/sdd-eval-auditor.md +191 -0
- package/agents/sdd-eval-planner.md +154 -0
- package/agents/sdd-executor.md +283 -40
- package/agents/sdd-framework-selector.md +160 -0
- package/agents/sdd-integration-checker.md +30 -3
- package/agents/sdd-intel-updater.md +342 -0
- package/agents/sdd-nyquist-auditor.md +31 -4
- package/agents/sdd-pattern-mapper.md +335 -0
- package/agents/sdd-phase-researcher.md +254 -24
- package/agents/sdd-plan-checker.md +223 -18
- package/agents/sdd-planner.md +286 -362
- package/agents/sdd-project-researcher.md +28 -5
- package/agents/sdd-research-synthesizer.md +4 -4
- package/agents/sdd-roadmapper.md +14 -5
- package/agents/sdd-security-auditor.md +155 -0
- package/agents/sdd-ui-auditor.md +60 -4
- package/agents/sdd-ui-checker.md +11 -2
- package/agents/sdd-ui-researcher.md +27 -4
- package/agents/sdd-user-profiler.md +2 -2
- package/agents/sdd-verifier.md +258 -41
- package/bin/install.js +6862 -618
- package/bin/sdd-sdk.js +37 -0
- package/commands/sdd/add-tests.md +3 -2
- package/commands/sdd/ai-integration-phase.md +37 -0
- package/commands/sdd/audit-fix.md +34 -0
- package/commands/sdd/audit-milestone.md +3 -2
- package/commands/sdd/autonomous.md +10 -5
- package/commands/sdd/capture.md +62 -0
- package/commands/sdd/cleanup.md +7 -1
- package/commands/sdd/code-review.md +59 -0
- package/commands/sdd/complete-milestone.md +11 -4
- package/commands/sdd/config.md +58 -0
- package/commands/sdd/debug.md +23 -144
- package/commands/sdd/discuss-phase.md +22 -10
- package/commands/sdd/docs-update.md +49 -0
- package/commands/sdd/eval-review.md +33 -0
- package/commands/sdd/execute-phase.md +9 -4
- package/commands/sdd/explore.md +27 -0
- package/commands/sdd/extract-learnings.md +23 -0
- package/commands/sdd/fast.md +2 -1
- package/commands/sdd/forensics.md +3 -2
- package/commands/sdd/graphify.md +199 -0
- package/commands/sdd/health.md +12 -3
- package/commands/sdd/help.md +3 -1
- package/commands/sdd/import.md +41 -0
- package/commands/sdd/inbox.md +39 -0
- package/commands/sdd/ingest-docs.md +42 -0
- package/commands/sdd/manager.md +9 -3
- package/commands/sdd/map-codebase.md +15 -3
- package/commands/sdd/milestone-summary.md +1 -1
- package/commands/sdd/mvp-phase.md +45 -0
- package/commands/sdd/new-milestone.md +3 -2
- package/commands/sdd/new-project.md +7 -2
- package/commands/sdd/ns-context.md +23 -0
- package/commands/sdd/ns-ideate.md +24 -0
- package/commands/sdd/ns-manage.md +29 -0
- package/commands/sdd/ns-project.md +22 -0
- package/commands/sdd/ns-review.md +26 -0
- package/commands/sdd/ns-workflow.md +28 -0
- package/commands/sdd/pause-work.md +6 -1
- package/commands/sdd/phase.md +56 -0
- package/commands/sdd/plan-phase.md +19 -4
- package/commands/sdd/plan-review-convergence.md +59 -0
- package/commands/sdd/pr-branch.md +2 -1
- package/commands/sdd/profile-user.md +2 -2
- package/commands/sdd/progress.md +27 -5
- package/commands/sdd/quick.md +132 -5
- package/commands/sdd/resume-work.md +2 -12
- package/commands/sdd/review-backlog.md +4 -2
- package/commands/sdd/review.md +7 -3
- package/commands/sdd/secure-phase.md +36 -0
- package/commands/sdd/settings.md +2 -9
- package/commands/sdd/ship.md +1 -0
- package/commands/sdd/sketch.md +60 -0
- package/commands/sdd/spec-phase.md +63 -0
- package/commands/sdd/spike.md +57 -0
- package/commands/sdd/stats.md +2 -1
- package/commands/sdd/surface.md +129 -0
- package/commands/sdd/thread.md +8 -111
- package/commands/sdd/ui-phase.md +3 -2
- package/commands/sdd/ui-review.md +3 -2
- package/commands/sdd/ultraplan-phase.md +34 -0
- package/commands/sdd/undo.md +35 -0
- package/commands/sdd/update.md +21 -10
- package/commands/sdd/validate-phase.md +3 -2
- package/commands/sdd/verify-work.md +4 -3
- package/commands/sdd/workspace.md +52 -0
- package/commands/sdd/workstreams.md +15 -8
- package/hooks/dist/sdd-check-update-worker.js +116 -0
- package/hooks/dist/sdd-check-update.js +19 -69
- package/hooks/dist/sdd-context-monitor.js +43 -7
- package/hooks/dist/sdd-phase-boundary.sh +47 -0
- package/hooks/dist/sdd-prompt-guard.js +1 -0
- package/hooks/dist/sdd-read-guard.js +101 -0
- package/hooks/dist/sdd-read-injection-scanner.js +152 -0
- package/hooks/dist/sdd-session-state.sh +59 -0
- package/hooks/dist/sdd-statusline.js +439 -21
- package/hooks/dist/sdd-update-banner.js +134 -0
- package/hooks/dist/sdd-validate-commit.sh +57 -0
- package/hooks/dist/sdd-workflow-guard.js +2 -2
- package/hooks/lib/git-cmd.js +150 -0
- package/hooks/sdd-check-update-worker.js +116 -0
- package/hooks/sdd-check-update.js +64 -0
- package/hooks/sdd-context-monitor.js +192 -0
- package/hooks/sdd-phase-boundary.sh +47 -0
- package/hooks/sdd-prompt-guard.js +97 -0
- package/hooks/sdd-read-guard.js +101 -0
- package/hooks/sdd-read-injection-scanner.js +152 -0
- package/hooks/sdd-session-state.sh +59 -0
- package/hooks/sdd-statusline.js +537 -0
- package/hooks/sdd-update-banner.js +134 -0
- package/hooks/sdd-validate-commit.sh +57 -0
- package/hooks/sdd-workflow-guard.js +94 -0
- package/package.json +34 -9
- package/scripts/audit-workflow-script-paths.cjs +73 -0
- package/scripts/build-hooks.js +114 -9
- package/scripts/changeset/cli.cjs +269 -0
- package/scripts/changeset/github-release-notes.cjs +198 -0
- package/scripts/changeset/lint.cjs +110 -0
- package/scripts/changeset/new.cjs +137 -0
- package/scripts/changeset/parse.cjs +60 -0
- package/scripts/changeset/render.cjs +34 -0
- package/scripts/changeset/serialize.cjs +74 -0
- package/scripts/command-contract-helpers.cjs +61 -0
- package/scripts/diff-touches-shipped-paths.cjs +147 -0
- package/scripts/fix-slash-commands.cjs +106 -0
- package/scripts/gen-inventory-manifest.cjs +109 -0
- package/scripts/lint-command-contract.cjs +108 -0
- package/scripts/lint-descriptions.cjs +83 -0
- package/scripts/lint-no-source-grep-extras.cjs +81 -0
- package/scripts/lint-no-source-grep.cjs +174 -0
- package/scripts/lint-shell-command-projection-drift.cjs +57 -0
- package/scripts/lint-skill-deps.cjs +180 -0
- package/scripts/pr-template-policy.cjs +169 -0
- package/scripts/prompt-injection-scan.sh +3 -0
- package/scripts/rebrand-gsd-to-sdd.sh +222 -220
- package/scripts/run-tests.cjs +5 -1
- package/scripts/strip-prose-atrefs.cjs +106 -0
- package/scripts/verify-tarball-sdk-dist.sh +69 -0
- package/sdd/bin/check-latest-version.cjs +104 -0
- package/sdd/bin/lib/active-workstream-store.cjs +85 -0
- package/sdd/bin/lib/adr-parser.cjs +394 -0
- package/sdd/bin/lib/artifacts.cjs +53 -0
- package/sdd/bin/lib/audit.cjs +755 -0
- package/sdd/bin/lib/cjs-command-router-adapter.cjs +39 -0
- package/sdd/bin/lib/clusters.cjs +135 -0
- package/sdd/bin/lib/command-aliases.generated.cjs +838 -0
- package/sdd/bin/lib/commands.cjs +179 -107
- package/sdd/bin/lib/config-schema.cjs +135 -0
- package/sdd/bin/lib/config.cjs +313 -86
- package/sdd/bin/lib/context-utilization.cjs +47 -0
- package/sdd/bin/lib/core.cjs +1146 -391
- package/sdd/bin/lib/decisions.cjs +48 -0
- package/sdd/bin/lib/docs.cjs +270 -0
- package/sdd/bin/lib/drift.cjs +379 -0
- package/sdd/bin/lib/fallow-runner.cjs +109 -0
- package/sdd/bin/lib/frontmatter.cjs +389 -336
- package/sdd/bin/lib/gap-checker.cjs +197 -0
- package/sdd/bin/lib/graphify.cjs +577 -0
- package/sdd/bin/lib/init-command-router.cjs +70 -0
- package/sdd/bin/lib/init.cjs +692 -97
- package/sdd/bin/lib/install-profiles.cjs +572 -0
- package/sdd/bin/lib/installer-migration-authoring.cjs +117 -0
- package/sdd/bin/lib/installer-migration-report.cjs +328 -0
- package/sdd/bin/lib/installer-migrations/000-first-time-baseline.cjs +220 -0
- package/sdd/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +41 -0
- package/sdd/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +80 -0
- package/sdd/bin/lib/installer-migrations.cjs +703 -0
- package/sdd/bin/lib/intel.cjs +643 -0
- package/sdd/bin/lib/learnings.cjs +379 -0
- package/sdd/bin/lib/milestone.cjs +313 -252
- package/sdd/bin/lib/model-catalog.cjs +136 -0
- package/sdd/bin/lib/model-profiles.cjs +25 -68
- package/sdd/bin/lib/phase-command-router.cjs +96 -0
- package/sdd/bin/lib/phase.cjs +868 -335
- package/sdd/bin/lib/phases-command-router.cjs +39 -0
- package/sdd/bin/lib/plan-scan.cjs +138 -0
- package/sdd/bin/lib/planning-workspace.cjs +361 -0
- package/sdd/bin/lib/profile-output.cjs +197 -35
- package/sdd/bin/lib/profile-pipeline.cjs +1 -1
- package/sdd/bin/lib/review-reviewer-selection.cjs +125 -0
- package/sdd/bin/lib/roadmap-command-router.cjs +23 -0
- package/sdd/bin/lib/roadmap.cjs +416 -124
- package/sdd/bin/lib/runtime-homes.cjs +178 -0
- package/sdd/bin/lib/schema-detect.cjs +238 -0
- package/sdd/bin/lib/sdd2-import.cjs +511 -0
- package/sdd/bin/lib/secrets.cjs +33 -0
- package/sdd/bin/lib/security.cjs +131 -9
- package/sdd/bin/lib/shell-command-projection.cjs +548 -0
- package/sdd/bin/lib/state-command-router.cjs +100 -0
- package/sdd/bin/lib/state-document.cjs +12 -0
- package/sdd/bin/lib/state-document.generated.cjs +127 -0
- package/sdd/bin/lib/state.cjs +1253 -367
- package/sdd/bin/lib/surface.cjs +398 -0
- package/sdd/bin/lib/template.cjs +11 -5
- package/sdd/bin/lib/uat.cjs +9 -2
- package/sdd/bin/lib/validate-command-router.cjs +55 -0
- package/sdd/bin/lib/verify-command-router.cjs +34 -0
- package/sdd/bin/lib/verify.cjs +648 -140
- package/sdd/bin/lib/workstream-inventory.cjs +159 -0
- package/sdd/bin/lib/workstream-name-policy.cjs +33 -0
- package/sdd/bin/lib/workstream.cjs +78 -196
- package/sdd/bin/lib/worktree-safety.cjs +563 -0
- package/sdd/bin/sdd-tools.cjs +528 -222
- package/sdd/bin/verify-reapply-patches.cjs +247 -0
- package/sdd/contexts/dev.md +21 -0
- package/sdd/contexts/research.md +22 -0
- package/sdd/contexts/review.md +23 -0
- package/sdd/references/agent-contracts.md +79 -0
- package/sdd/references/ai-evals.md +156 -0
- package/sdd/references/ai-frameworks.md +186 -0
- package/sdd/references/artifact-types.md +131 -0
- package/sdd/references/autonomous-smart-discuss.md +277 -0
- package/sdd/references/checkpoints.md +36 -0
- package/sdd/references/common-bug-patterns.md +114 -0
- package/sdd/references/context-budget.md +85 -0
- package/sdd/references/continuation-format.md +30 -26
- package/sdd/references/debugger-philosophy.md +76 -0
- package/sdd/references/decimal-phase-calculation.md +5 -5
- package/sdd/references/doc-conflict-engine.md +91 -0
- package/sdd/references/domain-probes.md +125 -0
- package/sdd/references/execute-mvp-tdd.md +81 -0
- package/sdd/references/executor-examples.md +110 -0
- package/sdd/references/few-shot-examples/plan-checker.md +73 -0
- package/sdd/references/few-shot-examples/verifier.md +109 -0
- package/sdd/references/gate-prompts.md +100 -0
- package/sdd/references/gates.md +70 -0
- package/sdd/references/git-integration.md +9 -6
- package/sdd/references/git-planning-commit.md +6 -4
- package/sdd/references/ios-scaffold.md +123 -0
- package/sdd/references/mandatory-initial-read.md +2 -0
- package/sdd/references/model-profile-resolution.md +2 -0
- package/sdd/references/model-profiles.md +128 -22
- package/sdd/references/mvp-concepts.md +49 -0
- package/sdd/references/phase-argument-parsing.md +3 -3
- package/sdd/references/planner-antipatterns.md +89 -0
- package/sdd/references/planner-chunked.md +49 -0
- package/sdd/references/planner-gap-closure.md +62 -0
- package/sdd/references/planner-human-verify-mode.md +57 -0
- package/sdd/references/planner-mvp-mode.md +53 -0
- package/sdd/references/planner-reviews.md +39 -0
- package/sdd/references/planner-revision.md +87 -0
- package/sdd/references/planner-source-audit.md +73 -0
- package/sdd/references/planning-config.md +276 -7
- package/sdd/references/project-skills-discovery.md +19 -0
- package/sdd/references/revision-loop.md +97 -0
- package/sdd/references/scout-codebase.md +51 -0
- package/sdd/references/skeleton-template.md +48 -0
- package/sdd/references/sketch-interactivity.md +41 -0
- package/sdd/references/sketch-theme-system.md +94 -0
- package/sdd/references/sketch-tooling.md +45 -0
- package/sdd/references/sketch-variant-patterns.md +81 -0
- package/sdd/references/spidr-splitting.md +69 -0
- package/sdd/references/tdd.md +67 -0
- package/sdd/references/thinking-models-debug.md +44 -0
- package/sdd/references/thinking-models-execution.md +50 -0
- package/sdd/references/thinking-models-planning.md +62 -0
- package/sdd/references/thinking-models-research.md +50 -0
- package/sdd/references/thinking-models-verification.md +55 -0
- package/sdd/references/thinking-partner.md +96 -0
- package/sdd/references/ui-brand.md +4 -4
- package/sdd/references/universal-anti-patterns.md +63 -0
- package/sdd/references/user-story-template.md +58 -0
- package/sdd/references/verification-overrides.md +227 -0
- package/sdd/references/verify-mvp-mode.md +85 -0
- package/sdd/references/workstream-flag.md +63 -10
- package/sdd/references/worktree-path-safety.md +89 -0
- package/sdd/templates/AI-SPEC.md +246 -0
- package/sdd/templates/DEBUG.md +7 -2
- package/sdd/templates/README.md +77 -0
- package/sdd/templates/SECURITY.md +61 -0
- package/sdd/templates/VALIDATION.md +3 -3
- package/sdd/templates/claude-md.md +27 -4
- package/sdd/templates/config.json +20 -2
- package/sdd/templates/discovery.md +2 -2
- package/sdd/templates/research.md +40 -0
- package/sdd/templates/spec.md +307 -0
- package/sdd/templates/state.md +10 -2
- package/sdd/workflows/add-backlog.md +90 -0
- package/sdd/workflows/add-phase.md +12 -12
- package/sdd/workflows/add-tests.md +6 -3
- package/sdd/workflows/add-todo.md +8 -6
- package/sdd/workflows/ai-integration-phase.md +294 -0
- package/sdd/workflows/analyze-dependencies.md +96 -0
- package/sdd/workflows/audit-fix.md +177 -0
- package/sdd/workflows/audit-milestone.md +35 -18
- package/sdd/workflows/audit-uat.md +1 -1
- package/sdd/workflows/autonomous.md +202 -304
- package/sdd/workflows/check-todos.md +12 -10
- package/sdd/workflows/cleanup.md +3 -1
- package/sdd/workflows/code-review-fix.md +501 -0
- package/sdd/workflows/code-review.md +613 -0
- package/sdd/workflows/complete-milestone.md +115 -28
- package/sdd/workflows/debug.md +231 -0
- package/sdd/workflows/diagnose-issues.md +14 -5
- package/sdd/workflows/discovery-phase.md +3 -1
- package/sdd/workflows/discuss-phase/modes/advisor.md +175 -0
- package/sdd/workflows/discuss-phase/modes/all.md +28 -0
- package/sdd/workflows/discuss-phase/modes/analyze.md +44 -0
- package/sdd/workflows/discuss-phase/modes/auto.md +56 -0
- package/sdd/workflows/discuss-phase/modes/batch.md +52 -0
- package/sdd/workflows/discuss-phase/modes/chain.md +97 -0
- package/sdd/workflows/discuss-phase/modes/default.md +141 -0
- package/sdd/workflows/discuss-phase/modes/power.md +44 -0
- package/sdd/workflows/discuss-phase/modes/text.md +55 -0
- package/sdd/workflows/discuss-phase/templates/checkpoint.json +18 -0
- package/sdd/workflows/discuss-phase/templates/context.md +136 -0
- package/sdd/workflows/discuss-phase/templates/discussion-log.md +50 -0
- package/sdd/workflows/discuss-phase-assumptions.md +41 -20
- package/sdd/workflows/discuss-phase-power.md +291 -0
- package/sdd/workflows/discuss-phase.md +242 -792
- package/sdd/workflows/do.md +13 -7
- package/sdd/workflows/docs-update.md +1161 -0
- package/sdd/workflows/edit-phase.md +294 -0
- package/sdd/workflows/eval-review.md +155 -0
- package/sdd/workflows/execute-phase/steps/codebase-drift-gate.md +81 -0
- package/sdd/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
- package/sdd/workflows/execute-phase/steps/post-merge-gate.md +116 -0
- package/sdd/workflows/execute-phase.md +1062 -108
- package/sdd/workflows/execute-plan.md +118 -107
- package/sdd/workflows/explore.md +143 -0
- package/sdd/workflows/extract-learnings.md +242 -0
- package/sdd/workflows/forensics.md +17 -4
- package/sdd/workflows/graduation.md +195 -0
- package/sdd/workflows/health.md +45 -3
- package/sdd/workflows/help.md +265 -88
- package/sdd/workflows/import.md +253 -0
- package/sdd/workflows/inbox.md +387 -0
- package/sdd/workflows/ingest-docs.md +339 -0
- package/sdd/workflows/insert-phase.md +37 -16
- package/sdd/workflows/list-phase-assumptions.md +2 -2
- package/sdd/workflows/list-workspaces.md +3 -3
- package/sdd/workflows/manager.md +62 -32
- package/sdd/workflows/map-codebase.md +90 -24
- package/sdd/workflows/milestone-summary.md +6 -6
- package/sdd/workflows/mvp-phase.md +221 -0
- package/sdd/workflows/new-milestone.md +168 -20
- package/sdd/workflows/new-project.md +273 -47
- package/sdd/workflows/new-workspace.md +8 -6
- package/sdd/workflows/next.md +127 -4
- package/sdd/workflows/note.md +7 -5
- package/sdd/workflows/pause-work.md +79 -12
- package/sdd/workflows/plan-milestone-gaps.md +14 -7
- package/sdd/workflows/plan-phase.md +987 -62
- package/sdd/workflows/plan-review-convergence.md +329 -0
- package/sdd/workflows/plant-seed.md +145 -85
- package/sdd/workflows/pr-branch.md +41 -13
- package/sdd/workflows/profile-user.md +20 -18
- package/sdd/workflows/progress.md +186 -44
- package/sdd/workflows/quick.md +470 -58
- package/sdd/workflows/reapply-patches.md +390 -0
- package/sdd/workflows/remove-phase.md +12 -12
- package/sdd/workflows/remove-workspace.md +24 -7
- package/sdd/workflows/resume-project.md +18 -15
- package/sdd/workflows/review.md +242 -11
- package/sdd/workflows/scan.md +104 -0
- package/sdd/workflows/secure-phase.md +179 -0
- package/sdd/workflows/session-report.md +2 -2
- package/sdd/workflows/settings-advanced.md +579 -0
- package/sdd/workflows/settings-integrations.md +281 -0
- package/sdd/workflows/settings.md +221 -16
- package/sdd/workflows/ship.md +140 -13
- package/sdd/workflows/sketch-wrap-up.md +285 -0
- package/sdd/workflows/sketch.md +360 -0
- package/sdd/workflows/spec-phase.md +262 -0
- package/sdd/workflows/spike-wrap-up.md +306 -0
- package/sdd/workflows/spike.md +452 -0
- package/sdd/workflows/stats.md +20 -1
- package/sdd/workflows/sync-skills.md +182 -0
- package/sdd/workflows/thread.md +221 -0
- package/sdd/workflows/transition.md +44 -22
- package/sdd/workflows/ui-phase.md +39 -14
- package/sdd/workflows/ui-review.md +33 -6
- package/sdd/workflows/ultraplan-phase.md +198 -0
- package/sdd/workflows/undo.md +314 -0
- package/sdd/workflows/update.md +350 -29
- package/sdd/workflows/validate-phase.md +10 -6
- package/sdd/workflows/verify-phase.md +307 -18
- package/sdd/workflows/verify-work.md +153 -10
- package/sdk/dist/cli-transport.d.ts +19 -0
- package/sdk/dist/cli-transport.d.ts.map +1 -0
- package/sdk/dist/cli-transport.js +104 -0
- package/sdk/dist/cli-transport.js.map +1 -0
- package/sdk/dist/cli.d.ts +46 -0
- package/sdk/dist/cli.d.ts.map +1 -0
- package/sdk/dist/cli.js +511 -0
- package/sdk/dist/cli.js.map +1 -0
- package/sdk/dist/config.d.ts +84 -0
- package/sdk/dist/config.d.ts.map +1 -0
- package/sdk/dist/config.js +135 -0
- package/sdk/dist/config.js.map +1 -0
- package/sdk/dist/context-engine.d.ts +49 -0
- package/sdk/dist/context-engine.d.ts.map +1 -0
- package/sdk/dist/context-engine.js +142 -0
- package/sdk/dist/context-engine.js.map +1 -0
- package/sdk/dist/context-truncation.d.ts +33 -0
- package/sdk/dist/context-truncation.d.ts.map +1 -0
- package/sdk/dist/context-truncation.js +197 -0
- package/sdk/dist/context-truncation.js.map +1 -0
- package/sdk/dist/errors.d.ts +46 -0
- package/sdk/dist/errors.d.ts.map +1 -0
- package/sdk/dist/errors.js +64 -0
- package/sdk/dist/errors.js.map +1 -0
- package/sdk/dist/event-stream.d.ts +53 -0
- package/sdk/dist/event-stream.d.ts.map +1 -0
- package/sdk/dist/event-stream.js +321 -0
- package/sdk/dist/event-stream.js.map +1 -0
- package/sdk/dist/golden/capture.d.ts +15 -0
- package/sdk/dist/golden/capture.d.ts.map +1 -0
- package/sdk/dist/golden/capture.js +67 -0
- package/sdk/dist/golden/capture.js.map +1 -0
- package/sdk/dist/golden/golden-integration-covered.d.ts +6 -0
- package/sdk/dist/golden/golden-integration-covered.d.ts.map +1 -0
- package/sdk/dist/golden/golden-integration-covered.js +30 -0
- package/sdk/dist/golden/golden-integration-covered.js.map +1 -0
- package/sdk/dist/golden/golden-mutation-covered.d.ts +7 -0
- package/sdk/dist/golden/golden-mutation-covered.d.ts.map +1 -0
- package/sdk/dist/golden/golden-mutation-covered.js +17 -0
- package/sdk/dist/golden/golden-mutation-covered.js.map +1 -0
- package/sdk/dist/golden/golden-policy.d.ts +10 -0
- package/sdk/dist/golden/golden-policy.d.ts.map +1 -0
- package/sdk/dist/golden/golden-policy.js +98 -0
- package/sdk/dist/golden/golden-policy.js.map +1 -0
- package/sdk/dist/golden/init-golden-normalize.d.ts +8 -0
- package/sdk/dist/golden/init-golden-normalize.d.ts.map +1 -0
- package/sdk/dist/golden/init-golden-normalize.js +14 -0
- package/sdk/dist/golden/init-golden-normalize.js.map +1 -0
- package/sdk/dist/golden/read-only-golden-rows.d.ts +20 -0
- package/sdk/dist/golden/read-only-golden-rows.d.ts.map +1 -0
- package/sdk/dist/golden/read-only-golden-rows.js +67 -0
- package/sdk/dist/golden/read-only-golden-rows.js.map +1 -0
- package/sdk/dist/golden/registry-canonical-commands.d.ts +6 -0
- package/sdk/dist/golden/registry-canonical-commands.d.ts.map +1 -0
- package/sdk/dist/golden/registry-canonical-commands.js +30 -0
- package/sdk/dist/golden/registry-canonical-commands.js.map +1 -0
- package/sdk/dist/index.d.ts +125 -0
- package/sdk/dist/index.d.ts.map +1 -0
- package/sdk/dist/index.js +298 -0
- package/sdk/dist/index.js.map +1 -0
- package/sdk/dist/init-runner.d.ts +90 -0
- package/sdk/dist/init-runner.d.ts.map +1 -0
- package/sdk/dist/init-runner.js +613 -0
- package/sdk/dist/init-runner.js.map +1 -0
- package/sdk/dist/logger.d.ts +50 -0
- package/sdk/dist/logger.d.ts.map +1 -0
- package/sdk/dist/logger.js +70 -0
- package/sdk/dist/logger.js.map +1 -0
- package/sdk/dist/model-catalog.d.ts +31 -0
- package/sdk/dist/model-catalog.d.ts.map +1 -0
- package/sdk/dist/model-catalog.js +31 -0
- package/sdk/dist/model-catalog.js.map +1 -0
- package/sdk/dist/phase-prompt.d.ts +72 -0
- package/sdk/dist/phase-prompt.d.ts.map +1 -0
- package/sdk/dist/phase-prompt.js +213 -0
- package/sdk/dist/phase-prompt.js.map +1 -0
- package/sdk/dist/phase-runner.d.ts +145 -0
- package/sdk/dist/phase-runner.d.ts.map +1 -0
- package/sdk/dist/phase-runner.js +1206 -0
- package/sdk/dist/phase-runner.js.map +1 -0
- package/sdk/dist/plan-parser.d.ts +55 -0
- package/sdk/dist/plan-parser.d.ts.map +1 -0
- package/sdk/dist/plan-parser.js +389 -0
- package/sdk/dist/plan-parser.js.map +1 -0
- package/sdk/dist/planning-journal.d.ts +64 -0
- package/sdk/dist/planning-journal.d.ts.map +1 -0
- package/sdk/dist/planning-journal.js +88 -0
- package/sdk/dist/planning-journal.js.map +1 -0
- package/sdk/dist/planning-runtime.d.ts +67 -0
- package/sdk/dist/planning-runtime.d.ts.map +1 -0
- package/sdk/dist/planning-runtime.js +58 -0
- package/sdk/dist/planning-runtime.js.map +1 -0
- package/sdk/dist/prompt-builder.d.ts +44 -0
- package/sdk/dist/prompt-builder.d.ts.map +1 -0
- package/sdk/dist/prompt-builder.js +180 -0
- package/sdk/dist/prompt-builder.js.map +1 -0
- package/sdk/dist/prompt-sanitizer.d.ts +35 -0
- package/sdk/dist/prompt-sanitizer.d.ts.map +1 -0
- package/sdk/dist/prompt-sanitizer.js +101 -0
- package/sdk/dist/prompt-sanitizer.js.map +1 -0
- package/sdk/dist/query/active-workstream-store.d.ts +7 -0
- package/sdk/dist/query/active-workstream-store.d.ts.map +1 -0
- package/sdk/dist/query/active-workstream-store.js +56 -0
- package/sdk/dist/query/active-workstream-store.js.map +1 -0
- package/sdk/dist/query/agent-failure-classifier.d.ts +38 -0
- package/sdk/dist/query/agent-failure-classifier.d.ts.map +1 -0
- package/sdk/dist/query/agent-failure-classifier.js +83 -0
- package/sdk/dist/query/agent-failure-classifier.js.map +1 -0
- package/sdk/dist/query/audit-open.d.ts +46 -0
- package/sdk/dist/query/audit-open.d.ts.map +1 -0
- package/sdk/dist/query/audit-open.js +662 -0
- package/sdk/dist/query/audit-open.js.map +1 -0
- package/sdk/dist/query/check-auto-mode.d.ts +13 -0
- package/sdk/dist/query/check-auto-mode.d.ts.map +1 -0
- package/sdk/dist/query/check-auto-mode.js +40 -0
- package/sdk/dist/query/check-auto-mode.js.map +1 -0
- package/sdk/dist/query/check-completion.d.ts +10 -0
- package/sdk/dist/query/check-completion.d.ts.map +1 -0
- package/sdk/dist/query/check-completion.js +157 -0
- package/sdk/dist/query/check-completion.js.map +1 -0
- package/sdk/dist/query/check-decision-coverage.d.ts +33 -0
- package/sdk/dist/query/check-decision-coverage.d.ts.map +1 -0
- package/sdk/dist/query/check-decision-coverage.js +472 -0
- package/sdk/dist/query/check-decision-coverage.js.map +1 -0
- package/sdk/dist/query/check-gates.d.ts +10 -0
- package/sdk/dist/query/check-gates.d.ts.map +1 -0
- package/sdk/dist/query/check-gates.js +89 -0
- package/sdk/dist/query/check-gates.js.map +1 -0
- package/sdk/dist/query/check-ship-ready.d.ts +10 -0
- package/sdk/dist/query/check-ship-ready.d.ts.map +1 -0
- package/sdk/dist/query/check-ship-ready.js +93 -0
- package/sdk/dist/query/check-ship-ready.js.map +1 -0
- package/sdk/dist/query/check-verification-status.d.ts +10 -0
- package/sdk/dist/query/check-verification-status.d.ts.map +1 -0
- package/sdk/dist/query/check-verification-status.js +142 -0
- package/sdk/dist/query/check-verification-status.js.map +1 -0
- package/sdk/dist/query/command-aliases.generated.d.ts +31 -0
- package/sdk/dist/query/command-aliases.generated.d.ts.map +1 -0
- package/sdk/dist/query/command-aliases.generated.js +135 -0
- package/sdk/dist/query/command-aliases.generated.js.map +1 -0
- package/sdk/dist/query/command-catalog.d.ts +9 -0
- package/sdk/dist/query/command-catalog.d.ts.map +1 -0
- package/sdk/dist/query/command-catalog.js +17 -0
- package/sdk/dist/query/command-catalog.js.map +1 -0
- package/sdk/dist/query/command-definition.d.ts +19 -0
- package/sdk/dist/query/command-definition.d.ts.map +1 -0
- package/sdk/dist/query/command-definition.js +44 -0
- package/sdk/dist/query/command-definition.js.map +1 -0
- package/sdk/dist/query/command-family-handlers.d.ts +3 -0
- package/sdk/dist/query/command-family-handlers.d.ts.map +1 -0
- package/sdk/dist/query/command-family-handlers.js +94 -0
- package/sdk/dist/query/command-family-handlers.js.map +1 -0
- package/sdk/dist/query/command-manifest.d.ts +2 -0
- package/sdk/dist/query/command-manifest.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.init.d.ts +6 -0
- package/sdk/dist/query/command-manifest.init.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.init.js +23 -0
- package/sdk/dist/query/command-manifest.init.js.map +1 -0
- package/sdk/dist/query/command-manifest.js +17 -0
- package/sdk/dist/query/command-manifest.js.map +1 -0
- package/sdk/dist/query/command-manifest.non-family.d.ts +9 -0
- package/sdk/dist/query/command-manifest.non-family.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.non-family.js +59 -0
- package/sdk/dist/query/command-manifest.non-family.js.map +1 -0
- package/sdk/dist/query/command-manifest.phase.d.ts +6 -0
- package/sdk/dist/query/command-manifest.phase.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.phase.js +15 -0
- package/sdk/dist/query/command-manifest.phase.js.map +1 -0
- package/sdk/dist/query/command-manifest.phases.d.ts +7 -0
- package/sdk/dist/query/command-manifest.phases.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.phases.js +10 -0
- package/sdk/dist/query/command-manifest.phases.js.map +1 -0
- package/sdk/dist/query/command-manifest.roadmap.d.ts +6 -0
- package/sdk/dist/query/command-manifest.roadmap.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.roadmap.js +10 -0
- package/sdk/dist/query/command-manifest.roadmap.js.map +1 -0
- package/sdk/dist/query/command-manifest.state.d.ts +9 -0
- package/sdk/dist/query/command-manifest.state.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.state.js +30 -0
- package/sdk/dist/query/command-manifest.state.js.map +1 -0
- package/sdk/dist/query/command-manifest.types.d.ts +12 -0
- package/sdk/dist/query/command-manifest.types.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.types.js +2 -0
- package/sdk/dist/query/command-manifest.types.js.map +1 -0
- package/sdk/dist/query/command-manifest.validate.d.ts +6 -0
- package/sdk/dist/query/command-manifest.validate.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.validate.js +10 -0
- package/sdk/dist/query/command-manifest.validate.js.map +1 -0
- package/sdk/dist/query/command-manifest.verify.d.ts +6 -0
- package/sdk/dist/query/command-manifest.verify.d.ts.map +1 -0
- package/sdk/dist/query/command-manifest.verify.js +14 -0
- package/sdk/dist/query/command-manifest.verify.js.map +1 -0
- package/sdk/dist/query/command-static-catalog-domain.d.ts +3 -0
- package/sdk/dist/query/command-static-catalog-domain.d.ts.map +1 -0
- package/sdk/dist/query/command-static-catalog-domain.js +116 -0
- package/sdk/dist/query/command-static-catalog-domain.js.map +1 -0
- package/sdk/dist/query/command-static-catalog-foundation.d.ts +7 -0
- package/sdk/dist/query/command-static-catalog-foundation.d.ts.map +1 -0
- package/sdk/dist/query/command-static-catalog-foundation.js +98 -0
- package/sdk/dist/query/command-static-catalog-foundation.js.map +1 -0
- package/sdk/dist/query/command-topology.d.ts +32 -0
- package/sdk/dist/query/command-topology.d.ts.map +1 -0
- package/sdk/dist/query/command-topology.js +66 -0
- package/sdk/dist/query/command-topology.js.map +1 -0
- package/sdk/dist/query/commands-list.d.ts +14 -0
- package/sdk/dist/query/commands-list.d.ts.map +1 -0
- package/sdk/dist/query/commands-list.js +18 -0
- package/sdk/dist/query/commands-list.js.map +1 -0
- package/sdk/dist/query/commit.d.ts +79 -0
- package/sdk/dist/query/commit.d.ts.map +1 -0
- package/sdk/dist/query/commit.js +340 -0
- package/sdk/dist/query/commit.js.map +1 -0
- package/sdk/dist/query/config-gates.d.ts +12 -0
- package/sdk/dist/query/config-gates.d.ts.map +1 -0
- package/sdk/dist/query/config-gates.js +66 -0
- package/sdk/dist/query/config-gates.js.map +1 -0
- package/sdk/dist/query/config-mutation.d.ts +86 -0
- package/sdk/dist/query/config-mutation.d.ts.map +1 -0
- package/sdk/dist/query/config-mutation.js +518 -0
- package/sdk/dist/query/config-mutation.js.map +1 -0
- package/sdk/dist/query/config-query.d.ts +57 -0
- package/sdk/dist/query/config-query.d.ts.map +1 -0
- package/sdk/dist/query/config-query.js +208 -0
- package/sdk/dist/query/config-query.js.map +1 -0
- package/sdk/dist/query/config-schema.d.ts +36 -0
- package/sdk/dist/query/config-schema.d.ts.map +1 -0
- package/sdk/dist/query/config-schema.js +147 -0
- package/sdk/dist/query/config-schema.js.map +1 -0
- package/sdk/dist/query/decisions.d.ts +58 -0
- package/sdk/dist/query/decisions.d.ts.map +1 -0
- package/sdk/dist/query/decisions.js +161 -0
- package/sdk/dist/query/decisions.js.map +1 -0
- package/sdk/dist/query/detect-custom-files.d.ts +11 -0
- package/sdk/dist/query/detect-custom-files.d.ts.map +1 -0
- package/sdk/dist/query/detect-custom-files.js +89 -0
- package/sdk/dist/query/detect-custom-files.js.map +1 -0
- package/sdk/dist/query/detect-phase-type.d.ts +9 -0
- package/sdk/dist/query/detect-phase-type.d.ts.map +1 -0
- package/sdk/dist/query/detect-phase-type.js +124 -0
- package/sdk/dist/query/detect-phase-type.js.map +1 -0
- package/sdk/dist/query/docs-init.d.ts +26 -0
- package/sdk/dist/query/docs-init.d.ts.map +1 -0
- package/sdk/dist/query/docs-init.js +231 -0
- package/sdk/dist/query/docs-init.js.map +1 -0
- package/sdk/dist/query/fallow-audit.d.ts +44 -0
- package/sdk/dist/query/fallow-audit.d.ts.map +1 -0
- package/sdk/dist/query/fallow-audit.js +44 -0
- package/sdk/dist/query/fallow-audit.js.map +1 -0
- package/sdk/dist/query/frontmatter-mutation.d.ts +77 -0
- package/sdk/dist/query/frontmatter-mutation.d.ts.map +1 -0
- package/sdk/dist/query/frontmatter-mutation.js +317 -0
- package/sdk/dist/query/frontmatter-mutation.js.map +1 -0
- package/sdk/dist/query/frontmatter.d.ts +93 -0
- package/sdk/dist/query/frontmatter.d.ts.map +1 -0
- package/sdk/dist/query/frontmatter.js +365 -0
- package/sdk/dist/query/frontmatter.js.map +1 -0
- package/sdk/dist/query/helpers.d.ts +191 -0
- package/sdk/dist/query/helpers.d.ts.map +1 -0
- package/sdk/dist/query/helpers.js +613 -0
- package/sdk/dist/query/helpers.js.map +1 -0
- package/sdk/dist/query/index.d.ts +8 -0
- package/sdk/dist/query/index.d.ts.map +1 -0
- package/sdk/dist/query/index.js +6 -0
- package/sdk/dist/query/index.js.map +1 -0
- package/sdk/dist/query/init-complex.d.ts +47 -0
- package/sdk/dist/query/init-complex.d.ts.map +1 -0
- package/sdk/dist/query/init-complex.js +718 -0
- package/sdk/dist/query/init-complex.js.map +1 -0
- package/sdk/dist/query/init.d.ts +106 -0
- package/sdk/dist/query/init.d.ts.map +1 -0
- package/sdk/dist/query/init.js +1159 -0
- package/sdk/dist/query/init.js.map +1 -0
- package/sdk/dist/query/intel.d.ts +43 -0
- package/sdk/dist/query/intel.d.ts.map +1 -0
- package/sdk/dist/query/intel.js +416 -0
- package/sdk/dist/query/intel.js.map +1 -0
- package/sdk/dist/query/mutation-event-decorator.d.ts +5 -0
- package/sdk/dist/query/mutation-event-decorator.d.ts.map +1 -0
- package/sdk/dist/query/mutation-event-decorator.js +28 -0
- package/sdk/dist/query/mutation-event-decorator.js.map +1 -0
- package/sdk/dist/query/mutation-event-mapper.d.ts +4 -0
- package/sdk/dist/query/mutation-event-mapper.d.ts.map +1 -0
- package/sdk/dist/query/mutation-event-mapper.js +70 -0
- package/sdk/dist/query/mutation-event-mapper.js.map +1 -0
- package/sdk/dist/query/mvp.d.ts +113 -0
- package/sdk/dist/query/mvp.d.ts.map +1 -0
- package/sdk/dist/query/mvp.js +225 -0
- package/sdk/dist/query/mvp.js.map +1 -0
- package/sdk/dist/query/phase-filesystem-adapter.d.ts +4 -0
- package/sdk/dist/query/phase-filesystem-adapter.d.ts.map +1 -0
- package/sdk/dist/query/phase-filesystem-adapter.js +33 -0
- package/sdk/dist/query/phase-filesystem-adapter.js.map +1 -0
- package/sdk/dist/query/phase-lifecycle-policy.d.ts +34 -0
- package/sdk/dist/query/phase-lifecycle-policy.d.ts.map +1 -0
- package/sdk/dist/query/phase-lifecycle-policy.js +138 -0
- package/sdk/dist/query/phase-lifecycle-policy.js.map +1 -0
- package/sdk/dist/query/phase-lifecycle.d.ts +116 -0
- package/sdk/dist/query/phase-lifecycle.d.ts.map +1 -0
- package/sdk/dist/query/phase-lifecycle.js +1486 -0
- package/sdk/dist/query/phase-lifecycle.js.map +1 -0
- package/sdk/dist/query/phase-list-queries.d.ts +18 -0
- package/sdk/dist/query/phase-list-queries.d.ts.map +1 -0
- package/sdk/dist/query/phase-list-queries.js +129 -0
- package/sdk/dist/query/phase-list-queries.js.map +1 -0
- package/sdk/dist/query/phase-ready.d.ts +9 -0
- package/sdk/dist/query/phase-ready.d.ts.map +1 -0
- package/sdk/dist/query/phase-ready.js +132 -0
- package/sdk/dist/query/phase-ready.js.map +1 -0
- package/sdk/dist/query/phase-roadmap-mutation.d.ts +13 -0
- package/sdk/dist/query/phase-roadmap-mutation.d.ts.map +1 -0
- package/sdk/dist/query/phase-roadmap-mutation.js +65 -0
- package/sdk/dist/query/phase-roadmap-mutation.js.map +1 -0
- package/sdk/dist/query/phase.d.ts +48 -0
- package/sdk/dist/query/phase.d.ts.map +1 -0
- package/sdk/dist/query/phase.js +451 -0
- package/sdk/dist/query/phase.js.map +1 -0
- package/sdk/dist/query/pipeline.d.ts +53 -0
- package/sdk/dist/query/pipeline.d.ts.map +1 -0
- package/sdk/dist/query/pipeline.js +198 -0
- package/sdk/dist/query/pipeline.js.map +1 -0
- package/sdk/dist/query/plan-scan.d.ts +14 -0
- package/sdk/dist/query/plan-scan.d.ts.map +1 -0
- package/sdk/dist/query/plan-scan.js +70 -0
- package/sdk/dist/query/plan-scan.js.map +1 -0
- package/sdk/dist/query/plan-task-structure.d.ts +9 -0
- package/sdk/dist/query/plan-task-structure.d.ts.map +1 -0
- package/sdk/dist/query/plan-task-structure.js +59 -0
- package/sdk/dist/query/plan-task-structure.js.map +1 -0
- package/sdk/dist/query/profile-extract-messages.d.ts +40 -0
- package/sdk/dist/query/profile-extract-messages.d.ts.map +1 -0
- package/sdk/dist/query/profile-extract-messages.js +195 -0
- package/sdk/dist/query/profile-extract-messages.js.map +1 -0
- package/sdk/dist/query/profile-output.d.ts +11 -0
- package/sdk/dist/query/profile-output.d.ts.map +1 -0
- package/sdk/dist/query/profile-output.js +873 -0
- package/sdk/dist/query/profile-output.js.map +1 -0
- package/sdk/dist/query/profile-questionnaire-data.d.ts +21 -0
- package/sdk/dist/query/profile-questionnaire-data.d.ts.map +1 -0
- package/sdk/dist/query/profile-questionnaire-data.js +171 -0
- package/sdk/dist/query/profile-questionnaire-data.js.map +1 -0
- package/sdk/dist/query/profile-sample.d.ts +22 -0
- package/sdk/dist/query/profile-sample.d.ts.map +1 -0
- package/sdk/dist/query/profile-sample.js +136 -0
- package/sdk/dist/query/profile-sample.js.map +1 -0
- package/sdk/dist/query/profile-scan-sessions.d.ts +49 -0
- package/sdk/dist/query/profile-scan-sessions.d.ts.map +1 -0
- package/sdk/dist/query/profile-scan-sessions.js +137 -0
- package/sdk/dist/query/profile-scan-sessions.js.map +1 -0
- package/sdk/dist/query/profile.d.ts +61 -0
- package/sdk/dist/query/profile.d.ts.map +1 -0
- package/sdk/dist/query/profile.js +307 -0
- package/sdk/dist/query/profile.js.map +1 -0
- package/sdk/dist/query/progress.d.ts +77 -0
- package/sdk/dist/query/progress.d.ts.map +1 -0
- package/sdk/dist/query/progress.js +481 -0
- package/sdk/dist/query/progress.js.map +1 -0
- package/sdk/dist/query/query-cli-adapter.d.ts +8 -0
- package/sdk/dist/query/query-cli-adapter.d.ts.map +1 -0
- package/sdk/dist/query/query-cli-adapter.js +32 -0
- package/sdk/dist/query/query-cli-adapter.js.map +1 -0
- package/sdk/dist/query/query-cli-output.d.ts +9 -0
- package/sdk/dist/query/query-cli-output.d.ts.map +1 -0
- package/sdk/dist/query/query-cli-output.js +28 -0
- package/sdk/dist/query/query-cli-output.js.map +1 -0
- package/sdk/dist/query/query-command-diagnosis.d.ts +6 -0
- package/sdk/dist/query/query-command-diagnosis.d.ts.map +1 -0
- package/sdk/dist/query/query-command-diagnosis.js +6 -0
- package/sdk/dist/query/query-command-diagnosis.js.map +1 -0
- package/sdk/dist/query/query-command-resolution-strategy.d.ts +29 -0
- package/sdk/dist/query/query-command-resolution-strategy.d.ts.map +1 -0
- package/sdk/dist/query/query-command-resolution-strategy.js +103 -0
- package/sdk/dist/query/query-command-resolution-strategy.js.map +1 -0
- package/sdk/dist/query/query-command-semantics.d.ts +7 -0
- package/sdk/dist/query/query-command-semantics.d.ts.map +1 -0
- package/sdk/dist/query/query-command-semantics.js +7 -0
- package/sdk/dist/query/query-command-semantics.js.map +1 -0
- package/sdk/dist/query/query-dispatch-contract.d.ts +21 -0
- package/sdk/dist/query/query-dispatch-contract.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-contract.js +2 -0
- package/sdk/dist/query/query-dispatch-contract.js.map +1 -0
- package/sdk/dist/query/query-dispatch-error-mapper.d.ts +6 -0
- package/sdk/dist/query/query-dispatch-error-mapper.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-error-mapper.js +6 -0
- package/sdk/dist/query/query-dispatch-error-mapper.js.map +1 -0
- package/sdk/dist/query/query-dispatch-formatting.d.ts +6 -0
- package/sdk/dist/query/query-dispatch-formatting.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-formatting.js +6 -0
- package/sdk/dist/query/query-dispatch-formatting.js.map +1 -0
- package/sdk/dist/query/query-dispatch-input-validation.d.ts +6 -0
- package/sdk/dist/query/query-dispatch-input-validation.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-input-validation.js +6 -0
- package/sdk/dist/query/query-dispatch-input-validation.js.map +1 -0
- package/sdk/dist/query/query-dispatch-observability.d.ts +2 -0
- package/sdk/dist/query/query-dispatch-observability.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-observability.js +7 -0
- package/sdk/dist/query/query-dispatch-observability.js.map +1 -0
- package/sdk/dist/query/query-dispatch-plan.d.ts +6 -0
- package/sdk/dist/query/query-dispatch-plan.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-plan.js +6 -0
- package/sdk/dist/query/query-dispatch-plan.js.map +1 -0
- package/sdk/dist/query/query-dispatch-result-builder.d.ts +6 -0
- package/sdk/dist/query/query-dispatch-result-builder.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch-result-builder.js +6 -0
- package/sdk/dist/query/query-dispatch-result-builder.js.map +1 -0
- package/sdk/dist/query/query-dispatch.d.ts +48 -0
- package/sdk/dist/query/query-dispatch.d.ts.map +1 -0
- package/sdk/dist/query/query-dispatch.js +175 -0
- package/sdk/dist/query/query-dispatch.js.map +1 -0
- package/sdk/dist/query/query-error-details-schema.d.ts +19 -0
- package/sdk/dist/query/query-error-details-schema.d.ts.map +1 -0
- package/sdk/dist/query/query-error-details-schema.js +10 -0
- package/sdk/dist/query/query-error-details-schema.js.map +1 -0
- package/sdk/dist/query/query-error-taxonomy.d.ts +38 -0
- package/sdk/dist/query/query-error-taxonomy.d.ts.map +1 -0
- package/sdk/dist/query/query-error-taxonomy.js +74 -0
- package/sdk/dist/query/query-error-taxonomy.js.map +1 -0
- package/sdk/dist/query/query-fallback-bridge-adapter.d.ts +14 -0
- package/sdk/dist/query/query-fallback-bridge-adapter.d.ts.map +1 -0
- package/sdk/dist/query/query-fallback-bridge-adapter.js +33 -0
- package/sdk/dist/query/query-fallback-bridge-adapter.js.map +1 -0
- package/sdk/dist/query/query-fallback-executor.d.ts +11 -0
- package/sdk/dist/query/query-fallback-executor.d.ts.map +1 -0
- package/sdk/dist/query/query-fallback-executor.js +31 -0
- package/sdk/dist/query/query-fallback-executor.js.map +1 -0
- package/sdk/dist/query/query-fallback-output-classifier.d.ts +6 -0
- package/sdk/dist/query/query-fallback-output-classifier.d.ts.map +1 -0
- package/sdk/dist/query/query-fallback-output-classifier.js +27 -0
- package/sdk/dist/query/query-fallback-output-classifier.js.map +1 -0
- package/sdk/dist/query/query-fallback-policy.d.ts +6 -0
- package/sdk/dist/query/query-fallback-policy.d.ts.map +1 -0
- package/sdk/dist/query/query-fallback-policy.js +7 -0
- package/sdk/dist/query/query-fallback-policy.js.map +1 -0
- package/sdk/dist/query/query-native-dispatch-adapter.d.ts +7 -0
- package/sdk/dist/query/query-native-dispatch-adapter.d.ts.map +1 -0
- package/sdk/dist/query/query-native-dispatch-adapter.js +6 -0
- package/sdk/dist/query/query-native-dispatch-adapter.js.map +1 -0
- package/sdk/dist/query/query-policy-capability.d.ts +10 -0
- package/sdk/dist/query/query-policy-capability.d.ts.map +1 -0
- package/sdk/dist/query/query-policy-capability.js +17 -0
- package/sdk/dist/query/query-policy-capability.js.map +1 -0
- package/sdk/dist/query/query-runtime-context.d.ts +19 -0
- package/sdk/dist/query/query-runtime-context.d.ts.map +1 -0
- package/sdk/dist/query/query-runtime-context.js +31 -0
- package/sdk/dist/query/query-runtime-context.js.map +1 -0
- package/sdk/dist/query/query-unknown-command-hints.d.ts +2 -0
- package/sdk/dist/query/query-unknown-command-hints.d.ts.map +1 -0
- package/sdk/dist/query/query-unknown-command-hints.js +6 -0
- package/sdk/dist/query/query-unknown-command-hints.js.map +1 -0
- package/sdk/dist/query/registry-assembly-descriptor.d.ts +12 -0
- package/sdk/dist/query/registry-assembly-descriptor.d.ts.map +1 -0
- package/sdk/dist/query/registry-assembly-descriptor.js +61 -0
- package/sdk/dist/query/registry-assembly-descriptor.js.map +1 -0
- package/sdk/dist/query/registry-assembly-invariants.d.ts +30 -0
- package/sdk/dist/query/registry-assembly-invariants.d.ts.map +1 -0
- package/sdk/dist/query/registry-assembly-invariants.js +77 -0
- package/sdk/dist/query/registry-assembly-invariants.js.map +1 -0
- package/sdk/dist/query/registry-assembly.d.ts +10 -0
- package/sdk/dist/query/registry-assembly.d.ts.map +1 -0
- package/sdk/dist/query/registry-assembly.js +53 -0
- package/sdk/dist/query/registry-assembly.js.map +1 -0
- package/sdk/dist/query/registry.d.ts +90 -0
- package/sdk/dist/query/registry.d.ts.map +1 -0
- package/sdk/dist/query/registry.js +129 -0
- package/sdk/dist/query/registry.js.map +1 -0
- package/sdk/dist/query/requirements-extract-from-plans.d.ts +9 -0
- package/sdk/dist/query/requirements-extract-from-plans.d.ts.map +1 -0
- package/sdk/dist/query/requirements-extract-from-plans.js +76 -0
- package/sdk/dist/query/requirements-extract-from-plans.js.map +1 -0
- package/sdk/dist/query/roadmap-update-plan-progress.d.ts +11 -0
- package/sdk/dist/query/roadmap-update-plan-progress.d.ts.map +1 -0
- package/sdk/dist/query/roadmap-update-plan-progress.js +124 -0
- package/sdk/dist/query/roadmap-update-plan-progress.js.map +1 -0
- package/sdk/dist/query/roadmap.d.ts +137 -0
- package/sdk/dist/query/roadmap.d.ts.map +1 -0
- package/sdk/dist/query/roadmap.js +753 -0
- package/sdk/dist/query/roadmap.js.map +1 -0
- package/sdk/dist/query/route-next-action.d.ts +9 -0
- package/sdk/dist/query/route-next-action.d.ts.map +1 -0
- package/sdk/dist/query/route-next-action.js +318 -0
- package/sdk/dist/query/route-next-action.js.map +1 -0
- package/sdk/dist/query/schema-detect.d.ts +21 -0
- package/sdk/dist/query/schema-detect.d.ts.map +1 -0
- package/sdk/dist/query/schema-detect.js +146 -0
- package/sdk/dist/query/schema-detect.js.map +1 -0
- package/sdk/dist/query/secrets.d.ts +27 -0
- package/sdk/dist/query/secrets.d.ts.map +1 -0
- package/sdk/dist/query/secrets.js +42 -0
- package/sdk/dist/query/secrets.js.map +1 -0
- package/sdk/dist/query/skill-manifest.d.ts +50 -0
- package/sdk/dist/query/skill-manifest.d.ts.map +1 -0
- package/sdk/dist/query/skill-manifest.js +171 -0
- package/sdk/dist/query/skill-manifest.js.map +1 -0
- package/sdk/dist/query/skills.d.ts +27 -0
- package/sdk/dist/query/skills.d.ts.map +1 -0
- package/sdk/dist/query/skills.js +137 -0
- package/sdk/dist/query/skills.js.map +1 -0
- package/sdk/dist/query/state-document.d.ts +14 -0
- package/sdk/dist/query/state-document.d.ts.map +1 -0
- package/sdk/dist/query/state-document.js +110 -0
- package/sdk/dist/query/state-document.js.map +1 -0
- package/sdk/dist/query/state-mutation.d.ts +224 -0
- package/sdk/dist/query/state-mutation.d.ts.map +1 -0
- package/sdk/dist/query/state-mutation.js +1539 -0
- package/sdk/dist/query/state-mutation.js.map +1 -0
- package/sdk/dist/query/state-project-load.d.ts +23 -0
- package/sdk/dist/query/state-project-load.d.ts.map +1 -0
- package/sdk/dist/query/state-project-load.js +75 -0
- package/sdk/dist/query/state-project-load.js.map +1 -0
- package/sdk/dist/query/state.d.ts +78 -0
- package/sdk/dist/query/state.d.ts.map +1 -0
- package/sdk/dist/query/state.js +430 -0
- package/sdk/dist/query/state.js.map +1 -0
- package/sdk/dist/query/summary.d.ts +18 -0
- package/sdk/dist/query/summary.d.ts.map +1 -0
- package/sdk/dist/query/summary.js +249 -0
- package/sdk/dist/query/summary.js.map +1 -0
- package/sdk/dist/query/template.d.ts +46 -0
- package/sdk/dist/query/template.d.ts.map +1 -0
- package/sdk/dist/query/template.js +210 -0
- package/sdk/dist/query/template.js.map +1 -0
- package/sdk/dist/query/uat.d.ts +34 -0
- package/sdk/dist/query/uat.d.ts.map +1 -0
- package/sdk/dist/query/uat.js +339 -0
- package/sdk/dist/query/uat.js.map +1 -0
- package/sdk/dist/query/utils.d.ts +59 -0
- package/sdk/dist/query/utils.d.ts.map +1 -0
- package/sdk/dist/query/utils.js +74 -0
- package/sdk/dist/query/utils.js.map +1 -0
- package/sdk/dist/query/validate.d.ts +67 -0
- package/sdk/dist/query/validate.d.ts.map +1 -0
- package/sdk/dist/query/validate.js +908 -0
- package/sdk/dist/query/validate.js.map +1 -0
- package/sdk/dist/query/verify.d.ts +110 -0
- package/sdk/dist/query/verify.d.ts.map +1 -0
- package/sdk/dist/query/verify.js +631 -0
- package/sdk/dist/query/verify.js.map +1 -0
- package/sdk/dist/query/websearch.d.ts +24 -0
- package/sdk/dist/query/websearch.d.ts.map +1 -0
- package/sdk/dist/query/websearch.js +68 -0
- package/sdk/dist/query/websearch.js.map +1 -0
- package/sdk/dist/query/workspace.d.ts +62 -0
- package/sdk/dist/query/workspace.d.ts.map +1 -0
- package/sdk/dist/query/workspace.js +104 -0
- package/sdk/dist/query/workspace.js.map +1 -0
- package/sdk/dist/query/workstream-inventory.d.ts +52 -0
- package/sdk/dist/query/workstream-inventory.d.ts.map +1 -0
- package/sdk/dist/query/workstream-inventory.js +141 -0
- package/sdk/dist/query/workstream-inventory.js.map +1 -0
- package/sdk/dist/query/workstream.d.ts +35 -0
- package/sdk/dist/query/workstream.d.ts.map +1 -0
- package/sdk/dist/query/workstream.js +298 -0
- package/sdk/dist/query/workstream.js.map +1 -0
- package/sdk/dist/query/worktree.d.ts +3 -0
- package/sdk/dist/query/worktree.d.ts.map +1 -0
- package/sdk/dist/query/worktree.js +36 -0
- package/sdk/dist/query/worktree.js.map +1 -0
- package/sdk/dist/query-command-executor.d.ts +22 -0
- package/sdk/dist/query-command-executor.d.ts.map +1 -0
- package/sdk/dist/query-command-executor.js +22 -0
- package/sdk/dist/query-command-executor.js.map +1 -0
- package/sdk/dist/query-execution-policy.d.ts +24 -0
- package/sdk/dist/query-execution-policy.d.ts.map +1 -0
- package/sdk/dist/query-execution-policy.js +27 -0
- package/sdk/dist/query-execution-policy.js.map +1 -0
- package/sdk/dist/query-failure-classification.d.ts +9 -0
- package/sdk/dist/query-failure-classification.d.ts.map +1 -0
- package/sdk/dist/query-failure-classification.js +32 -0
- package/sdk/dist/query-failure-classification.js.map +1 -0
- package/sdk/dist/query-hotpath-methods.d.ts +19 -0
- package/sdk/dist/query-hotpath-methods.d.ts.map +1 -0
- package/sdk/dist/query-hotpath-methods.js +34 -0
- package/sdk/dist/query-hotpath-methods.js.map +1 -0
- package/sdk/dist/query-native-direct-adapter.d.ts +20 -0
- package/sdk/dist/query-native-direct-adapter.d.ts.map +1 -0
- package/sdk/dist/query-native-direct-adapter.js +52 -0
- package/sdk/dist/query-native-direct-adapter.js.map +1 -0
- package/sdk/dist/query-native-hotpath-adapter.d.ts +15 -0
- package/sdk/dist/query-native-hotpath-adapter.d.ts.map +1 -0
- package/sdk/dist/query-native-hotpath-adapter.js +32 -0
- package/sdk/dist/query-native-hotpath-adapter.js.map +1 -0
- package/sdk/dist/query-raw-output-projection.d.ts +6 -0
- package/sdk/dist/query-raw-output-projection.d.ts.map +1 -0
- package/sdk/dist/query-raw-output-projection.js +67 -0
- package/sdk/dist/query-raw-output-projection.js.map +1 -0
- package/sdk/dist/query-runtime-bridge.d.ts +61 -0
- package/sdk/dist/query-runtime-bridge.d.ts.map +1 -0
- package/sdk/dist/query-runtime-bridge.js +144 -0
- package/sdk/dist/query-runtime-bridge.js.map +1 -0
- package/sdk/dist/query-sdd-tools-path.d.ts +2 -0
- package/sdk/dist/query-sdd-tools-path.d.ts.map +1 -0
- package/sdk/dist/query-sdd-tools-path.js +2 -0
- package/sdk/dist/query-sdd-tools-path.js.map +1 -0
- package/sdk/dist/query-sdd-tools-runtime.d.ts +20 -0
- package/sdk/dist/query-sdd-tools-runtime.d.ts.map +1 -0
- package/sdk/dist/query-sdd-tools-runtime.js +47 -0
- package/sdk/dist/query-sdd-tools-runtime.js.map +1 -0
- package/sdk/dist/query-subprocess-adapter.d.ts +18 -0
- package/sdk/dist/query-subprocess-adapter.d.ts.map +1 -0
- package/sdk/dist/query-subprocess-adapter.js +92 -0
- package/sdk/dist/query-subprocess-adapter.js.map +1 -0
- package/sdk/dist/query-tools-error-factory.d.ts +16 -0
- package/sdk/dist/query-tools-error-factory.d.ts.map +1 -0
- package/sdk/dist/query-tools-error-factory.js +33 -0
- package/sdk/dist/query-tools-error-factory.js.map +1 -0
- package/sdk/dist/research-gate.d.ts +24 -0
- package/sdk/dist/research-gate.d.ts.map +1 -0
- package/sdk/dist/research-gate.js +70 -0
- package/sdk/dist/research-gate.js.map +1 -0
- package/sdk/dist/runtime-gate.d.ts +14 -0
- package/sdk/dist/runtime-gate.d.ts.map +1 -0
- package/sdk/dist/runtime-gate.js +48 -0
- package/sdk/dist/runtime-gate.js.map +1 -0
- package/sdk/dist/sdd-tools-error.d.ts +23 -0
- package/sdk/dist/sdd-tools-error.d.ts.map +1 -0
- package/sdk/dist/sdd-tools-error.js +29 -0
- package/sdk/dist/sdd-tools-error.js.map +1 -0
- package/sdk/dist/sdd-tools.d.ts +97 -0
- package/sdk/dist/sdd-tools.d.ts.map +1 -0
- package/sdk/dist/sdd-tools.js +168 -0
- package/sdk/dist/sdd-tools.js.map +1 -0
- package/sdk/dist/sdd-transport-policy.d.ts +10 -0
- package/sdk/dist/sdd-transport-policy.d.ts.map +1 -0
- package/sdk/dist/sdd-transport-policy.js +32 -0
- package/sdk/dist/sdd-transport-policy.js.map +1 -0
- package/sdk/dist/sdd-transport.d.ts +39 -0
- package/sdk/dist/sdd-transport.d.ts.map +1 -0
- package/sdk/dist/sdd-transport.js +78 -0
- package/sdk/dist/sdd-transport.js.map +1 -0
- package/sdk/dist/sdk-package-compatibility.d.ts +38 -0
- package/sdk/dist/sdk-package-compatibility.d.ts.map +1 -0
- package/sdk/dist/sdk-package-compatibility.js +90 -0
- package/sdk/dist/sdk-package-compatibility.js.map +1 -0
- package/sdk/dist/session-runner.d.ts +40 -0
- package/sdk/dist/session-runner.d.ts.map +1 -0
- package/sdk/dist/session-runner.js +274 -0
- package/sdk/dist/session-runner.js.map +1 -0
- package/sdk/dist/tool-scoping.d.ts +31 -0
- package/sdk/dist/tool-scoping.d.ts.map +1 -0
- package/sdk/dist/tool-scoping.js +54 -0
- package/sdk/dist/tool-scoping.js.map +1 -0
- package/sdk/dist/types.d.ts +794 -0
- package/sdk/dist/types.d.ts.map +1 -0
- package/sdk/dist/types.js +77 -0
- package/sdk/dist/types.js.map +1 -0
- package/sdk/dist/workstream-name-policy.d.ts +13 -0
- package/sdk/dist/workstream-name-policy.d.ts.map +1 -0
- package/sdk/dist/workstream-name-policy.js +24 -0
- package/sdk/dist/workstream-name-policy.js.map +1 -0
- package/sdk/dist/workstream-utils.d.ts +15 -0
- package/sdk/dist/workstream-utils.d.ts.map +1 -0
- package/sdk/dist/workstream-utils.js +21 -0
- package/sdk/dist/workstream-utils.js.map +1 -0
- package/sdk/dist/ws-transport.d.ts +32 -0
- package/sdk/dist/ws-transport.d.ts.map +1 -0
- package/sdk/dist/ws-transport.js +84 -0
- package/sdk/dist/ws-transport.js.map +1 -0
- package/sdk/package-lock.json +2502 -0
- package/sdk/package.json +57 -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/shared/model-catalog.json +122 -0
- package/sdk/src/assembled-prompts.test.ts +349 -0
- package/sdk/src/bug-3591-sddtools-runtime-workstream.test.ts +179 -0
- package/sdk/src/cli-transport.test.ts +388 -0
- package/sdk/src/cli-transport.ts +130 -0
- package/sdk/src/cli.test.ts +426 -0
- package/sdk/src/cli.ts +589 -0
- package/sdk/src/config.test.ts +271 -0
- package/sdk/src/config.ts +218 -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 +181 -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/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 +17 -0
- package/sdk/src/golden/golden-policy.test.ts +8 -0
- package/sdk/src/golden/golden-policy.ts +120 -0
- package/sdk/src/golden/golden.integration.test.ts +677 -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 +133 -0
- package/sdk/src/golden/registry-canonical-commands.ts +31 -0
- package/sdk/src/index.ts +352 -0
- package/sdk/src/init-e2e.integration.test.ts +138 -0
- package/sdk/src/init-runner.test.ts +740 -0
- package/sdk/src/init-runner.ts +734 -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/model-catalog.ts +70 -0
- package/sdk/src/phase-prompt.test.ts +535 -0
- package/sdk/src/phase-prompt.ts +259 -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 +2720 -0
- package/sdk/src/phase-runner.ts +1442 -0
- package/sdk/src/plan-parser.test.ts +579 -0
- package/sdk/src/plan-parser.ts +431 -0
- package/sdk/src/planning-journal.test.ts +70 -0
- package/sdk/src/planning-journal.ts +153 -0
- package/sdk/src/planning-runtime.test.ts +29 -0
- package/sdk/src/planning-runtime.ts +100 -0
- package/sdk/src/prompt-builder.test.ts +318 -0
- package/sdk/src/prompt-builder.ts +218 -0
- package/sdk/src/prompt-sanitizer.test.ts +260 -0
- package/sdk/src/prompt-sanitizer.ts +116 -0
- package/sdk/src/query/QUERY-HANDLERS.md +349 -0
- package/sdk/src/query/active-workstream-store.ts +50 -0
- package/sdk/src/query/agent-failure-classifier.test.ts +157 -0
- package/sdk/src/query/agent-failure-classifier.ts +105 -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 +49 -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-decision-coverage.test.ts +519 -0
- package/sdk/src/query/check-decision-coverage.ts +554 -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 +111 -0
- package/sdk/src/query/check-ship-ready.ts +104 -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/command-aliases.generated.ts +156 -0
- package/sdk/src/query/command-catalog.ts +31 -0
- package/sdk/src/query/command-definition.test.ts +47 -0
- package/sdk/src/query/command-definition.ts +70 -0
- package/sdk/src/query/command-family-handlers.ts +117 -0
- package/sdk/src/query/command-manifest.init.ts +24 -0
- package/sdk/src/query/command-manifest.non-family.ts +85 -0
- package/sdk/src/query/command-manifest.phase.ts +16 -0
- package/sdk/src/query/command-manifest.phases.ts +11 -0
- package/sdk/src/query/command-manifest.roadmap.ts +11 -0
- package/sdk/src/query/command-manifest.state.ts +31 -0
- package/sdk/src/query/command-manifest.ts +17 -0
- package/sdk/src/query/command-manifest.types.ts +13 -0
- package/sdk/src/query/command-manifest.validate.ts +11 -0
- package/sdk/src/query/command-manifest.verify.ts +15 -0
- package/sdk/src/query/command-resolution.test.ts +70 -0
- package/sdk/src/query/command-seam-coverage.test.ts +118 -0
- package/sdk/src/query/command-static-catalog-domain.ts +117 -0
- package/sdk/src/query/command-static-catalog-foundation.ts +103 -0
- package/sdk/src/query/command-topology.test.ts +28 -0
- package/sdk/src/query/command-topology.ts +114 -0
- package/sdk/src/query/commands-list.test.ts +36 -0
- package/sdk/src/query/commands-list.ts +19 -0
- package/sdk/src/query/commit.test.ts +485 -0
- package/sdk/src/query/commit.ts +383 -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 +598 -0
- package/sdk/src/query/config-mutation.ts +575 -0
- package/sdk/src/query/config-query.test.ts +367 -0
- package/sdk/src/query/config-query.ts +244 -0
- package/sdk/src/query/config-schema.ts +159 -0
- package/sdk/src/query/decisions.test.ts +215 -0
- package/sdk/src/query/decisions.ts +192 -0
- package/sdk/src/query/decomposed-handlers.test.ts +431 -0
- package/sdk/src/query/detect-custom-files.test.ts +115 -0
- package/sdk/src/query/detect-custom-files.ts +96 -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 +258 -0
- package/sdk/src/query/fallow-audit.ts +88 -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 +326 -0
- package/sdk/src/query/frontmatter.ts +395 -0
- package/sdk/src/query/helpers.test.ts +615 -0
- package/sdk/src/query/helpers.ts +646 -0
- package/sdk/src/query/index-thin-seam.test.ts +16 -0
- package/sdk/src/query/index.ts +9 -0
- package/sdk/src/query/init-complex.test.ts +616 -0
- package/sdk/src/query/init-complex.ts +799 -0
- package/sdk/src/query/init-progress-precedence.test.ts +177 -0
- package/sdk/src/query/init-workstream-milestone-op.test.ts +321 -0
- package/sdk/src/query/init.test.ts +792 -0
- package/sdk/src/query/init.ts +1262 -0
- package/sdk/src/query/intel.test.ts +90 -0
- package/sdk/src/query/intel.ts +404 -0
- package/sdk/src/query/mutation-event-decorator.test.ts +45 -0
- package/sdk/src/query/mutation-event-decorator.ts +37 -0
- package/sdk/src/query/mutation-event-mapper.test.ts +33 -0
- package/sdk/src/query/mutation-event-mapper.ts +102 -0
- package/sdk/src/query/mvp.test.ts +335 -0
- package/sdk/src/query/mvp.ts +292 -0
- package/sdk/src/query/normalize-query-command.test.ts +102 -0
- package/sdk/src/query/phase-filesystem-adapter.ts +35 -0
- package/sdk/src/query/phase-lifecycle-policy.ts +171 -0
- package/sdk/src/query/phase-lifecycle.test.ts +1750 -0
- package/sdk/src/query/phase-lifecycle.ts +1833 -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 +159 -0
- package/sdk/src/query/phase-roadmap-mutation.ts +77 -0
- package/sdk/src/query/phase.test.ts +651 -0
- package/sdk/src/query/phase.ts +550 -0
- package/sdk/src/query/pipeline.test.ts +169 -0
- package/sdk/src/query/pipeline.ts +243 -0
- package/sdk/src/query/plan-scan.test.ts +35 -0
- package/sdk/src/query/plan-scan.ts +82 -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/policy-convergence.test.ts +28 -0
- package/sdk/src/query/profile-extract-messages.ts +247 -0
- package/sdk/src/query/profile-output.ts +929 -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 +136 -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/query-cli-adapter.test.ts +79 -0
- package/sdk/src/query/query-cli-adapter.ts +39 -0
- package/sdk/src/query/query-cli-output.test.ts +33 -0
- package/sdk/src/query/query-cli-output.ts +35 -0
- package/sdk/src/query/query-command-diagnosis.test.ts +22 -0
- package/sdk/src/query/query-command-diagnosis.ts +5 -0
- package/sdk/src/query/query-command-resolution-strategy.test.ts +34 -0
- package/sdk/src/query/query-command-resolution-strategy.ts +121 -0
- package/sdk/src/query/query-command-semantics.test.ts +22 -0
- package/sdk/src/query/query-command-semantics.ts +22 -0
- package/sdk/src/query/query-dispatch-contract.ts +30 -0
- package/sdk/src/query/query-dispatch-error-mapper.test.ts +62 -0
- package/sdk/src/query/query-dispatch-error-mapper.ts +5 -0
- package/sdk/src/query/query-dispatch-formatting.test.ts +28 -0
- package/sdk/src/query/query-dispatch-formatting.ts +5 -0
- package/sdk/src/query/query-dispatch-input-validation.test.ts +23 -0
- package/sdk/src/query/query-dispatch-input-validation.ts +5 -0
- package/sdk/src/query/query-dispatch-observability.test.ts +10 -0
- package/sdk/src/query/query-dispatch-observability.ts +6 -0
- package/sdk/src/query/query-dispatch-plan.test.ts +25 -0
- package/sdk/src/query/query-dispatch-plan.ts +5 -0
- package/sdk/src/query/query-dispatch-result-builder.test.ts +16 -0
- package/sdk/src/query/query-dispatch-result-builder.ts +5 -0
- package/sdk/src/query/query-dispatch.test.ts +399 -0
- package/sdk/src/query/query-dispatch.ts +243 -0
- package/sdk/src/query/query-error-details-schema.ts +29 -0
- package/sdk/src/query/query-error-taxonomy.test.ts +39 -0
- package/sdk/src/query/query-error-taxonomy.ts +117 -0
- package/sdk/src/query/query-fallback-bridge-adapter.test.ts +32 -0
- package/sdk/src/query/query-fallback-bridge-adapter.ts +54 -0
- package/sdk/src/query/query-fallback-executor.test.ts +82 -0
- package/sdk/src/query/query-fallback-executor.ts +44 -0
- package/sdk/src/query/query-fallback-output-classifier.test.ts +36 -0
- package/sdk/src/query/query-fallback-output-classifier.ts +31 -0
- package/sdk/src/query/query-fallback-policy.test.ts +13 -0
- package/sdk/src/query/query-fallback-policy.ts +11 -0
- package/sdk/src/query/query-native-dispatch-adapter.ts +16 -0
- package/sdk/src/query/query-policy-capability.test.ts +10 -0
- package/sdk/src/query/query-policy-capability.ts +26 -0
- package/sdk/src/query/query-policy-snapshot.test.ts +9 -0
- package/sdk/src/query/query-registry-capability.test.ts +14 -0
- package/sdk/src/query/query-runtime-context.ts +44 -0
- package/sdk/src/query/query-unknown-command-hints.test.ts +9 -0
- package/sdk/src/query/query-unknown-command-hints.ts +5 -0
- package/sdk/src/query/registry-assembly-descriptor.ts +87 -0
- package/sdk/src/query/registry-assembly-invariants.ts +127 -0
- package/sdk/src/query/registry-assembly.test.ts +138 -0
- package/sdk/src/query/registry-assembly.ts +78 -0
- package/sdk/src/query/registry.test.ts +208 -0
- package/sdk/src/query/registry.ts +142 -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.test.ts +233 -0
- package/sdk/src/query/roadmap-update-plan-progress.ts +159 -0
- package/sdk/src/query/roadmap.test.ts +1181 -0
- package/sdk/src/query/roadmap.ts +894 -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/schema-detect.ts +189 -0
- package/sdk/src/query/secrets.test.ts +66 -0
- package/sdk/src/query/secrets.ts +43 -0
- package/sdk/src/query/skill-manifest.test.ts +62 -0
- package/sdk/src/query/skill-manifest.ts +216 -0
- package/sdk/src/query/skills.test.ts +234 -0
- package/sdk/src/query/skills.ts +143 -0
- package/sdk/src/query/state-document.test.ts +197 -0
- package/sdk/src/query/state-document.ts +129 -0
- package/sdk/src/query/state-mutation.test.ts +1198 -0
- package/sdk/src/query/state-mutation.ts +1718 -0
- package/sdk/src/query/state-project-load.ts +80 -0
- package/sdk/src/query/state.test.ts +616 -0
- package/sdk/src/query/state.ts +463 -0
- package/sdk/src/query/sub-repos-root.integration.test.ts +79 -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 +365 -0
- package/sdk/src/query/utils.test.ts +82 -0
- package/sdk/src/query/utils.ts +106 -0
- package/sdk/src/query/validate.test.ts +831 -0
- package/sdk/src/query/validate.ts +952 -0
- package/sdk/src/query/verify.test.ts +414 -0
- package/sdk/src/query/verify.ts +692 -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 +120 -0
- package/sdk/src/query/workspace.ts +145 -0
- package/sdk/src/query/workstream-inventory.ts +195 -0
- package/sdk/src/query/workstream.test.ts +153 -0
- package/sdk/src/query/workstream.ts +324 -0
- package/sdk/src/query/worktree.ts +39 -0
- package/sdk/src/query-command-executor.ts +31 -0
- package/sdk/src/query-execution-policy.test.ts +52 -0
- package/sdk/src/query-execution-policy.ts +46 -0
- package/sdk/src/query-failure-classification.test.ts +23 -0
- package/sdk/src/query-failure-classification.ts +42 -0
- package/sdk/src/query-hotpath-methods.ts +48 -0
- package/sdk/src/query-native-direct-adapter.test.ts +35 -0
- package/sdk/src/query-native-direct-adapter.ts +70 -0
- package/sdk/src/query-native-hotpath-adapter.test.ts +43 -0
- package/sdk/src/query-native-hotpath-adapter.ts +45 -0
- package/sdk/src/query-raw-output-projection.test.ts +39 -0
- package/sdk/src/query-raw-output-projection.ts +74 -0
- package/sdk/src/query-runtime-bridge.test.ts +150 -0
- package/sdk/src/query-runtime-bridge.ts +215 -0
- package/sdk/src/query-runtime-seam-coverage.test.ts +20 -0
- package/sdk/src/query-sdd-tools-path.ts +1 -0
- package/sdk/src/query-sdd-tools-runtime.ts +89 -0
- package/sdk/src/query-subprocess-adapter.test.ts +84 -0
- package/sdk/src/query-subprocess-adapter.ts +146 -0
- package/sdk/src/query-tools-error-factory.test.ts +35 -0
- package/sdk/src/query-tools-error-factory.ts +76 -0
- package/sdk/src/research-gate.test.ts +190 -0
- package/sdk/src/research-gate.ts +94 -0
- package/sdk/src/runtime-bridge-options.test.ts +33 -0
- package/sdk/src/runtime-gate.test.ts +84 -0
- package/sdk/src/runtime-gate.ts +52 -0
- package/sdk/src/sdd-tools-error.test.ts +21 -0
- package/sdk/src/sdd-tools-error.ts +65 -0
- package/sdk/src/sdd-tools.test.ts +472 -0
- package/sdk/src/sdd-tools.ts +237 -0
- package/sdk/src/sdd-transport-policy.test.ts +34 -0
- package/sdk/src/sdd-transport-policy.ts +48 -0
- package/sdk/src/sdd-transport.test.ts +292 -0
- package/sdk/src/sdd-transport.ts +117 -0
- package/sdk/src/sdk-package-compatibility.test.ts +97 -0
- package/sdk/src/sdk-package-compatibility.ts +141 -0
- package/sdk/src/session-runner.test.ts +164 -0
- package/sdk/src/session-runner.ts +327 -0
- package/sdk/src/tool-scoping.test.ts +160 -0
- package/sdk/src/tool-scoping.ts +61 -0
- package/sdk/src/types.ts +927 -0
- package/sdk/src/workflow-agent-skills-consistency.test.ts +98 -0
- package/sdk/src/workstream-name-policy.ts +24 -0
- package/sdk/src/workstream-utils.ts +21 -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
- package/commands/sdd/add-backlog.md +0 -76
- package/commands/sdd/add-phase.md +0 -43
- package/commands/sdd/add-todo.md +0 -47
- package/commands/sdd/check-todos.md +0 -45
- package/commands/sdd/do.md +0 -30
- package/commands/sdd/insert-phase.md +0 -32
- package/commands/sdd/join-discord.md +0 -18
- package/commands/sdd/list-phase-assumptions.md +0 -46
- package/commands/sdd/list-workspaces.md +0 -19
- package/commands/sdd/new-workspace.md +0 -44
- package/commands/sdd/next.md +0 -24
- package/commands/sdd/note.md +0 -34
- package/commands/sdd/plan-milestone-gaps.md +0 -34
- package/commands/sdd/plant-seed.md +0 -28
- package/commands/sdd/reapply-patches.md +0 -123
- package/commands/sdd/remove-phase.md +0 -31
- package/commands/sdd/remove-workspace.md +0 -26
- package/commands/sdd/research-phase.md +0 -195
- package/commands/sdd/session-report.md +0 -19
- package/commands/sdd/set-profile.md +0 -12
- package/scripts/sync-upstream.sh +0 -56
- package/sdd/commands/sdd/workstreams.md +0 -63
- package/sdd/workflows/research-phase.md +0 -82
package/sdd/workflows/quick.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
<purpose>
|
|
2
2
|
Execute small, ad-hoc tasks with SDD guarantees (atomic commits, STATE.md tracking). Quick mode spawns sdd-planner (quick mode) + sdd-executor(s), tracks tasks in `.planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
|
|
3
3
|
|
|
4
|
-
With `--
|
|
4
|
+
With `--full` flag: enables the complete quality pipeline — discussion + research + plan-checking + verification. One flag for everything.
|
|
5
|
+
|
|
6
|
+
With `--validate` flag: enables plan-checking (max 2 iterations) and post-execution verification only. Use when you want quality guarantees without discussion or research.
|
|
5
7
|
|
|
6
|
-
With `--
|
|
8
|
+
With `--discuss` flag: lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md so the planner treats them as locked.
|
|
7
9
|
|
|
8
10
|
With `--research` flag: spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls. Use when you're unsure how to approach a task.
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
Granular flags are composable: `--discuss --research --validate` gives the same result as `--full`.
|
|
11
13
|
</purpose>
|
|
12
14
|
|
|
13
15
|
<required_reading>
|
|
@@ -21,19 +23,26 @@ Valid SDD subagent types (use exact names — do not fall back to 'general-purpo
|
|
|
21
23
|
- sdd-plan-checker — Reviews plan quality before execution
|
|
22
24
|
- sdd-executor — Executes plan tasks, commits, creates SUMMARY.md
|
|
23
25
|
- sdd-verifier — Verifies phase completion, checks quality gates
|
|
26
|
+
- sdd-code-reviewer — Reviews source files for bugs, security issues, and code quality
|
|
24
27
|
</available_agent_types>
|
|
25
28
|
|
|
26
29
|
<process>
|
|
27
30
|
**Step 1: Parse arguments and get task description**
|
|
28
31
|
|
|
29
32
|
Parse `$ARGUMENTS` for:
|
|
30
|
-
- `--full` flag → store
|
|
31
|
-
- `--
|
|
32
|
-
- `--
|
|
33
|
+
- `--full` flag → store `$FULL_MODE=true`, `$DISCUSS_MODE=true`, `$RESEARCH_MODE=true`, `$VALIDATE_MODE=true`
|
|
34
|
+
- `--validate` flag → store `$VALIDATE_MODE=true`
|
|
35
|
+
- `--discuss` flag → store `$DISCUSS_MODE=true`
|
|
36
|
+
- `--research` flag → store `$RESEARCH_MODE=true`
|
|
33
37
|
- Remaining text → use as `$DESCRIPTION` if non-empty
|
|
34
38
|
|
|
39
|
+
After parsing, normalize: if `$DISCUSS_MODE` and `$RESEARCH_MODE` and `$VALIDATE_MODE` are all true, set `$FULL_MODE=true`. This ensures `--discuss --research --validate` is treated identically to `--full`.
|
|
40
|
+
|
|
35
41
|
If `$DESCRIPTION` is empty after parsing, prompt user interactively:
|
|
36
42
|
|
|
43
|
+
|
|
44
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-Claude runtimes (OpenAI Codex, Gemini CLI, etc.) where `AskUserQuestion` is not available.
|
|
45
|
+
|
|
37
46
|
```
|
|
38
47
|
AskUserQuestion(
|
|
39
48
|
header: "Quick Task",
|
|
@@ -48,25 +57,25 @@ If still empty, re-prompt: "Please provide a task description."
|
|
|
48
57
|
|
|
49
58
|
Display banner based on active flags:
|
|
50
59
|
|
|
51
|
-
If `$
|
|
60
|
+
If `$FULL_MODE` (all phases enabled — `--full` or all granular flags):
|
|
52
61
|
```
|
|
53
62
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
-
SDD ► QUICK TASK (
|
|
63
|
+
SDD ► QUICK TASK (FULL)
|
|
55
64
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
56
65
|
|
|
57
66
|
◆ Discussion + research + plan checking + verification enabled
|
|
58
67
|
```
|
|
59
68
|
|
|
60
|
-
If `$DISCUSS_MODE` and `$
|
|
69
|
+
If `$DISCUSS_MODE` and `$VALIDATE_MODE` (no research):
|
|
61
70
|
```
|
|
62
71
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
63
|
-
SDD ► QUICK TASK (DISCUSS +
|
|
72
|
+
SDD ► QUICK TASK (DISCUSS + VALIDATE)
|
|
64
73
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
65
74
|
|
|
66
75
|
◆ Discussion + plan checking + verification enabled
|
|
67
76
|
```
|
|
68
77
|
|
|
69
|
-
If `$DISCUSS_MODE` and `$RESEARCH_MODE` (no
|
|
78
|
+
If `$DISCUSS_MODE` and `$RESEARCH_MODE` (no validate):
|
|
70
79
|
```
|
|
71
80
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
72
81
|
SDD ► QUICK TASK (DISCUSS + RESEARCH)
|
|
@@ -75,10 +84,10 @@ If `$DISCUSS_MODE` and `$RESEARCH_MODE` (no full):
|
|
|
75
84
|
◆ Discussion + research enabled
|
|
76
85
|
```
|
|
77
86
|
|
|
78
|
-
If `$RESEARCH_MODE` and `$
|
|
87
|
+
If `$RESEARCH_MODE` and `$VALIDATE_MODE` (no discuss):
|
|
79
88
|
```
|
|
80
89
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
81
|
-
SDD ► QUICK TASK (RESEARCH +
|
|
90
|
+
SDD ► QUICK TASK (RESEARCH + VALIDATE)
|
|
82
91
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
83
92
|
|
|
84
93
|
◆ Research + plan checking + verification enabled
|
|
@@ -102,10 +111,10 @@ If `$RESEARCH_MODE` only:
|
|
|
102
111
|
◆ Research phase enabled — investigating approaches before planning
|
|
103
112
|
```
|
|
104
113
|
|
|
105
|
-
If `$
|
|
114
|
+
If `$VALIDATE_MODE` only:
|
|
106
115
|
```
|
|
107
116
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
-
SDD ► QUICK TASK (
|
|
117
|
+
SDD ► QUICK TASK (VALIDATE)
|
|
109
118
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
119
|
|
|
111
120
|
◆ Plan checking + verification enabled
|
|
@@ -116,16 +125,51 @@ If `$FULL_MODE` only:
|
|
|
116
125
|
**Step 2: Initialize**
|
|
117
126
|
|
|
118
127
|
```bash
|
|
119
|
-
|
|
128
|
+
if ! command -v sdd-sdk &>/dev/null; then
|
|
129
|
+
echo "⚠ sdd-sdk not found in PATH — /sdd:quick requires it."
|
|
130
|
+
echo ""
|
|
131
|
+
echo "Install the query-capable SDD SDK CLI:"
|
|
132
|
+
echo " npm install -g @bhargavvc/sdd-cc"
|
|
133
|
+
echo ""
|
|
134
|
+
echo "Or update SDD to get the latest packages:"
|
|
135
|
+
echo " /sdd:update"
|
|
136
|
+
exit 1
|
|
137
|
+
fi
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
INIT=$(sdd-sdk query init.quick "$DESCRIPTION")
|
|
120
142
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
121
|
-
AGENT_SKILLS_PLANNER=$(
|
|
122
|
-
AGENT_SKILLS_EXECUTOR=$(
|
|
123
|
-
AGENT_SKILLS_CHECKER=$(
|
|
124
|
-
AGENT_SKILLS_VERIFIER=$(
|
|
143
|
+
AGENT_SKILLS_PLANNER=$(sdd-sdk query agent-skills sdd-planner)
|
|
144
|
+
AGENT_SKILLS_EXECUTOR=$(sdd-sdk query agent-skills sdd-executor)
|
|
145
|
+
AGENT_SKILLS_CHECKER=$(sdd-sdk query agent-skills sdd-plan-checker)
|
|
146
|
+
AGENT_SKILLS_VERIFIER=$(sdd-sdk query agent-skills sdd-verifier)
|
|
125
147
|
```
|
|
126
148
|
|
|
127
149
|
Parse JSON for: `planner_model`, `executor_model`, `checker_model`, `verifier_model`, `commit_docs`, `branch_name`, `quick_id`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
|
|
128
150
|
|
|
151
|
+
```bash
|
|
152
|
+
USE_WORKTREES=$(sdd-sdk query config-get workflow.use_worktrees 2>/dev/null || echo "true")
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If the project uses git submodules, worktree isolation is unsafe **only when the quick task touches a submodule path**. The previous behavior unconditionally disabled worktree isolation whenever `.gitmodules` existed, which penalised every quick task in a submodule project even when the task was nowhere near a submodule. Parse submodule paths from `.gitmodules` so the executor can act on actual submodule paths rather than the mere file's existence:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Parse submodule paths from .gitmodules once (empty if no .gitmodules).
|
|
159
|
+
# SUBMODULE_PATHS is a newline-separated list of repo-relative paths used as
|
|
160
|
+
# a fail-loud commit-time guard inside the quick-task executor — if the
|
|
161
|
+
# executor stages any path that falls inside SUBMODULE_PATHS, it must abort
|
|
162
|
+
# the commit and surface the conflict rather than silently corrupting the
|
|
163
|
+
# submodule state.
|
|
164
|
+
if [ -f .gitmodules ]; then
|
|
165
|
+
SUBMODULE_PATHS=$(git config --file .gitmodules --get-regexp '^submodule\..*\.path$' 2>/dev/null | awk '{print $2}')
|
|
166
|
+
else
|
|
167
|
+
SUBMODULE_PATHS=""
|
|
168
|
+
fi
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Quick mode does not have a pre-declared `files_modified` list (the task is freeform), so use a fail-loud guard at commit time: when the executor stages files for the quick-task commit, if any staged path falls inside a `SUBMODULE_PATHS` entry, abort with a clear error explaining that worktree-isolated commits cannot safely span submodule boundaries — the user can re-run with `workflow.use_worktrees=false` to fall back to sequential execution on the main tree. If `SUBMODULE_PATHS` is empty (no `.gitmodules` in the repo), worktree isolation proceeds normally.
|
|
172
|
+
|
|
129
173
|
**If `roadmap_exists` is false:** Error — Quick mode requires an active project with ROADMAP.md. Run `/sdd:new-project` first.
|
|
130
174
|
|
|
131
175
|
Quick tasks can run mid-phase - validation only checks ROADMAP.md exists, not phase status.
|
|
@@ -136,10 +180,52 @@ Quick tasks can run mid-phase - validation only checks ROADMAP.md exists, not ph
|
|
|
136
180
|
|
|
137
181
|
**If `branch_name` is empty/null:** Skip and continue on the current branch.
|
|
138
182
|
|
|
139
|
-
**If `branch_name` is set:** Check out the quick-task branch before any planning commits
|
|
183
|
+
**If `branch_name` is set:** Check out the quick-task branch before any planning commits.
|
|
184
|
+
|
|
185
|
+
The new branch must fork off the project's default branch (`origin/HEAD`), not
|
|
186
|
+
off whatever HEAD happens to be checked out — otherwise consecutive quick tasks
|
|
187
|
+
compound on top of each other and stay unpushed (#2916). If `$branch_name`
|
|
188
|
+
already exists locally, reuse it as-is so resumed work is not rebased.
|
|
140
189
|
|
|
141
190
|
```bash
|
|
142
|
-
git
|
|
191
|
+
DEFAULT_BRANCH=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null | sed 's|^origin/||')
|
|
192
|
+
DEFAULT_BRANCH=${DEFAULT_BRANCH:-main}
|
|
193
|
+
|
|
194
|
+
if git show-ref --verify --quiet "refs/heads/$branch_name"; then
|
|
195
|
+
git switch "$branch_name" \
|
|
196
|
+
|| { echo "ERROR: Could not switch to existing quick-task branch '$branch_name'." >&2; exit 1; }
|
|
197
|
+
else
|
|
198
|
+
# Fetch the default branch so origin/$DEFAULT_BRANCH is current. If the fetch
|
|
199
|
+
# fails (offline, no remote, auth failure) AND we have no local copy of
|
|
200
|
+
# origin/$DEFAULT_BRANCH to fall back on, abort — creating the branch off
|
|
201
|
+
# arbitrary HEAD is exactly the bug #2916 fixed.
|
|
202
|
+
if ! git fetch --quiet origin "$DEFAULT_BRANCH"; then
|
|
203
|
+
if ! git show-ref --verify --quiet "refs/remotes/origin/$DEFAULT_BRANCH"; then
|
|
204
|
+
echo "ERROR: Could not fetch origin/$DEFAULT_BRANCH and no local copy exists. Refusing to create '$branch_name' off the current HEAD (#2916). Resolve the remote/network issue and retry." >&2
|
|
205
|
+
exit 1
|
|
206
|
+
fi
|
|
207
|
+
echo "WARNING: git fetch origin $DEFAULT_BRANCH failed; using the local copy of origin/$DEFAULT_BRANCH as base." >&2
|
|
208
|
+
fi
|
|
209
|
+
|
|
210
|
+
if [ -n "$(git status --porcelain)" ]; then
|
|
211
|
+
echo "WARNING: Uncommitted changes present. Carrying them onto the new quick-task branch — they will be branched off origin/$DEFAULT_BRANCH (not the previous-task HEAD)."
|
|
212
|
+
else
|
|
213
|
+
# Best-effort: fast-forward the local default branch so subsequent local
|
|
214
|
+
# work sees the latest tip. Failure here is non-fatal because we always
|
|
215
|
+
# create the new branch directly from origin/$DEFAULT_BRANCH below.
|
|
216
|
+
git switch --quiet "$DEFAULT_BRANCH" 2>/dev/null \
|
|
217
|
+
&& git merge --ff-only --quiet "origin/$DEFAULT_BRANCH" 2>/dev/null \
|
|
218
|
+
|| true
|
|
219
|
+
fi
|
|
220
|
+
|
|
221
|
+
# Pin the new branch to origin/$DEFAULT_BRANCH so the start point is
|
|
222
|
+
# deterministic regardless of which branch we are currently on (#2916).
|
|
223
|
+
# On success HEAD is exactly at origin/$DEFAULT_BRANCH, so a post-creation
|
|
224
|
+
# merge-base / "ahead-of" guard would be unreachable — the explicit base
|
|
225
|
+
# argument here is the single source of correctness for #2916.
|
|
226
|
+
git checkout -b "$branch_name" "origin/$DEFAULT_BRANCH" \
|
|
227
|
+
|| { echo "ERROR: Could not create '$branch_name' from origin/$DEFAULT_BRANCH (#2916)." >&2; exit 1; }
|
|
228
|
+
fi
|
|
143
229
|
```
|
|
144
230
|
|
|
145
231
|
All quick-task commits for this run stay on that branch. User handles merge/rebase afterward.
|
|
@@ -316,7 +402,7 @@ Display banner:
|
|
|
316
402
|
Spawn a single focused researcher (not 4 parallel researchers like full phases — quick tasks need targeted research, not broad domain surveys):
|
|
317
403
|
|
|
318
404
|
```
|
|
319
|
-
|
|
405
|
+
Agent(
|
|
320
406
|
prompt="
|
|
321
407
|
<research_context>
|
|
322
408
|
|
|
@@ -357,6 +443,8 @@ Return: ## RESEARCH COMPLETE with file path
|
|
|
357
443
|
)
|
|
358
444
|
```
|
|
359
445
|
|
|
446
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
447
|
+
|
|
360
448
|
After researcher returns:
|
|
361
449
|
1. Verify research exists at `${QUICK_DIR}/${quick_id}-RESEARCH.md`
|
|
362
450
|
2. Report: "Research complete: ${QUICK_DIR}/${quick_id}-RESEARCH.md"
|
|
@@ -367,16 +455,16 @@ If research file not found, warn but continue: "Research agent did not produce o
|
|
|
367
455
|
|
|
368
456
|
**Step 5: Spawn planner (quick mode)**
|
|
369
457
|
|
|
370
|
-
**If `$
|
|
458
|
+
**If `$VALIDATE_MODE`:** Use `quick-full` mode with stricter constraints.
|
|
371
459
|
|
|
372
|
-
**If NOT `$
|
|
460
|
+
**If NOT `$VALIDATE_MODE`:** Use standard `quick` mode.
|
|
373
461
|
|
|
374
462
|
```
|
|
375
|
-
|
|
463
|
+
Agent(
|
|
376
464
|
prompt="
|
|
377
465
|
<planning_context>
|
|
378
466
|
|
|
379
|
-
**Mode:** ${
|
|
467
|
+
**Mode:** ${VALIDATE_MODE ? 'quick-full' : 'quick'}
|
|
380
468
|
**Directory:** ${QUICK_DIR}
|
|
381
469
|
**Description:** ${DESCRIPTION}
|
|
382
470
|
|
|
@@ -397,9 +485,9 @@ ${AGENT_SKILLS_PLANNER}
|
|
|
397
485
|
- Create a SINGLE plan with 1-3 focused tasks
|
|
398
486
|
- Quick tasks should be atomic and self-contained
|
|
399
487
|
${RESEARCH_MODE ? '- Research findings are available — use them to inform library/pattern choices' : '- No research phase'}
|
|
400
|
-
${
|
|
401
|
-
${
|
|
402
|
-
${
|
|
488
|
+
${VALIDATE_MODE ? '- Target ~40% context usage (structured for verification)' : '- Target ~30% context usage (simple, focused)'}
|
|
489
|
+
${VALIDATE_MODE ? '- MUST generate `must_haves` in plan frontmatter (truths, artifacts, key_links)' : ''}
|
|
490
|
+
${VALIDATE_MODE ? '- Each task MUST have `files`, `action`, `verify`, `done` fields' : ''}
|
|
403
491
|
</constraints>
|
|
404
492
|
|
|
405
493
|
<output>
|
|
@@ -413,6 +501,8 @@ Return: ## PLANNING COMPLETE with plan path
|
|
|
413
501
|
)
|
|
414
502
|
```
|
|
415
503
|
|
|
504
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
505
|
+
|
|
416
506
|
After planner returns:
|
|
417
507
|
1. Verify plan exists at `${QUICK_DIR}/${quick_id}-PLAN.md`
|
|
418
508
|
2. Extract plan count (typically 1 for quick tasks)
|
|
@@ -422,9 +512,9 @@ If plan not found, error: "Planner failed to create ${quick_id}-PLAN.md"
|
|
|
422
512
|
|
|
423
513
|
---
|
|
424
514
|
|
|
425
|
-
**Step 5.5: Plan-checker loop (only when `$
|
|
515
|
+
**Step 5.5: Plan-checker loop (only when `$VALIDATE_MODE`)**
|
|
426
516
|
|
|
427
|
-
Skip this step entirely if NOT `$
|
|
517
|
+
Skip this step entirely if NOT `$VALIDATE_MODE`.
|
|
428
518
|
|
|
429
519
|
Display banner:
|
|
430
520
|
```
|
|
@@ -469,7 +559,7 @@ ${DISCUSS_MODE ? '- Context compliance: Does the plan honor locked decisions fro
|
|
|
469
559
|
```
|
|
470
560
|
|
|
471
561
|
```
|
|
472
|
-
|
|
562
|
+
Agent(
|
|
473
563
|
prompt=checker_prompt,
|
|
474
564
|
subagent_type="sdd-plan-checker",
|
|
475
565
|
model="{checker_model}",
|
|
@@ -477,6 +567,8 @@ Task(
|
|
|
477
567
|
)
|
|
478
568
|
```
|
|
479
569
|
|
|
570
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
571
|
+
|
|
480
572
|
**Handle checker return:**
|
|
481
573
|
|
|
482
574
|
- **`## VERIFICATION PASSED`:** Display confirmation, proceed to step 6.
|
|
@@ -514,7 +606,7 @@ Return what changed.
|
|
|
514
606
|
```
|
|
515
607
|
|
|
516
608
|
```
|
|
517
|
-
|
|
609
|
+
Agent(
|
|
518
610
|
prompt=revision_prompt,
|
|
519
611
|
subagent_type="sdd-planner",
|
|
520
612
|
model="{planner_model}",
|
|
@@ -522,6 +614,8 @@ Task(
|
|
|
522
614
|
)
|
|
523
615
|
```
|
|
524
616
|
|
|
617
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
618
|
+
|
|
525
619
|
After planner returns → spawn checker again, increment iteration_count.
|
|
526
620
|
|
|
527
621
|
**If iteration_count >= 2:**
|
|
@@ -532,15 +626,87 @@ Offer: 1) Force proceed, 2) Abort
|
|
|
532
626
|
|
|
533
627
|
---
|
|
534
628
|
|
|
629
|
+
**Step 5.6: Pre-dispatch plan commit (worktree mode only)**
|
|
630
|
+
|
|
631
|
+
When `USE_WORKTREES !== "false"`, commit PLAN.md to the current branch **before** spawning the executor. This ensures the worktree inherits PLAN.md at its branch HEAD so the executor can read it via a worktree-rooted path — avoiding the main-repo path priming that triggers CC #36182 path-resolution drift.
|
|
632
|
+
|
|
633
|
+
Skip this step entirely if `USE_WORKTREES === "false"` (non-worktree mode: PLAN.md is committed in Step 8 as usual).
|
|
634
|
+
|
|
635
|
+
```bash
|
|
636
|
+
if [ "${USE_WORKTREES}" != "false" ]; then
|
|
637
|
+
COMMIT_DOCS=$(sdd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
638
|
+
if [ "$COMMIT_DOCS" != "false" ]; then
|
|
639
|
+
git add "${QUICK_DIR}/${quick_id}-PLAN.md"
|
|
640
|
+
# No-op skip if nothing actually staged (idempotent re-runs).
|
|
641
|
+
if git diff --cached --quiet -- "${QUICK_DIR}/${quick_id}-PLAN.md"; then
|
|
642
|
+
echo "ℹ Pre-dispatch PLAN.md commit skipped (no staged changes)"
|
|
643
|
+
else
|
|
644
|
+
# Run hooks normally (#2924). If a project opts out via
|
|
645
|
+
# workflow.worktree_skip_hooks=true, honor that opt-in only.
|
|
646
|
+
SKIP_HOOKS=$(sdd-sdk query config-get workflow.worktree_skip_hooks 2>/dev/null || echo "false")
|
|
647
|
+
if [ "$SKIP_HOOKS" = "true" ]; then
|
|
648
|
+
git commit --no-verify -m "docs(${quick_id}): pre-dispatch plan for ${DESCRIPTION}" -- "${QUICK_DIR}/${quick_id}-PLAN.md" \
|
|
649
|
+
|| { echo "ERROR: pre-dispatch PLAN.md commit failed (--no-verify path). Aborting before executor dispatch." >&2; exit 1; }
|
|
650
|
+
else
|
|
651
|
+
git commit -m "docs(${quick_id}): pre-dispatch plan for ${DESCRIPTION}" -- "${QUICK_DIR}/${quick_id}-PLAN.md" \
|
|
652
|
+
|| { echo "ERROR: pre-dispatch PLAN.md commit failed — likely a pre-commit hook failure. Fix the hook output above (or set workflow.worktree_skip_hooks=true to bypass) and re-run." >&2; exit 1; }
|
|
653
|
+
fi
|
|
654
|
+
fi
|
|
655
|
+
fi
|
|
656
|
+
fi
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
---
|
|
660
|
+
|
|
535
661
|
**Step 6: Spawn executor**
|
|
536
662
|
|
|
663
|
+
Capture current HEAD before spawning (used for worktree branch check):
|
|
664
|
+
```bash
|
|
665
|
+
EXPECTED_BASE=$(git rev-parse HEAD)
|
|
666
|
+
if [ "${USE_WORKTREES:-true}" != "false" ]; then
|
|
667
|
+
QUICK_WORKTREE_MANIFEST=$(mktemp "${TMPDIR:-/tmp}/sdd-quick-worktree-XXXXXX.json")
|
|
668
|
+
printf '{"worktrees":[]}\n' > "$QUICK_WORKTREE_MANIFEST"
|
|
669
|
+
export QUICK_WORKTREE_MANIFEST
|
|
670
|
+
fi
|
|
671
|
+
```
|
|
672
|
+
|
|
537
673
|
Spawn sdd-executor with plan reference:
|
|
538
674
|
|
|
539
675
|
```
|
|
540
|
-
|
|
676
|
+
Agent(
|
|
541
677
|
prompt="
|
|
542
678
|
Execute quick task ${quick_id}.
|
|
543
679
|
|
|
680
|
+
${USE_WORKTREES !== "false" ? `
|
|
681
|
+
<worktree_branch_check>
|
|
682
|
+
FIRST ACTION before any other work: verify this worktree's HEAD is bound to a per-agent
|
|
683
|
+
branch and that the branch is based on the correct commit.
|
|
684
|
+
|
|
685
|
+
Step 1 — HEAD attachment assertion (MANDATORY, runs before any reset/commit):
|
|
686
|
+
HEAD_REF=$(git symbolic-ref --quiet HEAD || echo "DETACHED")
|
|
687
|
+
ACTUAL_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
688
|
+
if [ "$HEAD_REF" = "DETACHED" ] || echo "$ACTUAL_BRANCH" | grep -Eq '^(main|master|develop|trunk|release/.*)$'; then
|
|
689
|
+
echo "FATAL: worktree HEAD is on '$ACTUAL_BRANCH' (expected per-agent branch like worktree-agent-*)." >&2
|
|
690
|
+
echo "Refusing to commit/reset on a protected ref. DO NOT self-recover via 'git update-ref refs/heads/$ACTUAL_BRANCH' — that destroys concurrent work (#2924)." >&2
|
|
691
|
+
echo "Aborting before any commits. Surface as a blocker for human review." >&2
|
|
692
|
+
exit 1
|
|
693
|
+
fi
|
|
694
|
+
if ! echo "$ACTUAL_BRANCH" | grep -Eq '^worktree-agent-[A-Za-z0-9._/-]+$'; then
|
|
695
|
+
echo "FATAL: worktree HEAD '$ACTUAL_BRANCH' is not in the worktree-agent-* namespace (Claude Code's per-agent worktree branch namespace)." >&2
|
|
696
|
+
echo "Refusing to commit; surface as blocker (#2924)." >&2
|
|
697
|
+
exit 1
|
|
698
|
+
fi
|
|
699
|
+
|
|
700
|
+
Step 2 — Base correctness (only after Step 1 passes):
|
|
701
|
+
Run: git merge-base HEAD ${EXPECTED_BASE}
|
|
702
|
+
If the result differs from ${EXPECTED_BASE}, hard-reset to the correct base (safe — Step 1 confirmed HEAD is on a per-agent branch and the worktree is fresh):
|
|
703
|
+
git reset --hard ${EXPECTED_BASE}
|
|
704
|
+
Then verify: if [ "$(git rev-parse HEAD)" != "${EXPECTED_BASE}" ]; then echo "ERROR: Could not correct worktree base"; exit 1; fi
|
|
705
|
+
|
|
706
|
+
This corrects a known issue where EnterWorktree creates branches from main instead of the feature branch HEAD (#2015) and prevents the destructive HEAD-on-master self-recovery path (#2924).
|
|
707
|
+
</worktree_branch_check>
|
|
708
|
+
` : ''}
|
|
709
|
+
|
|
544
710
|
<files_to_read>
|
|
545
711
|
- ${QUICK_DIR}/${quick_id}-PLAN.md (Plan)
|
|
546
712
|
- .planning/STATE.md (Project state)
|
|
@@ -550,24 +716,205 @@ Execute quick task ${quick_id}.
|
|
|
550
716
|
|
|
551
717
|
${AGENT_SKILLS_EXECUTOR}
|
|
552
718
|
|
|
719
|
+
<submodule_commit_guard>
|
|
720
|
+
SUBMODULE_PATHS for this project: ${SUBMODULE_PATHS}
|
|
721
|
+
|
|
722
|
+
If SUBMODULE_PATHS is non-empty, you MUST run this fail-loud guard immediately
|
|
723
|
+
before EVERY git commit you create during this quick task (after \`git add\`,
|
|
724
|
+
before \`git commit\`). Quick mode does not have a pre-declared files_modified
|
|
725
|
+
list, so the guard runs at commit time:
|
|
726
|
+
|
|
727
|
+
\`\`\`bash
|
|
728
|
+
SUBMODULE_PATHS=\"${SUBMODULE_PATHS}\"
|
|
729
|
+
if [ -n \"\$SUBMODULE_PATHS\" ]; then
|
|
730
|
+
STAGED=\$(git diff --cached --name-only)
|
|
731
|
+
for sm_raw in \$SUBMODULE_PATHS; do
|
|
732
|
+
sm=\"\${sm_raw#./}\"
|
|
733
|
+
sm=\"\${sm%/}\"
|
|
734
|
+
[ -z \"\$sm\" ] && continue
|
|
735
|
+
for f_raw in \$STAGED; do
|
|
736
|
+
f=\"\${f_raw#./}\"
|
|
737
|
+
f=\"\${f%/}\"
|
|
738
|
+
case \"\$f\" in
|
|
739
|
+
\"\$sm\"|\"\$sm\"/*)
|
|
740
|
+
echo \"ABORT: staged path \$f_raw falls inside submodule \$sm — worktree-isolated commits cannot safely span submodule boundaries. Re-run with workflow.use_worktrees=false.\" >&2
|
|
741
|
+
exit 1 ;;
|
|
742
|
+
esac
|
|
743
|
+
done
|
|
744
|
+
done
|
|
745
|
+
fi
|
|
746
|
+
\`\`\`
|
|
747
|
+
|
|
748
|
+
If the guard aborts, do NOT attempt the commit, do NOT remove the staged files,
|
|
749
|
+
and do NOT continue subsequent tasks. Surface the abort message in your
|
|
750
|
+
SUMMARY.md and stop — the user must rerun with worktrees disabled.
|
|
751
|
+
</submodule_commit_guard>
|
|
752
|
+
|
|
553
753
|
<constraints>
|
|
554
754
|
- Execute all tasks in the plan
|
|
555
|
-
- Commit each task atomically
|
|
755
|
+
- Commit each task atomically (code changes only)
|
|
756
|
+
- Run the <submodule_commit_guard> bash block before every \`git commit\` if SUBMODULE_PATHS is non-empty
|
|
556
757
|
- Create summary at: ${QUICK_DIR}/${quick_id}-SUMMARY.md
|
|
758
|
+
- Do NOT commit docs artifacts (SUMMARY.md, STATE.md, PLAN.md) — the orchestrator handles the docs commit in Step 8
|
|
557
759
|
- Do NOT update ROADMAP.md (quick tasks are separate from planned phases)
|
|
558
760
|
</constraints>
|
|
559
761
|
",
|
|
560
762
|
subagent_type="sdd-executor",
|
|
561
763
|
model="{executor_model}",
|
|
562
|
-
isolation="worktree",
|
|
764
|
+
${USE_WORKTREES !== "false" ? 'isolation="worktree",' : ''}
|
|
563
765
|
description="Execute: ${DESCRIPTION}"
|
|
564
766
|
)
|
|
565
767
|
```
|
|
566
768
|
|
|
769
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
770
|
+
|
|
771
|
+
If the executor ran with `isolation="worktree"`, append its returned `{agent_id, worktree_path, branch, expected_base}` metadata to `QUICK_WORKTREE_MANIFEST` before cleanup. If any field is unavailable, stop and ask for recovery; do not discover global worktrees.
|
|
772
|
+
|
|
567
773
|
After executor returns:
|
|
568
|
-
1.
|
|
569
|
-
|
|
570
|
-
|
|
774
|
+
1. **Worktree cleanup:** If the executor ran with `isolation="worktree"`, merge the worktree branch back and clean up:
|
|
775
|
+
```bash
|
|
776
|
+
QUICK_WORKTREE_MANIFEST=${QUICK_WORKTREE_MANIFEST:-$WAVE_WORKTREE_MANIFEST}
|
|
777
|
+
[ -n "${QUICK_WORKTREE_MANIFEST:-}" ] && [ -f "$QUICK_WORKTREE_MANIFEST" ] || {
|
|
778
|
+
echo "BLOCKED: missing QUICK_WORKTREE_MANIFEST; refusing broad worktree cleanup (#3384)." >&2
|
|
779
|
+
exit 1
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
# Prefer the bounded cleanup helper. It verifies branch identity, expected
|
|
783
|
+
# base, deletion diffs, merge result, and worktree removal before branch
|
|
784
|
+
# deletion. If it blocks, resolve the reported manifest entry and rerun.
|
|
785
|
+
if command -v sdd-sdk >/dev/null 2>&1; then
|
|
786
|
+
sdd-sdk query worktree.cleanup-wave --manifest "$QUICK_WORKTREE_MANIFEST" || exit 1
|
|
787
|
+
else
|
|
788
|
+
echo "WARN: sdd-sdk unavailable; using manifest-scoped shell fallback (#3384)." >&2
|
|
789
|
+
|
|
790
|
+
# Find worktrees recorded by the executor manifest only.
|
|
791
|
+
# Inclusion-based filter (#2774): match ONLY agent-spawned worktrees under
|
|
792
|
+
# `.claude/worktrees/agent-` (the namespace Claude Code's `isolation="worktree"`
|
|
793
|
+
# uses). The previous exclusion filter (`grep -v "$(pwd)$"`) destroyed the parent
|
|
794
|
+
# workspace's `.git` whenever the workspace itself was a worktree (multi-workspace
|
|
795
|
+
# setups, and the cross-drive Windows case where `git worktree list` reports the
|
|
796
|
+
# registry path on a different drive than `$(pwd)`).
|
|
797
|
+
# Read line-by-line so worktree paths containing whitespace are preserved (#2774).
|
|
798
|
+
WT_PATHS_FILE=$(mktemp "${TMPDIR:-/tmp}/sdd-worktree-paths-XXXXXX")
|
|
799
|
+
node -e 'const fs=require("fs");const p=process.env.QUICK_WORKTREE_MANIFEST||process.env.WAVE_WORKTREE_MANIFEST;try{if(!p)throw new Error("QUICK_WORKTREE_MANIFEST is unset");if(!fs.existsSync(p))throw new Error("manifest does not exist");const s=fs.readFileSync(p,"utf8");if(!s.trim())throw new Error("manifest is empty");const j=JSON.parse(s);for(const w of j.worktrees||[])if(w.worktree_path)console.log(w.worktree_path)}catch(e){console.error(`ERROR: cannot read worktree manifest ${p||"(unset)"}: ${e.message}`);process.exit(1)}' > "$WT_PATHS_FILE" || { echo "BLOCKED: cannot read QUICK_WORKTREE_MANIFEST; refusing cleanup (#3384)." >&2; exit 1; }
|
|
800
|
+
while IFS= read -r WT; do
|
|
801
|
+
[ -z "$WT" ] && continue
|
|
802
|
+
# Pin CWD to project root before any bare git command (#3521).
|
|
803
|
+
# An LLM orchestrator may leak CWD into a worktree across tool calls; without
|
|
804
|
+
# this pin the merge command resolves against the worktree branch itself and
|
|
805
|
+
# silently no-ops the main-branch merge.
|
|
806
|
+
PROJECT_ROOT=$(git -C "$WT" rev-parse --git-common-dir 2>/dev/null)
|
|
807
|
+
# git rev-parse --git-common-dir returns the .git dir, not the working tree root.
|
|
808
|
+
# Strip the trailing /.git (or bare .git) to get the working tree root.
|
|
809
|
+
PROJECT_ROOT=$(echo "$PROJECT_ROOT" | sed 's|/\.git$||; s|/\.git/.*||')
|
|
810
|
+
if [ -z "$PROJECT_ROOT" ] || [ ! -d "$PROJECT_ROOT" ]; then
|
|
811
|
+
echo "WARN: cannot resolve project root from worktree $WT — skipping cleanup for this entry (#3521)" >&2
|
|
812
|
+
continue
|
|
813
|
+
fi
|
|
814
|
+
cd "$PROJECT_ROOT" || { echo "WARN: cannot cd to project root $PROJECT_ROOT — skipping cleanup for worktree $WT (#3521)" >&2; continue; }
|
|
815
|
+
WT_BRANCH=$(git -C "$WT" rev-parse --abbrev-ref HEAD 2>/dev/null)
|
|
816
|
+
if [ -n "$WT_BRANCH" ] && [ "$WT_BRANCH" != "HEAD" ]; then
|
|
817
|
+
# --- Orchestrator file protection (#1756) ---
|
|
818
|
+
# Backup STATE.md and ROADMAP.md before merge (main always wins)
|
|
819
|
+
STATE_BACKUP=$(mktemp)
|
|
820
|
+
ROADMAP_BACKUP=$(mktemp)
|
|
821
|
+
[ -f .planning/STATE.md ] && cp .planning/STATE.md "$STATE_BACKUP" || true
|
|
822
|
+
[ -f .planning/ROADMAP.md ] && cp .planning/ROADMAP.md "$ROADMAP_BACKUP" || true
|
|
823
|
+
|
|
824
|
+
# Pre-merge deletion guard: block merges that delete tracked .planning/ files
|
|
825
|
+
DELETIONS=$(git diff --diff-filter=D --name-only HEAD..."$WT_BRANCH" 2>/dev/null || true)
|
|
826
|
+
if [ -n "$DELETIONS" ]; then
|
|
827
|
+
echo "BLOCKED: Worktree branch $WT_BRANCH contains file deletions: $DELETIONS"
|
|
828
|
+
echo "Review these deletions before merging. If intentional, remove this guard and re-run."
|
|
829
|
+
rm -f "$STATE_BACKUP" "$ROADMAP_BACKUP"
|
|
830
|
+
continue
|
|
831
|
+
fi
|
|
832
|
+
|
|
833
|
+
git merge "$WT_BRANCH" --no-ff --no-edit -m "chore: merge quick task worktree ($WT_BRANCH)" 2>&1 || {
|
|
834
|
+
echo "⚠ Merge conflict from worktree $WT_BRANCH — resolve manually"
|
|
835
|
+
echo " STATE.md backup: $STATE_BACKUP"
|
|
836
|
+
echo " ROADMAP.md backup: $ROADMAP_BACKUP"
|
|
837
|
+
echo " Restore with: cp \$STATE_BACKUP .planning/STATE.md && cp \$ROADMAP_BACKUP .planning/ROADMAP.md"
|
|
838
|
+
break
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
# Restore orchestrator-owned files
|
|
842
|
+
if [ -s "$STATE_BACKUP" ]; then cp "$STATE_BACKUP" .planning/STATE.md; fi
|
|
843
|
+
if [ -s "$ROADMAP_BACKUP" ]; then cp "$ROADMAP_BACKUP" .planning/ROADMAP.md; fi
|
|
844
|
+
rm -f "$STATE_BACKUP" "$ROADMAP_BACKUP"
|
|
845
|
+
|
|
846
|
+
# Detect files deleted on main but re-added by worktree merge
|
|
847
|
+
# (e.g., archived phase directories that were intentionally removed)
|
|
848
|
+
# A "resurrected" file must have a deletion event in main's ancestry —
|
|
849
|
+
# brand-new files (e.g. SUMMARY.md just created by the agent) have no
|
|
850
|
+
# such history and must NOT be removed (#2501, #3195).
|
|
851
|
+
DELETED_FILES=$(git diff --diff-filter=A --name-only HEAD~1 -- .planning/ 2>/dev/null || true)
|
|
852
|
+
for RESURRECTED in $DELETED_FILES; do
|
|
853
|
+
# Only delete if this file was previously tracked on main and then
|
|
854
|
+
# deliberately removed (has a deletion event in git history).
|
|
855
|
+
WAS_DELETED=$(git log --follow --diff-filter=D --name-only --format="" HEAD~1 -- "$RESURRECTED" 2>/dev/null | grep -c . || true)
|
|
856
|
+
if [ "${WAS_DELETED:-0}" -gt 0 ]; then
|
|
857
|
+
git rm -f "$RESURRECTED" 2>/dev/null || true
|
|
858
|
+
fi
|
|
859
|
+
done
|
|
860
|
+
|
|
861
|
+
if ! git diff --quiet .planning/STATE.md .planning/ROADMAP.md 2>/dev/null || \
|
|
862
|
+
[ -n "$DELETED_FILES" ]; then
|
|
863
|
+
COMMIT_DOCS=$(sdd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
864
|
+
if [ "$COMMIT_DOCS" != "false" ]; then
|
|
865
|
+
git add .planning/STATE.md .planning/ROADMAP.md 2>/dev/null || true
|
|
866
|
+
git commit --amend --no-edit 2>/dev/null || true
|
|
867
|
+
fi
|
|
868
|
+
fi
|
|
869
|
+
|
|
870
|
+
# Safety net: rescue uncommitted SUMMARY.md before worktree removal (#2296, mirrors #2070, #2838).
|
|
871
|
+
# Filesystem-level (find + cp) bypasses git's --exclude-standard filter, which silently
|
|
872
|
+
# drops .planning/SUMMARY.md when projects gitignore .planning/ — the rescue's prior
|
|
873
|
+
# `git ls-files --exclude-standard` form returned empty in that case and the SUMMARY
|
|
874
|
+
# was lost on `git worktree remove --force`.
|
|
875
|
+
while IFS= read -r SUMMARY; do
|
|
876
|
+
[ -z "$SUMMARY" ] && continue
|
|
877
|
+
REL_PATH="${SUMMARY#$WT/}"
|
|
878
|
+
if [ ! -f "$REL_PATH" ] || ! cmp -s "$SUMMARY" "$REL_PATH"; then
|
|
879
|
+
mkdir -p "$(dirname "$REL_PATH")"
|
|
880
|
+
cp "$SUMMARY" "$REL_PATH"
|
|
881
|
+
echo "⚠ Rescued $REL_PATH from worktree before removal"
|
|
882
|
+
fi
|
|
883
|
+
done < <(find "$WT/.planning" -name "*SUMMARY.md" 2>/dev/null)
|
|
884
|
+
|
|
885
|
+
# Remove the worktree before deleting the branch. If removal fails,
|
|
886
|
+
# leave the branch in place so the worktree remains recoverable (#3384).
|
|
887
|
+
REMOVE_OK=false
|
|
888
|
+
if git worktree remove "$WT" --force; then
|
|
889
|
+
REMOVE_OK=true
|
|
890
|
+
else
|
|
891
|
+
WT_NAME=$(basename "$WT")
|
|
892
|
+
if [ -f ".git/worktrees/${WT_NAME}/locked" ]; then
|
|
893
|
+
echo "⚠ Worktree $WT is locked — attempting to unlock and retry"
|
|
894
|
+
git worktree unlock "$WT" 2>/dev/null || true
|
|
895
|
+
if git worktree remove "$WT" --force; then
|
|
896
|
+
REMOVE_OK=true
|
|
897
|
+
else
|
|
898
|
+
echo "⚠ Residual worktree at $WT — manual cleanup required after session exits:"
|
|
899
|
+
echo " git worktree unlock \"$WT\" && git worktree remove \"$WT\" --force && git branch -D \"$WT_BRANCH\""
|
|
900
|
+
fi
|
|
901
|
+
else
|
|
902
|
+
echo "⚠ Residual worktree at $WT (remove failed) — investigate manually"
|
|
903
|
+
fi
|
|
904
|
+
fi
|
|
905
|
+
if [ "$REMOVE_OK" = "true" ]; then
|
|
906
|
+
git branch -D "$WT_BRANCH" 2>/dev/null || true
|
|
907
|
+
else
|
|
908
|
+
echo "⚠ Keeping branch $WT_BRANCH because worktree removal failed (#3384)"
|
|
909
|
+
fi
|
|
910
|
+
fi
|
|
911
|
+
done < "$WT_PATHS_FILE"
|
|
912
|
+
fi
|
|
913
|
+
```
|
|
914
|
+
If `workflow.use_worktrees` is `false`, skip this step.
|
|
915
|
+
2. Verify summary exists at `${QUICK_DIR}/${quick_id}-SUMMARY.md`
|
|
916
|
+
3. Extract commit hash from executor output
|
|
917
|
+
4. Report completion status
|
|
571
918
|
|
|
572
919
|
**Known Claude Code bug (classifyHandoffIfNeeded):** If executor reports "failed" with error `classifyHandoffIfNeeded is not defined`, this is a Claude Code runtime bug — not a real failure. Check if summary file exists and git log shows commits. If so, treat as successful.
|
|
573
920
|
|
|
@@ -577,9 +924,60 @@ Note: For quick tasks producing multiple plans (rare), spawn executors in parall
|
|
|
577
924
|
|
|
578
925
|
---
|
|
579
926
|
|
|
580
|
-
**Step 6.
|
|
927
|
+
**Step 6.25: Code review (auto)**
|
|
581
928
|
|
|
582
|
-
Skip this step entirely if
|
|
929
|
+
Skip this step entirely if `$FULL_MODE` is false.
|
|
930
|
+
|
|
931
|
+
**Config gate:**
|
|
932
|
+
```bash
|
|
933
|
+
CODE_REVIEW_ENABLED=$(sdd-sdk query config-get workflow.code_review 2>/dev/null || echo "true")
|
|
934
|
+
```
|
|
935
|
+
If `"false"`, skip with message "Code review skipped (workflow.code_review=false)".
|
|
936
|
+
|
|
937
|
+
**Scope files from executor's commits:**
|
|
938
|
+
```bash
|
|
939
|
+
# Find the diff base: last commit before quick task started
|
|
940
|
+
# Use git log to find commits referencing the quick task id, then take the parent of the oldest
|
|
941
|
+
QUICK_COMMITS=$(git log --oneline --format="%H" --grep="${quick_id}" 2>/dev/null)
|
|
942
|
+
if [ -n "$QUICK_COMMITS" ]; then
|
|
943
|
+
DIFF_BASE=$(echo "$QUICK_COMMITS" | tail -1)^
|
|
944
|
+
# Verify parent exists (guard against first commit in repo)
|
|
945
|
+
git rev-parse "${DIFF_BASE}" >/dev/null 2>&1 || DIFF_BASE=$(echo "$QUICK_COMMITS" | tail -1)
|
|
946
|
+
else
|
|
947
|
+
# No commits found for this quick task — skip review
|
|
948
|
+
DIFF_BASE=""
|
|
949
|
+
fi
|
|
950
|
+
|
|
951
|
+
if [ -n "$DIFF_BASE" ]; then
|
|
952
|
+
CHANGED_FILES=$(git diff --name-only "${DIFF_BASE}..HEAD" -- . ':!.planning' 2>/dev/null | tr '\n' ' ')
|
|
953
|
+
else
|
|
954
|
+
CHANGED_FILES=""
|
|
955
|
+
fi
|
|
956
|
+
```
|
|
957
|
+
|
|
958
|
+
If `CHANGED_FILES` is empty, skip with "No source files changed — skipping code review."
|
|
959
|
+
|
|
960
|
+
**Invoke review:**
|
|
961
|
+
```
|
|
962
|
+
Agent(
|
|
963
|
+
prompt="Review these files for bugs, security issues, and code quality.
|
|
964
|
+
Files: ${CHANGED_FILES}
|
|
965
|
+
Output: ${QUICK_DIR}/${quick_id}-REVIEW.md
|
|
966
|
+
Depth: quick",
|
|
967
|
+
subagent_type="sdd-code-reviewer",
|
|
968
|
+
model="{executor_model}"
|
|
969
|
+
)
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
973
|
+
|
|
974
|
+
If review produces findings, display advisory message. **Error handling:** Failures are non-blocking — catch and proceed.
|
|
975
|
+
|
|
976
|
+
---
|
|
977
|
+
|
|
978
|
+
**Step 6.5: Verification (only when `$VALIDATE_MODE`)**
|
|
979
|
+
|
|
980
|
+
Skip this step entirely if NOT `$VALIDATE_MODE`.
|
|
583
981
|
|
|
584
982
|
Display banner:
|
|
585
983
|
```
|
|
@@ -591,7 +989,7 @@ Display banner:
|
|
|
591
989
|
```
|
|
592
990
|
|
|
593
991
|
```
|
|
594
|
-
|
|
992
|
+
Agent(
|
|
595
993
|
prompt="Verify quick task goal achievement.
|
|
596
994
|
Task directory: ${QUICK_DIR}
|
|
597
995
|
Task goal: ${DESCRIPTION}
|
|
@@ -609,6 +1007,8 @@ Check must_haves against actual codebase. Create VERIFICATION.md at ${QUICK_DIR}
|
|
|
609
1007
|
)
|
|
610
1008
|
```
|
|
611
1009
|
|
|
1010
|
+
> **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
|
|
1011
|
+
|
|
612
1012
|
Read verification status:
|
|
613
1013
|
```bash
|
|
614
1014
|
grep "^status:" "${QUICK_DIR}/${quick_id}-VERIFICATION.md" | cut -d: -f2 | tr -d ' '
|
|
@@ -636,7 +1036,7 @@ Read STATE.md and check for `### Quick Tasks Completed` section.
|
|
|
636
1036
|
|
|
637
1037
|
Insert after `### Blockers/Concerns` section:
|
|
638
1038
|
|
|
639
|
-
**If `$
|
|
1039
|
+
**If `$VALIDATE_MODE`:**
|
|
640
1040
|
```markdown
|
|
641
1041
|
### Quick Tasks Completed
|
|
642
1042
|
|
|
@@ -644,7 +1044,7 @@ Insert after `### Blockers/Concerns` section:
|
|
|
644
1044
|
|---|-------------|------|--------|--------|-----------|
|
|
645
1045
|
```
|
|
646
1046
|
|
|
647
|
-
**If NOT `$
|
|
1047
|
+
**If NOT `$VALIDATE_MODE`:**
|
|
648
1048
|
```markdown
|
|
649
1049
|
### Quick Tasks Completed
|
|
650
1050
|
|
|
@@ -652,18 +1052,18 @@ Insert after `### Blockers/Concerns` section:
|
|
|
652
1052
|
|---|-------------|------|--------|-----------|
|
|
653
1053
|
```
|
|
654
1054
|
|
|
655
|
-
**Note:** If the table already exists, match its existing column format. If adding `--full` to a project that already has quick tasks without a Status column, add the Status column to the header and separator rows, and leave Status empty for the new row's predecessors.
|
|
1055
|
+
**Note:** If the table already exists, match its existing column format. If adding `--validate` (or `--full`) to a project that already has quick tasks without a Status column, add the Status column to the header and separator rows, and leave Status empty for the new row's predecessors.
|
|
656
1056
|
|
|
657
1057
|
**7c. Append new row to table:**
|
|
658
1058
|
|
|
659
1059
|
Use `date` from init:
|
|
660
1060
|
|
|
661
|
-
**If `$
|
|
1061
|
+
**If `$VALIDATE_MODE` (or table has Status column):**
|
|
662
1062
|
```markdown
|
|
663
1063
|
| ${quick_id} | ${DESCRIPTION} | ${date} | ${commit_hash} | ${VERIFICATION_STATUS} | [${quick_id}-${slug}](./quick/${quick_id}-${slug}/) |
|
|
664
1064
|
```
|
|
665
1065
|
|
|
666
|
-
**If NOT `$
|
|
1066
|
+
**If NOT `$VALIDATE_MODE` (and table has no Status column):**
|
|
667
1067
|
```markdown
|
|
668
1068
|
| ${quick_id} | ${DESCRIPTION} | ${date} | ${commit_hash} | [${quick_id}-${slug}](./quick/${quick_id}-${slug}/) |
|
|
669
1069
|
```
|
|
@@ -681,7 +1081,7 @@ Use Edit tool to make these changes atomically
|
|
|
681
1081
|
|
|
682
1082
|
**Step 8: Final commit and completion**
|
|
683
1083
|
|
|
684
|
-
Stage and commit quick task artifacts
|
|
1084
|
+
Stage and commit quick task artifacts. This step MUST always run — even if the executor already committed some files (e.g. when running without worktree isolation). The `sdd-sdk query commit` command (or legacy `sdd-tools.cjs` commit) handles already-committed files gracefully.
|
|
685
1085
|
|
|
686
1086
|
Build file list:
|
|
687
1087
|
- `${QUICK_DIR}/${quick_id}-PLAN.md`
|
|
@@ -689,10 +1089,21 @@ Build file list:
|
|
|
689
1089
|
- `.planning/STATE.md`
|
|
690
1090
|
- If `$DISCUSS_MODE` and context file exists: `${QUICK_DIR}/${quick_id}-CONTEXT.md`
|
|
691
1091
|
- If `$RESEARCH_MODE` and research file exists: `${QUICK_DIR}/${quick_id}-RESEARCH.md`
|
|
692
|
-
- If `$
|
|
1092
|
+
- If `$VALIDATE_MODE` and verification file exists: `${QUICK_DIR}/${quick_id}-VERIFICATION.md`
|
|
1093
|
+
- If `${QUICK_DIR}/${quick_id}-deferred-items.md` exists: `${QUICK_DIR}/${quick_id}-deferred-items.md`
|
|
693
1094
|
|
|
694
1095
|
```bash
|
|
695
|
-
|
|
1096
|
+
# Explicitly stage all artifacts before commit — PLAN.md may be untracked
|
|
1097
|
+
# if the executor ran without worktree isolation and committed docs early
|
|
1098
|
+
# Filter .planning/ files from staging if commit_docs is disabled (#1783)
|
|
1099
|
+
COMMIT_DOCS=$(sdd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
1100
|
+
if [ "$COMMIT_DOCS" = "false" ]; then
|
|
1101
|
+
file_list_filtered=$(echo "${file_list}" | tr ' ' '\n' | grep -v '^\.planning/' | tr '\n' ' ')
|
|
1102
|
+
git add ${file_list_filtered} 2>/dev/null
|
|
1103
|
+
else
|
|
1104
|
+
git add ${file_list} 2>/dev/null
|
|
1105
|
+
fi
|
|
1106
|
+
sdd-sdk query commit "docs(quick-${quick_id}): ${DESCRIPTION}" --files ${file_list}
|
|
696
1107
|
```
|
|
697
1108
|
|
|
698
1109
|
Get final commit hash:
|
|
@@ -702,11 +1113,11 @@ commit_hash=$(git rev-parse --short HEAD)
|
|
|
702
1113
|
|
|
703
1114
|
Display completion output:
|
|
704
1115
|
|
|
705
|
-
**If `$
|
|
1116
|
+
**If `$VALIDATE_MODE`:**
|
|
706
1117
|
```
|
|
707
1118
|
---
|
|
708
1119
|
|
|
709
|
-
SDD > QUICK TASK COMPLETE (
|
|
1120
|
+
SDD > QUICK TASK COMPLETE (VALIDATED)
|
|
710
1121
|
|
|
711
1122
|
Quick Task ${quick_id}: ${DESCRIPTION}
|
|
712
1123
|
|
|
@@ -720,7 +1131,7 @@ Commit: ${commit_hash}
|
|
|
720
1131
|
Ready for next task: /sdd:quick ${SDD_WS}
|
|
721
1132
|
```
|
|
722
1133
|
|
|
723
|
-
**If NOT `$
|
|
1134
|
+
**If NOT `$VALIDATE_MODE`:**
|
|
724
1135
|
```
|
|
725
1136
|
---
|
|
726
1137
|
|
|
@@ -742,16 +1153,17 @@ Ready for next task: /sdd:quick ${SDD_WS}
|
|
|
742
1153
|
<success_criteria>
|
|
743
1154
|
- [ ] ROADMAP.md validation passes
|
|
744
1155
|
- [ ] User provides task description
|
|
745
|
-
- [ ] `--full`, `--discuss`, and `--research` flags parsed from arguments when present
|
|
1156
|
+
- [ ] `--full`, `--validate`, `--discuss`, and `--research` flags parsed from arguments when present
|
|
1157
|
+
- [ ] `--full` sets all booleans (`$FULL_MODE`, `$DISCUSS_MODE`, `$RESEARCH_MODE`, `$VALIDATE_MODE`)
|
|
746
1158
|
- [ ] Slug generated (lowercase, hyphens, max 40 chars)
|
|
747
1159
|
- [ ] Quick ID generated (YYMMDD-xxx format, 2s Base36 precision)
|
|
748
1160
|
- [ ] Directory created at `.planning/quick/YYMMDD-xxx-slug/`
|
|
749
1161
|
- [ ] (--discuss) Gray areas identified and presented, decisions captured in `${quick_id}-CONTEXT.md`
|
|
750
1162
|
- [ ] (--research) Research agent spawned, `${quick_id}-RESEARCH.md` created
|
|
751
1163
|
- [ ] `${quick_id}-PLAN.md` created by planner (honors CONTEXT.md decisions when --discuss, uses RESEARCH.md findings when --research)
|
|
752
|
-
- [ ] (--
|
|
1164
|
+
- [ ] (--validate) Plan checker validates plan, revision loop capped at 2
|
|
753
1165
|
- [ ] `${quick_id}-SUMMARY.md` created by executor
|
|
754
|
-
- [ ] (--
|
|
755
|
-
- [ ] STATE.md updated with quick task row (Status column when --
|
|
1166
|
+
- [ ] (--validate) `${quick_id}-VERIFICATION.md` created by verifier
|
|
1167
|
+
- [ ] STATE.md updated with quick task row (Status column when --validate)
|
|
756
1168
|
- [ ] Artifacts committed
|
|
757
1169
|
</success_criteria>
|