@bhargavvc/sdd-cc 1.35.0 → 1.42.4
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 +54 -52
- package/README.ko-KR.md +47 -45
- package/README.md +86 -733
- package/README.pt-BR.md +14 -12
- package/README.zh-CN.md +31 -29
- package/agents/sdd-ai-researcher.md +2 -2
- package/agents/sdd-code-fixer.md +169 -17
- package/agents/sdd-code-reviewer.md +40 -8
- package/agents/sdd-codebase-mapper.md +89 -6
- package/agents/sdd-debug-session-manager.md +314 -0
- package/agents/sdd-debugger.md +147 -80
- package/agents/sdd-doc-classifier.md +168 -0
- package/agents/sdd-doc-synthesizer.md +204 -0
- package/agents/sdd-doc-verifier.md +20 -4
- package/agents/sdd-doc-writer.md +22 -9
- package/agents/sdd-domain-researcher.md +2 -2
- package/agents/sdd-eval-auditor.md +30 -3
- package/agents/sdd-eval-planner.md +2 -2
- package/agents/sdd-executor.md +203 -43
- package/agents/sdd-framework-selector.md +1 -1
- package/agents/sdd-integration-checker.md +30 -3
- package/agents/sdd-intel-updater.md +51 -23
- package/agents/sdd-nyquist-auditor.md +31 -4
- package/agents/sdd-pattern-mapper.md +335 -0
- package/agents/sdd-phase-researcher.md +195 -32
- package/agents/sdd-plan-checker.md +135 -24
- package/agents/sdd-planner.md +190 -205
- package/agents/sdd-project-researcher.md +7 -7
- package/agents/sdd-research-synthesizer.md +6 -6
- package/agents/sdd-roadmapper.md +19 -10
- package/agents/sdd-security-auditor.md +33 -6
- package/agents/sdd-ui-auditor.md +23 -7
- package/agents/sdd-ui-checker.md +16 -7
- package/agents/sdd-ui-researcher.md +8 -8
- package/agents/sdd-verifier.md +124 -27
- package/bin/install.js +5016 -372
- package/bin/sdd-sdk.js +37 -0
- package/commands/sdd/add-tests.md +5 -4
- package/commands/sdd/ai-integration-phase.md +4 -3
- package/commands/sdd/audit-fix.md +2 -1
- package/commands/sdd/audit-milestone.md +3 -2
- package/commands/sdd/autonomous.md +3 -3
- package/commands/sdd/capture.md +62 -0
- package/commands/sdd/cleanup.md +2 -1
- package/commands/sdd/code-review.md +8 -4
- package/commands/sdd/commit.md +39 -0
- package/commands/sdd/complete-milestone.md +15 -8
- package/commands/sdd/config.md +58 -0
- package/commands/sdd/debug.md +21 -155
- package/commands/sdd/discuss-phase.md +18 -11
- package/commands/sdd/docs-update.md +3 -2
- package/commands/sdd/eval-review.md +4 -3
- package/commands/sdd/execute-phase.md +5 -4
- package/commands/sdd/explore.md +3 -3
- package/commands/sdd/extract-learnings.md +23 -0
- package/commands/sdd/fast.md +4 -3
- 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 +1 -1
- package/commands/sdd/import.md +10 -5
- package/commands/sdd/inbox.md +39 -0
- package/commands/sdd/ingest-docs.md +42 -0
- package/commands/sdd/manager.md +8 -3
- package/commands/sdd/map-codebase.md +18 -6
- package/commands/sdd/milestone-summary.md +1 -1
- package/commands/sdd/mvp-phase.md +45 -0
- package/commands/sdd/new-milestone.md +4 -3
- package/commands/sdd/new-project.md +4 -3
- 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 +15 -5
- package/commands/sdd/plan-review-convergence.md +59 -0
- package/commands/sdd/pr-branch.md +2 -1
- package/commands/sdd/profile-user.md +1 -1
- package/commands/sdd/progress.md +27 -5
- package/commands/sdd/quick.md +128 -3
- package/commands/sdd/resume-work.md +2 -12
- package/commands/sdd/review-backlog.md +3 -2
- package/commands/sdd/review.md +3 -2
- package/commands/sdd/secure-phase.md +3 -2
- package/commands/sdd/settings.md +2 -9
- package/commands/sdd/ship.md +2 -1
- 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 +2 -1
- package/commands/sdd/update.md +21 -10
- package/commands/sdd/validate-phase.md +3 -2
- package/commands/sdd/verify-work.md +5 -4
- package/commands/sdd/workspace.md +52 -0
- package/commands/sdd/workstreams.md +12 -11
- package/hooks/dist/sdd-check-update-worker.js +116 -0
- package/hooks/dist/sdd-check-update.js +13 -88
- package/hooks/dist/sdd-context-monitor.js +28 -1
- package/hooks/dist/sdd-phase-boundary.sh +23 -3
- package/hooks/dist/sdd-read-guard.js +21 -2
- package/hooks/dist/sdd-read-injection-scanner.js +152 -0
- package/hooks/dist/sdd-session-state.sh +38 -12
- package/hooks/dist/sdd-statusline.js +324 -28
- package/hooks/dist/sdd-update-banner.js +134 -0
- package/hooks/dist/sdd-validate-commit.sh +15 -5
- 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 +13 -88
- package/hooks/sdd-context-monitor.js +28 -1
- package/hooks/sdd-phase-boundary.sh +23 -3
- package/hooks/sdd-read-guard.js +21 -2
- package/hooks/sdd-read-injection-scanner.js +152 -0
- package/hooks/sdd-session-state.sh +38 -12
- package/hooks/sdd-statusline.js +324 -28
- package/hooks/sdd-update-banner.js +134 -0
- package/hooks/sdd-validate-commit.sh +15 -5
- package/hooks/sdd-workflow-guard.js +2 -2
- package/package.json +32 -7
- package/scripts/audit-workflow-script-paths.cjs +73 -0
- package/scripts/build-hooks.js +98 -4
- 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 +2 -0
- package/scripts/rebrand-gsd-to-sdd.sh +4 -3
- 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 +136 -0
- package/sdd/bin/lib/command-aliases.generated.cjs +838 -0
- package/sdd/bin/lib/commands.cjs +108 -98
- package/sdd/bin/lib/config-schema.cjs +135 -0
- package/sdd/bin/lib/config.cjs +253 -68
- package/sdd/bin/lib/context-utilization.cjs +47 -0
- package/sdd/bin/lib/core.cjs +997 -607
- package/sdd/bin/lib/decisions.cjs +48 -0
- package/sdd/bin/lib/docs.cjs +36 -33
- package/sdd/bin/lib/drift.cjs +379 -0
- package/sdd/bin/lib/fallow-runner.cjs +109 -0
- package/sdd/bin/lib/frontmatter.cjs +19 -11
- 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 +603 -102
- 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 +35 -52
- package/sdd/bin/lib/learnings.cjs +2 -1
- package/sdd/bin/lib/milestone.cjs +313 -283
- package/sdd/bin/lib/model-catalog.cjs +136 -0
- package/sdd/bin/lib/model-profiles.cjs +25 -70
- package/sdd/bin/lib/phase-command-router.cjs +96 -0
- package/sdd/bin/lib/phase.cjs +556 -102
- 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 +109 -43
- 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 +278 -17
- package/sdd/bin/lib/runtime-homes.cjs +178 -0
- package/sdd/bin/lib/sdd2-import.cjs +3 -3
- package/sdd/bin/lib/secrets.cjs +33 -0
- package/sdd/bin/lib/security.cjs +8 -7
- 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 +720 -218
- package/sdd/bin/lib/surface.cjs +398 -0
- package/sdd/bin/lib/template.cjs +4 -2
- 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 +464 -137
- 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 +73 -195
- package/sdd/bin/lib/worktree-safety.cjs +563 -0
- package/sdd/bin/sdd-tools.cjs +386 -252
- package/sdd/bin/verify-reapply-patches.cjs +247 -0
- package/sdd/contexts/review.md +1 -0
- package/sdd/references/artifact-types.md +18 -0
- package/sdd/references/autonomous-smart-discuss.md +277 -0
- package/sdd/references/checkpoints.md +36 -0
- package/sdd/references/context-budget.md +85 -49
- package/sdd/references/continuation-format.md +26 -22
- 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 +1 -1
- package/sdd/references/execute-mvp-tdd.md +81 -0
- package/sdd/references/executor-examples.md +110 -0
- package/sdd/references/gate-prompts.md +2 -2
- package/sdd/references/git-integration.md +10 -7
- package/sdd/references/git-planning-commit.md +6 -4
- package/sdd/references/mandatory-initial-read.md +2 -0
- package/sdd/references/model-profiles.md +106 -6
- 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-human-verify-mode.md +57 -0
- package/sdd/references/planner-mvp-mode.md +53 -0
- package/sdd/references/planner-revision.md +1 -1
- package/sdd/references/planner-source-audit.md +73 -0
- package/sdd/references/planning-config.md +30 -13
- package/sdd/references/project-skills-discovery.md +19 -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-partner.md +1 -1
- package/sdd/references/universal-anti-patterns.md +4 -4
- package/sdd/references/user-story-template.md +58 -0
- package/sdd/references/verification-overrides.md +3 -3
- package/sdd/references/verify-mvp-mode.md +85 -0
- package/sdd/references/workstream-flag.md +11 -11
- package/sdd/references/worktree-path-safety.md +89 -0
- package/sdd/templates/AI-SPEC.md +1 -1
- package/sdd/templates/DEBUG.md +8 -3
- package/sdd/templates/README.md +77 -0
- package/sdd/templates/UAT.md +4 -4
- package/sdd/templates/VALIDATION.md +1 -1
- package/sdd/templates/claude-md.md +5 -5
- package/sdd/templates/config.json +16 -2
- package/sdd/templates/debug-subagent-prompt.md +1 -1
- package/sdd/templates/dev-preferences.md +1 -1
- package/sdd/templates/discovery.md +2 -2
- package/sdd/templates/phase-prompt.md +1 -1
- package/sdd/templates/planner-subagent-prompt.md +3 -3
- package/sdd/templates/project.md +1 -1
- package/sdd/templates/research.md +41 -1
- package/sdd/templates/spec.md +307 -0
- package/sdd/templates/state.md +9 -1
- package/sdd/workflows/add-backlog.md +90 -0
- package/sdd/workflows/add-phase.md +7 -7
- package/sdd/workflows/add-tests.md +12 -12
- package/sdd/workflows/add-todo.md +4 -4
- package/sdd/workflows/ai-integration-phase.md +26 -16
- package/sdd/workflows/analyze-dependencies.md +3 -3
- package/sdd/workflows/audit-fix.md +23 -3
- package/sdd/workflows/audit-milestone.md +37 -20
- package/sdd/workflows/audit-uat.md +3 -3
- package/sdd/workflows/autonomous.md +31 -301
- package/sdd/workflows/check-todos.md +6 -6
- package/sdd/workflows/cleanup.md +1 -1
- package/sdd/workflows/code-review-fix.md +20 -16
- package/sdd/workflows/code-review.md +114 -16
- package/sdd/workflows/commit.md +166 -0
- package/sdd/workflows/complete-milestone.md +68 -15
- package/sdd/workflows/debug.md +231 -0
- package/sdd/workflows/diagnose-issues.md +8 -6
- package/sdd/workflows/discovery-phase.md +3 -3
- 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 +24 -21
- package/sdd/workflows/discuss-phase-power.md +3 -3
- package/sdd/workflows/discuss-phase.md +203 -905
- package/sdd/workflows/do.md +25 -21
- package/sdd/workflows/docs-update.md +23 -17
- package/sdd/workflows/edit-phase.md +294 -0
- package/sdd/workflows/eval-review.md +7 -7
- 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 +650 -252
- package/sdd/workflows/execute-plan.md +75 -35
- package/sdd/workflows/explore.md +7 -3
- package/sdd/workflows/extract-learnings.md +242 -0
- package/sdd/workflows/fast.md +13 -12
- package/sdd/workflows/forensics.md +19 -6
- package/sdd/workflows/graduation.md +195 -0
- package/sdd/workflows/health.md +49 -7
- package/sdd/workflows/help.md +340 -149
- package/sdd/workflows/import.md +20 -43
- package/sdd/workflows/inbox.md +5 -5
- package/sdd/workflows/ingest-docs.md +339 -0
- package/sdd/workflows/insert-phase.md +33 -12
- package/sdd/workflows/list-phase-assumptions.md +2 -2
- package/sdd/workflows/list-workspaces.md +2 -2
- package/sdd/workflows/manager.md +38 -11
- package/sdd/workflows/map-codebase.md +87 -23
- package/sdd/workflows/milestone-summary.md +8 -8
- package/sdd/workflows/mvp-phase.md +221 -0
- package/sdd/workflows/new-milestone.md +163 -23
- package/sdd/workflows/new-project.md +254 -53
- package/sdd/workflows/new-workspace.md +8 -8
- package/sdd/workflows/next.md +85 -18
- package/sdd/workflows/note.md +2 -2
- package/sdd/workflows/pause-work.md +13 -9
- package/sdd/workflows/plan-milestone-gaps.md +18 -11
- package/sdd/workflows/plan-phase.md +767 -94
- package/sdd/workflows/plan-review-convergence.md +329 -0
- package/sdd/workflows/plant-seed.md +146 -89
- package/sdd/workflows/pr-branch.md +1 -1
- package/sdd/workflows/profile-user.md +15 -15
- package/sdd/workflows/progress.md +198 -56
- package/sdd/workflows/quick.md +318 -54
- package/{commands/sdd → sdd/workflows}/reapply-patches.md +102 -23
- package/sdd/workflows/remove-phase.md +10 -10
- package/sdd/workflows/remove-workspace.md +21 -6
- package/sdd/workflows/resume-project.md +26 -23
- package/sdd/workflows/review.md +151 -20
- package/sdd/workflows/scan.md +5 -3
- package/sdd/workflows/secure-phase.md +26 -13
- package/sdd/workflows/settings-advanced.md +579 -0
- package/sdd/workflows/settings-integrations.md +281 -0
- package/sdd/workflows/settings.md +202 -23
- package/sdd/workflows/ship.md +131 -16
- 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 +21 -2
- package/sdd/workflows/sync-skills.md +182 -0
- package/sdd/workflows/thread.md +221 -0
- package/sdd/workflows/transition.md +52 -30
- package/sdd/workflows/ui-phase.md +37 -20
- package/sdd/workflows/ui-review.md +12 -10
- package/sdd/workflows/ultraplan-phase.md +198 -0
- package/sdd/workflows/undo.md +9 -9
- package/sdd/workflows/update.md +187 -17
- package/sdd/workflows/validate-phase.md +12 -10
- package/sdd/workflows/verify-phase.md +112 -27
- package/sdd/workflows/verify-work.md +97 -28
- 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/analyze-dependencies.md +0 -34
- package/commands/sdd/check-todos.md +0 -45
- package/commands/sdd/code-review-fix.md +0 -52
- package/commands/sdd/do.md +0 -30
- package/commands/sdd/from-sdd2.md +0 -45
- package/commands/sdd/insert-phase.md +0 -32
- package/commands/sdd/intel.md +0 -179
- package/commands/sdd/join-discord.md +0 -19
- 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 -26
- 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/remove-phase.md +0 -31
- package/commands/sdd/remove-workspace.md +0 -26
- package/commands/sdd/research-phase.md +0 -195
- package/commands/sdd/scan.md +0 -26
- 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/workflows/research-phase.md +0 -82
package/README.pt-BR.md
CHANGED
|
@@ -73,15 +73,17 @@ Para quem quer descrever o que precisa e receber isso construído do jeito certo
|
|
|
73
73
|
|
|
74
74
|
Quality gates embutidos capturam problemas reais: detecção de schema drift sinaliza mudanças ORM sem migrations, segurança ancora verificação a modelos de ameaça, e detecção de redução de escopo impede o planner de descartar requisitos silenciosamente.
|
|
75
75
|
|
|
76
|
-
### Destaques v1.
|
|
76
|
+
### Destaques v1.39.0
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- **
|
|
81
|
-
-
|
|
82
|
-
- **
|
|
83
|
-
- **
|
|
84
|
-
- **
|
|
78
|
+
Lista completa nas [notas de release v1.39.0](https://github.com/bhargavvc/sdd-cc/releases/tag/v1.39.0).
|
|
79
|
+
|
|
80
|
+
- **Perfil de instalação `--minimal`** — alias `--core-only`. Instala apenas os 6 skills do loop principal (`new-project`, `discuss-phase`, `plan-phase`, `execute-phase`, `help`, `update`) e nenhum subagente `sdd-*`. Reduz o overhead do system prompt no cold-start de ~12k para ~700 tokens (≥94% de redução). Útil para LLMs locais com contexto de 32K–128K e APIs cobradas por token.
|
|
81
|
+
- **`/sdd-phase --edit`** — edita qualquer campo de uma fase existente em `ROADMAP.md` no lugar, sem alterar o número ou a posição. `--force` pula o diff de confirmação; referências em `depends_on` são validadas e o `STATE.md` é atualizado na escrita.
|
|
82
|
+
- **Build & test gate pós-merge** — o passo 5.6 de `execute-phase` agora detecta automaticamente o comando de build em `workflow.build_command`, com fallback para Xcode (`.xcodeproj`), Makefile, Justfile, Cargo, Go, Python ou npm. Projetos Xcode/iOS rodam `xcodebuild build` e `xcodebuild test` automaticamente. Funciona em modo paralelo e serial.
|
|
83
|
+
- **Modelo de review por runtime** — `review.models.<cli>` permite que cada CLI externa de review (codex, gemini, etc.) escolha seu próprio modelo, independente do perfil de planner/executor.
|
|
84
|
+
- **Herança de configuração de workstream** — quando `SDD_WORKSTREAM` está definido, o `.planning/config.json` raiz é carregado primeiro e merge-deep com o config da workstream (workstream vence em conflito). Um `null` explícito no config da workstream sobrescreve corretamente o valor raiz.
|
|
85
|
+
- **Workflow manual de canary release** — `.github/workflows/canary.yml` publica builds `{base}-canary.{N}` de `@bhargavvc/sdd-cc` e `@bhargavvc/sdk` na dist-tag `@canary` a partir de `dev`, sob demanda via `workflow_dispatch`.
|
|
86
|
+
- **Consolidação de skills: 86 → 59** — 4 novos skills agrupados (`capture`, `phase`, `config`, `workspace`) absorvem 31 micro-skills. 6 skills pais existentes absorvem wrap-up e sub-operações como flags: `update --sync/--reapply`, `sketch --wrap-up`, `spike --wrap-up`, `map-codebase --fast/--query`, `code-review --fix`, `progress --do/--next`. Sem perda funcional.
|
|
85
87
|
|
|
86
88
|
---
|
|
87
89
|
|
|
@@ -257,7 +259,7 @@ Validação manual orientada para confirmar que a feature realmente funciona com
|
|
|
257
259
|
Ou deixe o SDD decidir:
|
|
258
260
|
|
|
259
261
|
```
|
|
260
|
-
/sdd-next
|
|
262
|
+
/sdd-progress --next
|
|
261
263
|
```
|
|
262
264
|
|
|
263
265
|
### Modo rápido
|
|
@@ -325,7 +327,7 @@ Cada tarefa gera commit próprio, facilitando `git bisect`, rollback e rastreabi
|
|
|
325
327
|
| `/sdd-execute-phase <N>` | Executa planos em ondas paralelas |
|
|
326
328
|
| `/sdd-verify-work [N]` | UAT manual |
|
|
327
329
|
| `/sdd-ship [N] [--draft]` | Cria PR da fase validada |
|
|
328
|
-
| `/sdd-next` | Avança automaticamente para o próximo passo |
|
|
330
|
+
| `/sdd-progress --next` | Avança automaticamente para o próximo passo |
|
|
329
331
|
| `/sdd-fast <text>` | Tarefas triviais sem planejamento |
|
|
330
332
|
| `/sdd-complete-milestone` | Fecha o marco e marca release |
|
|
331
333
|
| `/sdd-new-milestone [name]` | Inicia próximo marco |
|
|
@@ -337,7 +339,7 @@ Cada tarefa gera commit próprio, facilitando `git bisect`, rollback e rastreabi
|
|
|
337
339
|
| `/sdd-review` | Peer review com múltiplas IAs |
|
|
338
340
|
| `/sdd-pr-branch` | Cria branch limpa para PR |
|
|
339
341
|
| `/sdd-settings` | Configura perfis e agentes |
|
|
340
|
-
| `/sdd-
|
|
342
|
+
| `/sdd-config --profile <profile>` | Troca perfil (quality/balanced/budget/inherit) |
|
|
341
343
|
| `/sdd-quick [--full] [--discuss] [--research]` | Execução rápida com garantias do SDD (`--full` ativa todas as etapas, `--validate` ativa apenas verificação) |
|
|
342
344
|
| `/sdd-health [--repair]` | Verifica e repara `.planning/` |
|
|
343
345
|
|
|
@@ -368,7 +370,7 @@ Você pode configurar no `/sdd-new-project` ou ajustar depois com `/sdd-settings
|
|
|
368
370
|
|
|
369
371
|
Troca rápida:
|
|
370
372
|
```
|
|
371
|
-
/sdd-
|
|
373
|
+
/sdd-config --profile budget
|
|
372
374
|
```
|
|
373
375
|
|
|
374
376
|
---
|
package/README.zh-CN.md
CHANGED
|
@@ -53,7 +53,7 @@ npx @bhargavvc/sdd-cc@latest
|
|
|
53
53
|
|
|
54
54
|
市面上已经有其他规格驱动开发工具,比如 BMAD、Speckit……但它们要么把事情搞得比必要的复杂得多了些(冲刺仪式、故事点、利益相关方同步、复盘、Jira 流程),要么根本缺少对你到底在构建什么的整体理解。我不是一家 50 人的软件公司。我不想演企业流程。我只是个想把好东西真正做出来的创作者。
|
|
55
55
|
|
|
56
|
-
所以我做了
|
|
56
|
+
所以我做了 SDD。复杂性在系统内部,不在你的工作流里。幕后是上下文工程、XML 提示格式、子代理编排、状态管理;你看到的是几个真能工作的命令。
|
|
57
57
|
|
|
58
58
|
这套系统会把 Claude 完成工作 *以及* 验证结果所需的一切上下文都准备好。我信任这个工作流,因为它确实能把事情做好。
|
|
59
59
|
|
|
@@ -73,15 +73,17 @@ SDD 解决的就是这个问题。它是让 Claude Code 变得可靠的上下文
|
|
|
73
73
|
|
|
74
74
|
适合那些想把自己的需求说明白,然后让系统正确构建出来的人,而不是假装自己在运营一个 50 人工程组织的人。
|
|
75
75
|
|
|
76
|
-
### v1.
|
|
76
|
+
### v1.39.0 亮点
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
78
|
+
完整列表请参阅 [v1.39.0 发行说明](https://github.com/bhargavvc/sdd-cc/releases/tag/v1.39.0)。
|
|
79
|
+
|
|
80
|
+
- **`--minimal` 安装档** — 别名 `--core-only`。仅安装主循环的 6 个核心技能(`new-project`、`discuss-phase`、`plan-phase`、`execute-phase`、`help`、`update`),不安装任何 `sdd-*` 子代理。将冷启动系统提示开销从 ~12k token 降至 ~700 token(≥94% 减少)。适合 32K–128K 上下文的本地 LLM 和按 token 计费的 API。
|
|
81
|
+
- **`/sdd-phase --edit`** — 就地修改 `ROADMAP.md` 中已有阶段的任意字段,不改变其编号或位置。`--force` 跳过确认 diff,验证 `depends_on` 引用,并在写入时更新 `STATE.md`。
|
|
82
|
+
- **合并后构建与测试门** — `execute-phase` 步骤 5.6 优先自动检测 `workflow.build_command` 配置,否则按 Xcode(`.xcodeproj`)、Makefile、Justfile、Cargo、Go、Python、npm 顺序回退。Xcode/iOS 项目自动运行 `xcodebuild build` 和 `xcodebuild test`。在并行与串行模式下均生效。
|
|
83
|
+
- **每运行时评审模型选择** — `review.models.<cli>` 让每个外部评审 CLI(codex、gemini 等)独立于规划/执行档选择自己的模型。
|
|
84
|
+
- **工作流设置继承** — 设置 `SDD_WORKSTREAM` 后,先加载根 `.planning/config.json`,再与该工作流的配置进行深合并(冲突时工作流优先)。工作流配置中显式 `null` 会覆盖根值。
|
|
85
|
+
- **手动 canary 发布工作流** — `.github/workflows/canary.yml` 通过 `workflow_dispatch` 从 `dev` 分支按需将 `{base}-canary.{N}` 构建(`@bhargavvc/sdd-cc` 与 `@bhargavvc/sdk`)发布到 `@canary` dist-tag。
|
|
86
|
+
- **技能整合:86 → 59** — 4 个新分组技能(`capture`、`phase`、`config`、`workspace`)吸收了 31 个微技能。6 个已有父技能将收尾与子操作合并为标志:`update --sync/--reapply`、`sketch --wrap-up`、`spike --wrap-up`、`map-codebase --fast/--query`、`code-review --fix`、`progress --do/--next`。功能无损失。
|
|
85
87
|
|
|
86
88
|
---
|
|
87
89
|
|
|
@@ -394,7 +396,7 @@ claude --dangerously-skip-permissions
|
|
|
394
396
|
或者让 SDD 自动判断下一步:
|
|
395
397
|
|
|
396
398
|
```
|
|
397
|
-
/sdd-next # 自动检测并执行下一步
|
|
399
|
+
/sdd-progress --next # 自动检测并执行下一步
|
|
398
400
|
```
|
|
399
401
|
|
|
400
402
|
循环执行 **讨论 → 规划 → 执行 → 验证 → 发布**,直到整个里程碑完成。
|
|
@@ -536,7 +538,7 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
536
538
|
| `/sdd-verify-work [N]` | 人工用户验收测试 ¹ |
|
|
537
539
|
| `/sdd-ship [N] [--draft]` | 从已验证的阶段工作创建 PR,自动生成 PR 描述 |
|
|
538
540
|
| `/sdd-fast <text>` | 内联处理琐碎任务——完全跳过规划,立即执行 |
|
|
539
|
-
| `/sdd-next` | 自动推进到下一个逻辑工作流步骤 |
|
|
541
|
+
| `/sdd-progress --next` | 自动推进到下一个逻辑工作流步骤 |
|
|
540
542
|
| `/sdd-audit-milestone` | 验证里程碑是否达到完成定义 |
|
|
541
543
|
| `/sdd-complete-milestone` | 归档里程碑并打 release tag |
|
|
542
544
|
| `/sdd-new-milestone [name]` | 开始下一个版本:提问 → 研究 → 需求 → 路线图 |
|
|
@@ -556,9 +558,9 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
556
558
|
|
|
557
559
|
| 命令 | 作用 |
|
|
558
560
|
|------|------|
|
|
559
|
-
| `/sdd-new
|
|
560
|
-
| `/sdd-list
|
|
561
|
-
| `/sdd-remove
|
|
561
|
+
| `/sdd-workspace --new` | 创建隔离工作区,包含仓库副本(worktree 或 clone) |
|
|
562
|
+
| `/sdd-workspace --list` | 显示所有 SDD 工作区及其状态 |
|
|
563
|
+
| `/sdd-workspace --remove` | 移除工作区并清理 worktree |
|
|
562
564
|
|
|
563
565
|
### UI 设计
|
|
564
566
|
|
|
@@ -572,10 +574,9 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
572
574
|
| 命令 | 作用 |
|
|
573
575
|
|------|------|
|
|
574
576
|
| `/sdd-progress` | 我现在在哪?下一步是什么? |
|
|
575
|
-
| `/sdd-next` | 自动检测状态并执行下一步 |
|
|
577
|
+
| `/sdd-progress --next` | 自动检测状态并执行下一步 |
|
|
576
578
|
| `/sdd-help` | 显示全部命令和使用指南 |
|
|
577
|
-
| `/sdd-update` | 更新
|
|
578
|
-
| `/sdd-join-discord` | 加入 SDD Discord 社区 |
|
|
579
|
+
| `/sdd-update` | 更新 SDD,并预览变更日志 |
|
|
579
580
|
|
|
580
581
|
### Brownfield
|
|
581
582
|
|
|
@@ -587,11 +588,12 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
587
588
|
|
|
588
589
|
| 命令 | 作用 |
|
|
589
590
|
|------|------|
|
|
590
|
-
| `/sdd-
|
|
591
|
-
| `/sdd-
|
|
592
|
-
| `/sdd-
|
|
593
|
-
| `/sdd-
|
|
594
|
-
| `/sdd-
|
|
591
|
+
| `/sdd-phase` | 在路线图末尾追加 phase |
|
|
592
|
+
| `/sdd-phase --insert [N]` | 在 phase 之间插入紧急工作 |
|
|
593
|
+
| `/sdd-phase --edit [N] [--force]` | 就地修改已有 phase 的任意字段 — 编号与位置保持不变 |
|
|
594
|
+
| `/sdd-phase --remove [N]` | 删除未来 phase,并重编号 |
|
|
595
|
+
| `/sdd-discuss-phase --assumptions [N]` | 在规划前查看 Claude 打算采用的方案 |
|
|
596
|
+
| `/sdd-audit-milestone --fix` | 为 audit 发现的缺口创建 phase |
|
|
595
597
|
|
|
596
598
|
### 代码质量
|
|
597
599
|
|
|
@@ -605,7 +607,7 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
605
607
|
|
|
606
608
|
| 命令 | 作用 |
|
|
607
609
|
|------|------|
|
|
608
|
-
| `/sdd-
|
|
610
|
+
| `/sdd-capture --seed <idea>` | 将想法存入积压停车场,留待未来里程碑 |
|
|
609
611
|
|
|
610
612
|
### 会话
|
|
611
613
|
|
|
@@ -613,16 +615,16 @@ lmn012o feat(08-02): create registration endpoint
|
|
|
613
615
|
|------|------|
|
|
614
616
|
| `/sdd-pause-work` | 在中途暂停时创建交接上下文(写入 HANDOFF.json) |
|
|
615
617
|
| `/sdd-resume-work` | 从上一次会话恢复 |
|
|
616
|
-
| `/sdd-
|
|
618
|
+
| `/sdd-pause-work --report` | 生成会话摘要,包含已完成工作和结果 |
|
|
617
619
|
|
|
618
620
|
### 工具
|
|
619
621
|
|
|
620
622
|
| 命令 | 作用 |
|
|
621
623
|
|------|------|
|
|
622
624
|
| `/sdd-settings` | 配置模型 profile 和工作流代理 |
|
|
623
|
-
| `/sdd-
|
|
624
|
-
| `/sdd-
|
|
625
|
-
| `/sdd-
|
|
625
|
+
| `/sdd-config --profile <profile>` | 切换模型 profile(quality / balanced / budget / inherit) |
|
|
626
|
+
| `/sdd-capture [desc]` | 记录一个待办想法 |
|
|
627
|
+
| `/sdd-capture --list` | 查看待办列表 |
|
|
626
628
|
| `/sdd-debug [desc]` | 使用持久状态进行系统化调试 |
|
|
627
629
|
| `/sdd-do <text>` | 将自由文本自动路由到正确的 SDD 命令 |
|
|
628
630
|
| `/sdd-note <text>` | 零摩擦想法捕捉——追加、列出或提升为待办 |
|
|
@@ -659,7 +661,7 @@ SDD 将项目设置保存在 `.planning/config.json`。你可以在 `/sdd-new-pr
|
|
|
659
661
|
|
|
660
662
|
切换方式:
|
|
661
663
|
```
|
|
662
|
-
/sdd-
|
|
664
|
+
/sdd-config --profile budget
|
|
663
665
|
```
|
|
664
666
|
|
|
665
667
|
使用非 Anthropic 提供商(OpenRouter、本地模型)时,或想跟随当前运行时的模型选择时(如 OpenCode 的 `/model`),可用 `inherit`。
|
|
@@ -768,7 +770,7 @@ CLAUDE_CONFIG_DIR=/home/youruser/.claude npx @bhargavvc/sdd-cc --global
|
|
|
768
770
|
|
|
769
771
|
### 卸载
|
|
770
772
|
|
|
771
|
-
如果你想彻底移除
|
|
773
|
+
如果你想彻底移除 SDD:
|
|
772
774
|
|
|
773
775
|
```bash
|
|
774
776
|
# 全局安装
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-ai-researcher
|
|
3
|
-
description: Researches a chosen AI framework's official docs to produce implementation-ready guidance — best practices, syntax, core patterns, and pitfalls distilled for the specific use case. Writes the Framework Quick Reference and Implementation Guidance sections of AI-SPEC.md. Spawned by /sdd
|
|
3
|
+
description: Researches a chosen AI framework's official docs to produce implementation-ready guidance — best practices, syntax, core patterns, and pitfalls distilled for the specific use case. Writes the Framework Quick Reference and Implementation Guidance sections of AI-SPEC.md. Spawned by /sdd:ai-integration-phase orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebFetch, WebSearch, mcp__context7__*
|
|
5
5
|
color: "#34D399"
|
|
6
6
|
# hooks:
|
|
@@ -51,7 +51,7 @@ Read `~/.claude/sdd/references/ai-frameworks.md` for framework profiles and know
|
|
|
51
51
|
- `phase_context`: phase name and goal
|
|
52
52
|
- `context_path`: path to CONTEXT.md if it exists
|
|
53
53
|
|
|
54
|
-
**If prompt contains `<
|
|
54
|
+
**If prompt contains `<required_reading>`, read every listed file before doing anything else.**
|
|
55
55
|
</input>
|
|
56
56
|
|
|
57
57
|
<documentation_sources>
|
package/agents/sdd-code-fixer.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-code-fixer
|
|
3
|
-
description: Applies fixes to code review findings from REVIEW.md. Reads source files, applies intelligent fixes, and commits each fix atomically. Spawned by /sdd
|
|
3
|
+
description: Applies fixes to code review findings from REVIEW.md. Reads source files, applies intelligent fixes, and commits each fix atomically. Spawned by /sdd:code-review --fix.
|
|
4
4
|
tools: Read, Edit, Write, Bash, Grep, Glob
|
|
5
5
|
color: "#10B981"
|
|
6
6
|
# hooks:
|
|
@@ -10,12 +10,12 @@ color: "#10B981"
|
|
|
10
10
|
<role>
|
|
11
11
|
You are a SDD code fixer. You apply fixes to issues found by the sdd-code-reviewer agent.
|
|
12
12
|
|
|
13
|
-
Spawned by `/sdd
|
|
13
|
+
Spawned by `/sdd:code-review --fix` workflow. You produce REVIEW-FIX.md artifact in the phase directory.
|
|
14
14
|
|
|
15
15
|
Your job: Read REVIEW.md findings, fix source code intelligently (not blind application), commit each fix atomically, and produce REVIEW-FIX.md report.
|
|
16
16
|
|
|
17
17
|
**CRITICAL: Mandatory Initial Read**
|
|
18
|
-
If the prompt contains a `<
|
|
18
|
+
If the prompt contains a `<required_reading>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
19
19
|
</role>
|
|
20
20
|
|
|
21
21
|
<project_context>
|
|
@@ -153,7 +153,7 @@ Each finding starts with:
|
|
|
153
153
|
### {ID}: {Title}
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
-
Where ID matches: `CR-\d+` (Critical), `WR-\d+` (Warning), or `IN-\d+` (Info)
|
|
156
|
+
Where ID matches: `CR-\d+` or `BL-\d+` (Critical-tier-equivalent), `WR-\d+` (Warning), or `IN-\d+` (Info)
|
|
157
157
|
|
|
158
158
|
**Required Fields:**
|
|
159
159
|
|
|
@@ -194,7 +194,7 @@ The **Fix:** section may contain:
|
|
|
194
194
|
If a finding references multiple files (in Fix section or Issue section):
|
|
195
195
|
- Collect ALL file paths into `files` array
|
|
196
196
|
- Apply fix to each file
|
|
197
|
-
- Commit all modified files atomically (single commit,
|
|
197
|
+
- Commit all modified files atomically (single commit, list every file path after the message — `commit` uses positional paths, not `--files`)
|
|
198
198
|
|
|
199
199
|
**Parsing Rules:**
|
|
200
200
|
|
|
@@ -209,8 +209,154 @@ If a finding references multiple files (in Fix section or Issue section):
|
|
|
209
209
|
|
|
210
210
|
<execution_flow>
|
|
211
211
|
|
|
212
|
+
<step name="setup_worktree">
|
|
213
|
+
**Isolation: create a dedicated git worktree BEFORE touching any files.**
|
|
214
|
+
|
|
215
|
+
This agent runs as a background process that makes commits. Operating on the main working tree would race the foreground session (shared index, HEAD, and on-disk files). Instead, every instance runs in its own isolated worktree.
|
|
216
|
+
|
|
217
|
+
The cleanup tail (commit fixes -> remove worktree -> drop recovery sentinel) MUST be **transactional**: either all of (worktree, branch advance, sentinel) end in a clean state, or — if the process is interrupted (system restart, OOM kill) between the last commit and `git worktree remove` — a discoverable recovery sentinel is left behind so a future run, `/sdd:resume-work`, or `/sdd:progress` can complete the cleanup. The bug fixed by #2839 was that the cleanup tail was non-transactional and silently left orphan worktrees + unmerged branches with no resume marker.
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# Derive worktree path from padded_phase (parsed from config in next step,
|
|
221
|
+
# but the shell snippet below is illustrative — adapt once config is parsed).
|
|
222
|
+
# In practice: parse padded_phase from config first, then run:
|
|
223
|
+
branch=$(git branch --show-current)
|
|
224
|
+
test -n "$branch" || { echo "Detached HEAD is not supported for review-fix (#2686)"; exit 1; }
|
|
225
|
+
|
|
226
|
+
# Recovery-sentinel handling (#2839):
|
|
227
|
+
# Path is ${phase_dir}/.review-fix-recovery-pending.json. If it already exists,
|
|
228
|
+
# a previous run was interrupted between fix commits and `git worktree remove`.
|
|
229
|
+
# The pre-existing sentinel records the orphan worktree_path, branch, and
|
|
230
|
+
# padded_phase so this run can complete recovery before starting fresh.
|
|
231
|
+
sentinel="${phase_dir}/.review-fix-recovery-pending.json"
|
|
232
|
+
if [ -f "$sentinel" ]; then
|
|
233
|
+
echo "Detected pre-existing recovery sentinel from a prior interrupted run: $sentinel"
|
|
234
|
+
# Recovery must extract BOTH worktree_path AND reviewfix_branch (#3001 CR):
|
|
235
|
+
# if a prior run died after `git worktree remove` but before
|
|
236
|
+
# `git branch -D`, the orphan branch survives and clutters `git branch`
|
|
237
|
+
# output forever. Emit both fields newline-separated so we can read them
|
|
238
|
+
# independently.
|
|
239
|
+
prior_recovery=$(node -e '
|
|
240
|
+
const fs = require("fs");
|
|
241
|
+
try {
|
|
242
|
+
const parsed = JSON.parse(fs.readFileSync(process.argv[1], "utf-8"));
|
|
243
|
+
process.stdout.write((parsed.worktree_path || "") + "\n" + (parsed.reviewfix_branch || ""));
|
|
244
|
+
} catch (err) {
|
|
245
|
+
process.stderr.write(`Warning: malformed recovery sentinel ${process.argv[1]}: ${err.message}\n`);
|
|
246
|
+
process.stdout.write("\n");
|
|
247
|
+
}
|
|
248
|
+
' "$sentinel")
|
|
249
|
+
prior_wt="$(printf '%s' "$prior_recovery" | sed -n '1p')"
|
|
250
|
+
prior_branch="$(printf '%s' "$prior_recovery" | sed -n '2p')"
|
|
251
|
+
if [ -n "$prior_wt" ] && git worktree list --porcelain | grep -q "^worktree $prior_wt$"; then
|
|
252
|
+
echo "Removing orphan worktree from prior run: $prior_wt"
|
|
253
|
+
git worktree remove "$prior_wt" --force || true
|
|
254
|
+
fi
|
|
255
|
+
if [ -n "$prior_branch" ]; then
|
|
256
|
+
# Best-effort: branch may already be gone (cleaned by an earlier
|
|
257
|
+
# partial recovery, or never created if `git worktree add -b` itself
|
|
258
|
+
# failed). `|| true` keeps recovery non-fatal.
|
|
259
|
+
echo "Removing orphan reviewfix branch from prior run: $prior_branch"
|
|
260
|
+
git branch -D "$prior_branch" 2>/dev/null || true
|
|
261
|
+
fi
|
|
262
|
+
rm -f "$sentinel"
|
|
263
|
+
fi
|
|
264
|
+
|
|
265
|
+
wt=$(mktemp -d "/tmp/sv-${padded_phase}-reviewfix-XXXXXX")
|
|
266
|
+
|
|
267
|
+
# Create a temp branch from the current branch tip so the worktree
|
|
268
|
+
# attaches to that NEW branch rather than the user's currently-checked-out
|
|
269
|
+
# branch (#2990: git refuses to check out the same branch in two
|
|
270
|
+
# worktrees by default; the original `git worktree add "$wt" "$branch"`
|
|
271
|
+
# failed before the agent could do any work). The temp branch shares
|
|
272
|
+
# history with $branch up to the moment of creation, so commits made
|
|
273
|
+
# inside the worktree fast-forward $branch on cleanup.
|
|
274
|
+
reviewfix_branch="sdd-reviewfix/${padded_phase}-$$"
|
|
275
|
+
git worktree add -b "$reviewfix_branch" "$wt" "$branch"
|
|
276
|
+
|
|
277
|
+
# Write the recovery sentinel ONLY AFTER `git worktree add` succeeds.
|
|
278
|
+
# Writing it before would leave a sentinel pointing at a worktree that does
|
|
279
|
+
# not exist if `git worktree add` itself failed.
|
|
280
|
+
node -e '
|
|
281
|
+
const fs = require("fs");
|
|
282
|
+
const [sentinelPath, worktree_path, branch, reviewfix_branch, padded_phase] = process.argv.slice(1);
|
|
283
|
+
fs.writeFileSync(sentinelPath, JSON.stringify({
|
|
284
|
+
worktree_path,
|
|
285
|
+
branch,
|
|
286
|
+
reviewfix_branch,
|
|
287
|
+
padded_phase,
|
|
288
|
+
started_at: new Date().toISOString()
|
|
289
|
+
}, null, 2));
|
|
290
|
+
' "$sentinel" "$wt" "$branch" "$reviewfix_branch" "$padded_phase"
|
|
291
|
+
|
|
292
|
+
cd "$wt"
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Concrete steps:
|
|
296
|
+
1. Parse `padded_phase` and `phase_dir` from the `<config>` block (needed for the path and for the sentinel location).
|
|
297
|
+
2. Resolve the current branch: `branch=$(git branch --show-current)`. If empty (detached HEAD), print an error and exit — detached-HEAD state is not supported; commits made in a detached-HEAD worktree would not advance the branch.
|
|
298
|
+
3. **Recovery check (#2839, #2990):** If `${phase_dir}/.review-fix-recovery-pending.json` already exists, a prior run was interrupted. Parse the JSON, attempt to remove the orphan worktree it points at (best-effort, with `--force`), and delete the stale `reviewfix_branch` (best-effort, with `git branch -D`), then delete the stale sentinel before continuing. This makes a re-run of `/sdd:code-review --fix` self-healing.
|
|
299
|
+
4. Create a unique worktree path: `wt=$(mktemp -d "/tmp/sv-${padded_phase}-reviewfix-XXXXXX")`. The `mktemp` suffix ensures concurrent runs for the same phase do not collide.
|
|
300
|
+
5. Run `git worktree add -b "$reviewfix_branch" "$wt" "$branch"` — this creates a NEW branch (`sdd-reviewfix/${padded_phase}-$$`) starting from the current branch tip and attaches the worktree to that new branch. Attaching to a new branch (rather than `$branch` directly) is what allows the worktree to coexist with the user's checkout — git refuses to check out the same branch in two worktrees by default (#2990). Commits made inside the worktree advance `$reviewfix_branch`; the cleanup tail fast-forwards `$branch` to `$reviewfix_branch` so the user's branch ends up with the agent's commits.
|
|
301
|
+
6. **Write the recovery sentinel** at `${phase_dir}/.review-fix-recovery-pending.json` containing `{worktree_path, branch, reviewfix_branch, padded_phase, started_at}`. Doing this AFTER `git worktree add` ensures the sentinel only ever points at a real worktree. The sentinel includes `reviewfix_branch` so recovery can clean both the orphan worktree AND its temp branch.
|
|
302
|
+
7. All subsequent file reads, edits, and commits happen inside `$wt` (which is on `$reviewfix_branch`, not `$branch`).
|
|
303
|
+
|
|
304
|
+
**If `git worktree add` fails**, surface the error and exit — do not force-remove the path, as another concurrent run may be holding it. Do not write the sentinel (the worktree does not exist). Do not delete `$reviewfix_branch` either; if `-b` failed, no temp branch was created.
|
|
305
|
+
|
|
306
|
+
**Cleanup tail (transactional, ALWAYS — even on failure):** After writing REVIEW-FIX.md and before returning to the orchestrator, run the cleanup in this exact order:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# Step 1 (#2990): fast-forward $branch to capture the commits the agent
|
|
310
|
+
# made on $reviewfix_branch. Run from the main repo (not $wt) — the user's
|
|
311
|
+
# checkout owns $branch. --ff-only ensures we never silently drop or
|
|
312
|
+
# rewrite history if the user committed to $branch concurrently; on
|
|
313
|
+
# divergence, this fails loudly and the temp branch is left for the
|
|
314
|
+
# user to inspect/merge manually. We deliberately resolve the main repo
|
|
315
|
+
# path via `git worktree list --porcelain` rather than assuming $PWD,
|
|
316
|
+
# because the agent ran inside $wt.
|
|
317
|
+
# Strip the literal "worktree " prefix and print the rest of the line, then
|
|
318
|
+
# exit on the first match. This preserves paths that contain spaces
|
|
319
|
+
# (awk '$2' would truncate "/path/with spaces/repo" to "/path/with").
|
|
320
|
+
main_repo="$(git worktree list --porcelain | awk '/^worktree / { sub(/^worktree /, ""); print; exit }')"
|
|
321
|
+
ff_status=0
|
|
322
|
+
# Capture the exit code of `git merge` directly. `if ! cmd; then ff_status=$?`
|
|
323
|
+
# captures the exit code of the `!` operator (always 1 when the inner cmd
|
|
324
|
+
# failed) — masking the real merge exit code. Use the success/else split
|
|
325
|
+
# instead so $? in the else-branch is the merge command's exit code.
|
|
326
|
+
if git -C "$main_repo" merge --ff-only "$reviewfix_branch" 2>&1; then
|
|
327
|
+
ff_status=0
|
|
328
|
+
else
|
|
329
|
+
ff_status=$?
|
|
330
|
+
echo "WARN: could not fast-forward $branch to $reviewfix_branch (exit $ff_status)."
|
|
331
|
+
echo " The temp branch $reviewfix_branch is preserved for manual merge."
|
|
332
|
+
fi
|
|
333
|
+
|
|
334
|
+
# Step 2: drop the worktree. If this succeeds and the process is then
|
|
335
|
+
# killed, the next run finds a sentinel pointing at a worktree that no
|
|
336
|
+
# longer exists — the recovery branch handles this gracefully (best-effort
|
|
337
|
+
# remove + sentinel delete). If we reversed the order (sentinel removed
|
|
338
|
+
# first, then worktree remove), an interruption between the two steps
|
|
339
|
+
# would leave NO sentinel and an orphan worktree — exactly the bug from
|
|
340
|
+
# #2839.
|
|
341
|
+
git worktree remove "$wt" --force
|
|
342
|
+
|
|
343
|
+
# Step 3: delete the temp branch ONLY if the fast-forward succeeded. If
|
|
344
|
+
# it didn't, leaving the branch lets the user inspect/merge manually.
|
|
345
|
+
if [ "$ff_status" -eq 0 ]; then
|
|
346
|
+
git -C "$main_repo" branch -D "$reviewfix_branch" || true
|
|
347
|
+
fi
|
|
348
|
+
|
|
349
|
+
# Step 4: drop the recovery sentinel ONLY after `git worktree remove`
|
|
350
|
+
# returns successfully. This atomic-ish ordering is what makes the
|
|
351
|
+
# cleanup tail transactional from the orchestrator's perspective.
|
|
352
|
+
rm -f "$sentinel"
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
This cleanup is unconditional — register it mentally as a finally-block obligation. If the agent exits early (config error, no findings, etc.), still run the cleanup tail in order (fast-forward → worktree remove → temp branch delete → sentinel rm) before exit. The sentinel must NEVER be removed before `git worktree remove` succeeds. The temp branch must NEVER be deleted while the fast-forward is in a diverged state.
|
|
356
|
+
</step>
|
|
357
|
+
|
|
212
358
|
<step name="load_context">
|
|
213
|
-
**1. Read mandatory files:** Load all files from `<
|
|
359
|
+
**1. Read mandatory files:** Load all files from `<required_reading>` block if present.
|
|
214
360
|
|
|
215
361
|
**2. Parse config:** Extract from `<config>` block in prompt:
|
|
216
362
|
- `phase_dir`: Path to phase directory (e.g., `.planning/phases/02-code-review-command`)
|
|
@@ -241,7 +387,7 @@ Read `./CLAUDE.md` and check for `.claude/skills/` or `.agents/skills/` (as desc
|
|
|
241
387
|
|
|
242
388
|
For each finding, extract:
|
|
243
389
|
- `id`: Finding identifier (e.g., CR-01, WR-03, IN-12)
|
|
244
|
-
- `severity`: Critical (CR-*), Warning (WR-*), Info (IN-*)
|
|
390
|
+
- `severity`: Critical (CR-* or BL-*), Warning (WR-*), Info (IN-*)
|
|
245
391
|
- `title`: Issue title from `### ` heading
|
|
246
392
|
- `file`: Primary file path from **File:** line
|
|
247
393
|
- `files`: ALL file paths referenced in finding (including in Fix section) — for multi-file fixes
|
|
@@ -250,11 +396,11 @@ For each finding, extract:
|
|
|
250
396
|
- `fix`: Full fix content from **Fix:** section (may be multi-line, may contain code fences)
|
|
251
397
|
|
|
252
398
|
**2. Filter by fix_scope:**
|
|
253
|
-
- If `fix_scope == "critical_warning"`: include only CR
|
|
254
|
-
- If `fix_scope == "all"`: include CR-*, WR-*, and IN-* findings
|
|
399
|
+
- If `fix_scope == "critical_warning"`: include only CR-*, BL-*, and WR-* findings
|
|
400
|
+
- If `fix_scope == "all"`: include CR-*, BL-*, WR-*, and IN-* findings
|
|
255
401
|
|
|
256
402
|
**3. Sort findings by severity:**
|
|
257
|
-
- Critical first, then Warning, then Info
|
|
403
|
+
- Critical (CR-* and BL-*) first, then Warning, then Info
|
|
258
404
|
- Within same severity, maintain document order
|
|
259
405
|
|
|
260
406
|
**4. Count findings in scope:**
|
|
@@ -308,20 +454,22 @@ For each finding in sorted order:
|
|
|
308
454
|
|
|
309
455
|
**If verification passed:**
|
|
310
456
|
|
|
311
|
-
Use sdd-
|
|
457
|
+
Use `sdd-sdk query commit` with conventional format (message first, then every staged file path):
|
|
312
458
|
```bash
|
|
313
|
-
|
|
459
|
+
sdd-sdk query commit \
|
|
314
460
|
"fix({padded_phase}): {finding_id} {short_description}" \
|
|
315
|
-
--files
|
|
461
|
+
--files \
|
|
462
|
+
{all_modified_files}
|
|
316
463
|
```
|
|
317
464
|
|
|
318
465
|
Examples:
|
|
319
466
|
- `fix(02): CR-01 fix SQL injection in auth.py`
|
|
320
467
|
- `fix(03): WR-05 add null check before array access`
|
|
321
468
|
|
|
322
|
-
**Multiple files:** List ALL modified files
|
|
469
|
+
**Multiple files:** List ALL modified files after the message (space-separated):
|
|
323
470
|
```bash
|
|
324
|
-
--files
|
|
471
|
+
sdd-sdk query commit "fix(02): CR-01 ..." --files \
|
|
472
|
+
src/api/auth.ts src/types/user.ts tests/auth.test.ts
|
|
325
473
|
```
|
|
326
474
|
|
|
327
475
|
**Extract commit hash:**
|
|
@@ -436,13 +584,17 @@ _Iteration: {N}_
|
|
|
436
584
|
|
|
437
585
|
<critical_rules>
|
|
438
586
|
|
|
587
|
+
**ALWAYS run inside the isolated worktree** — set up via `branch=$(git branch --show-current)` + `wt=$(mktemp -d "/tmp/sv-${padded_phase}-reviewfix-XXXXXX")` + `git worktree add -b "$reviewfix_branch" "$wt" "$branch"` at the very start (see `setup_worktree` step). Using `mktemp` ensures concurrent runs do not collide. Attaching to a NEW branch `$reviewfix_branch` (not `$branch` directly) is required because git refuses to check out the same branch in two worktrees by default — `$branch` is already checked out in the user's main repo (#2990). Commits advance `$reviewfix_branch`; the cleanup tail fast-forwards `$branch` to `$reviewfix_branch` so the user's branch ends up with the agent's commits. Every file read, edit, and commit must happen inside `$wt`. Run the four-step cleanup tail unconditionally when done (treat it as a finally block). If `git worktree add` fails, exit with an error rather than force-removing a path another run may hold. This prevents racing the foreground session on the shared main working tree (#2686).
|
|
588
|
+
|
|
589
|
+
**ALWAYS run the transactional cleanup tail in order** (#2839, #2990): the cleanup is four steps with strict ordering. (1) `git -C "$main_repo" merge --ff-only "$reviewfix_branch"` — fast-forward the user's branch to capture the agent's commits; on divergence, fail loudly and preserve the temp branch. (2) `git worktree remove "$wt" --force`. (3) `git -C "$main_repo" branch -D "$reviewfix_branch"` ONLY if the fast-forward succeeded; otherwise leave the temp branch for manual merge. (4) `rm -f "$sentinel"` (the recovery sentinel at `${phase_dir}/.review-fix-recovery-pending.json`). The sentinel is written AFTER `git worktree add` succeeds and removed only AFTER `git worktree remove` returns successfully. The temp branch is deleted only when the fast-forward succeeded. This ordering is what makes the cleanup tail transactional — an interruption between commits and `git worktree remove` leaves the sentinel behind (with `reviewfix_branch` recorded) so a future run, `/sdd:resume-work`, or `/sdd:progress` can detect and complete the recovery. Reversing the order recreates the orphan-worktree bug.
|
|
590
|
+
|
|
439
591
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
440
592
|
|
|
441
593
|
**DO read the actual source file** before applying any fix — never blindly apply REVIEW.md suggestions without understanding current code state.
|
|
442
594
|
|
|
443
595
|
**DO record which files will be touched** before every fix attempt — this is your rollback list. Rollback is `git checkout -- {file}`, not content capture.
|
|
444
596
|
|
|
445
|
-
**DO commit each fix atomically** — one commit per finding, listing ALL modified
|
|
597
|
+
**DO commit each fix atomically** — one commit per finding, listing ALL modified file paths after the commit message.
|
|
446
598
|
|
|
447
599
|
**DO use Edit tool (preferred)** over Write tool for targeted changes. Edit provides better diff visibility.
|
|
448
600
|
|
|
@@ -504,7 +656,7 @@ Fixes are committed **per-finding**. This has operational implications:
|
|
|
504
656
|
|
|
505
657
|
- [ ] All in-scope findings attempted (either fixed or skipped with reason)
|
|
506
658
|
- [ ] Each fix committed atomically with `fix({padded_phase}): {id} {description}` format
|
|
507
|
-
- [ ] All modified files listed
|
|
659
|
+
- [ ] All modified files listed after each commit message (multi-file fix support)
|
|
508
660
|
- [ ] REVIEW-FIX.md created with accurate counts, status, and iteration number
|
|
509
661
|
- [ ] No source files left in broken state (failed fixes rolled back via git checkout)
|
|
510
662
|
- [ ] No partial or uncommitted changes remain after execution
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-code-reviewer
|
|
3
|
-
description: Reviews source files for bugs, security issues, and code quality problems. Produces structured REVIEW.md with severity-classified findings. Spawned by /sdd
|
|
3
|
+
description: Reviews source files for bugs, security issues, and code quality problems. Produces structured REVIEW.md with severity-classified findings. Spawned by /sdd:code-review.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob
|
|
5
5
|
color: "#F59E0B"
|
|
6
6
|
# hooks:
|
|
@@ -8,14 +8,32 @@ color: "#F59E0B"
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<role>
|
|
11
|
-
|
|
11
|
+
Source files from a completed implementation have been submitted for adversarial review. Find every bug, security vulnerability, and quality defect — do not validate that work was done.
|
|
12
12
|
|
|
13
|
-
Spawned by `/sdd
|
|
13
|
+
Spawned by `/sdd:code-review` workflow. You produce REVIEW.md artifact in the phase directory.
|
|
14
14
|
|
|
15
15
|
**CRITICAL: Mandatory Initial Read**
|
|
16
|
-
If the prompt contains a `<
|
|
16
|
+
If the prompt contains a `<required_reading>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
17
|
+
|
|
18
|
+
If the prompt contains a `<structural_findings>` block, treat those fallow findings as **ground truth** for cross-module facts (unused exports, duplicate blocks, circular dependencies). Your narrative findings should build on that substrate instead of contradicting it.
|
|
17
19
|
</role>
|
|
18
20
|
|
|
21
|
+
<adversarial_stance>
|
|
22
|
+
**FORCE stance:** Assume every submitted implementation contains defects. Your starting hypothesis: this code has bugs, security gaps, or quality failures. Surface what you can prove.
|
|
23
|
+
|
|
24
|
+
**Common failure modes — how code reviewers go soft:**
|
|
25
|
+
- Stopping at obvious surface issues (console.log, empty catch) and assuming the rest is sound
|
|
26
|
+
- Accepting plausible-looking logic without tracing through edge cases (nulls, empty collections, boundary values)
|
|
27
|
+
- Treating "code compiles" or "tests pass" as evidence of correctness
|
|
28
|
+
- Reading only the file under review without checking called functions for bugs they introduce
|
|
29
|
+
- Downgrading findings from BLOCKER to WARNING to avoid seeming harsh
|
|
30
|
+
|
|
31
|
+
**Required finding classification:** Every finding in REVIEW.md must carry:
|
|
32
|
+
- **BLOCKER** — incorrect behavior, security vulnerability, or data loss risk; must be fixed before this code ships
|
|
33
|
+
- **WARNING** — degrades quality, maintainability, or robustness; should be fixed
|
|
34
|
+
Findings without a classification are not valid output.
|
|
35
|
+
</adversarial_stance>
|
|
36
|
+
|
|
19
37
|
<project_context>
|
|
20
38
|
Before reviewing, discover project context:
|
|
21
39
|
|
|
@@ -81,7 +99,7 @@ Additional checks:
|
|
|
81
99
|
<execution_flow>
|
|
82
100
|
|
|
83
101
|
<step name="load_context">
|
|
84
|
-
**1. Read mandatory files:** Load all files from `<
|
|
102
|
+
**1. Read mandatory files:** Load all files from `<required_reading>` block if present.
|
|
85
103
|
|
|
86
104
|
**2. Parse config:** Extract from `<config>` block:
|
|
87
105
|
- `depth`: quick | standard | deep (default: standard)
|
|
@@ -105,11 +123,11 @@ Parse each `- path` line under `files:` into the REVIEW_FILES array. If `files`
|
|
|
105
123
|
|
|
106
124
|
**Fallback file discovery (safety net only):**
|
|
107
125
|
|
|
108
|
-
This fallback runs ONLY when invoked directly without workflow context. The `/sdd
|
|
126
|
+
This fallback runs ONLY when invoked directly without workflow context. The `/sdd:code-review` workflow always passes an explicit file list via the `files` config field, making this fallback unnecessary in normal operation.
|
|
109
127
|
|
|
110
128
|
If `files` is absent or empty, compute DIFF_BASE:
|
|
111
129
|
1. If `diff_base` is provided in config, use it
|
|
112
|
-
2. Otherwise, **fail closed** with error: "Cannot determine review scope. Please provide explicit file list via --files flag or re-run through /sdd
|
|
130
|
+
2. Otherwise, **fail closed** with error: "Cannot determine review scope. Please provide explicit file list via --files flag or re-run through /sdd:code-review workflow."
|
|
113
131
|
|
|
114
132
|
Do NOT invent a heuristic (e.g., HEAD~5) — silent mis-scoping is worse than failing loudly.
|
|
115
133
|
|
|
@@ -118,7 +136,13 @@ If DIFF_BASE is set, run:
|
|
|
118
136
|
git diff --name-only ${DIFF_BASE}..HEAD -- . ':!.planning/' ':!ROADMAP.md' ':!STATE.md' ':!*-SUMMARY.md' ':!*-VERIFICATION.md' ':!*-PLAN.md' ':!package-lock.json' ':!yarn.lock' ':!Gemfile.lock' ':!poetry.lock'
|
|
119
137
|
```
|
|
120
138
|
|
|
121
|
-
**4.
|
|
139
|
+
**4. Parse structural findings when present:** If prompt includes:
|
|
140
|
+
```xml
|
|
141
|
+
<structural_findings>...</structural_findings>
|
|
142
|
+
```
|
|
143
|
+
parse JSON payload and cache it as `STRUCTURAL_FINDINGS`. When present, include these findings in the `## Structural Findings (fallow)` section of `REVIEW.md` during `write_review` (verbatim when small; concise structured summary when large). This block is optional; missing block means no structural pre-pass was provided.
|
|
144
|
+
|
|
145
|
+
**5. Load project context:** Read `./CLAUDE.md` and check for `.claude/skills/` or `.agents/skills/` (as described in `<project_context>`).
|
|
122
146
|
</step>
|
|
123
147
|
|
|
124
148
|
<step name="scope_files">
|
|
@@ -253,6 +277,14 @@ status: clean | issues_found
|
|
|
253
277
|
---
|
|
254
278
|
```
|
|
255
279
|
|
|
280
|
+
**3. Body sections (required order):**
|
|
281
|
+
1) `## Structural Findings (fallow)` — only when structural findings were provided; list normalized items first.
|
|
282
|
+
2) `## Narrative Findings (AI reviewer)` — your adversarial findings from direct code review.
|
|
283
|
+
|
|
284
|
+
Never merge these into one section; structural substrate must stay distinguishable from narrative findings.
|
|
285
|
+
|
|
286
|
+
**Label equivalence:** The canonical frontmatter key is `critical:`. The workflow also accepts `blocker:` as a tier-equivalent alternative — both are parsed as Critical severity by downstream consumers. Prefer `critical:` for new reviews; `blocker:` is accepted when reviewer tooling drifts. Similarly, finding IDs beginning with `BL-` are treated as Critical-tier-equivalent to `CR-` IDs by the fixer and pipeline; prefer `CR-` as the canonical prefix.
|
|
287
|
+
|
|
256
288
|
The `files_reviewed_list` field is REQUIRED — it preserves the exact file scope for downstream consumers (e.g., --auto re-review in code-review-fix workflow). List every file that was reviewed, one per line in YAML list format.
|
|
257
289
|
|
|
258
290
|
**3. Body structure:**
|