@opengsd/gsd-core 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -2
- package/.opencode/plugins/gsd-core.js +336 -6
- package/.opencode/plugins/gsd-statusline/tui.tsx +55 -0
- package/GEMINI.md +1 -1
- package/agents/gsd-code-fixer.compact.md +1 -1
- package/agents/gsd-code-fixer.md +1 -1
- package/agents/gsd-code-reviewer.compact.md +5 -3
- package/agents/gsd-code-reviewer.md +8 -6
- package/agents/gsd-debug-session-manager.compact.md +7 -1
- package/agents/gsd-debug-session-manager.md +7 -1
- package/agents/gsd-debugger.md +2 -2
- package/agents/gsd-eval-auditor.compact.md +1 -1
- package/agents/gsd-eval-auditor.md +1 -1
- package/agents/gsd-executor.md +4 -4
- package/agents/gsd-intel-updater.compact.md +1 -1
- package/agents/gsd-intel-updater.md +1 -1
- package/agents/gsd-mempalace-curator.md +2 -2
- package/agents/gsd-phase-researcher.md +1 -1
- package/agents/gsd-plan-checker.md +7 -2
- package/agents/gsd-planner.md +3 -3
- package/agents/gsd-project-researcher.compact.md +1 -1
- package/agents/gsd-project-researcher.md +1 -1
- package/agents/gsd-research-synthesizer.compact.md +1 -1
- package/agents/gsd-research-synthesizer.md +1 -1
- package/agents/gsd-ui-auditor.compact.md +21 -30
- package/agents/gsd-ui-auditor.md +42 -51
- package/agents/gsd-ui-researcher.compact.md +1 -1
- package/agents/gsd-ui-researcher.md +1 -1
- package/agents/gsd-verifier.md +31 -9
- package/bin/gsd-mcp-server.js +3 -1
- package/bin/install.js +487 -290
- package/commands/gsd/add-tests.md +6 -1
- package/commands/gsd/ai-integration-phase.md +6 -1
- package/commands/gsd/audit-fix.md +5 -0
- package/commands/gsd/audit-milestone.md +6 -1
- package/commands/gsd/autonomous.md +5 -0
- package/commands/gsd/capture.md +8 -4
- package/commands/gsd/code-review.md +7 -2
- package/commands/gsd/complete-milestone.md +4 -0
- package/commands/gsd/config.md +7 -3
- package/commands/gsd/debug.md +11 -7
- package/commands/gsd/discuss-phase.md +7 -3
- package/commands/gsd/docs-update.md +12 -7
- package/commands/gsd/eval-review.md +6 -1
- package/commands/gsd/execute-phase.md +12 -7
- package/commands/gsd/extract-learnings.md +5 -0
- package/commands/gsd/fast.md +4 -0
- package/commands/gsd/forensics.md +5 -1
- package/commands/gsd/graphify.md +10 -6
- package/commands/gsd/health.md +5 -0
- package/commands/gsd/help.md +7 -2
- package/commands/gsd/import.md +7 -3
- package/commands/gsd/inbox.md +5 -0
- package/commands/gsd/ingest-docs.md +5 -1
- package/commands/gsd/manager.md +6 -1
- package/commands/gsd/map-codebase.md +7 -3
- package/commands/gsd/mempalace-capture.md +5 -1
- package/commands/gsd/mempalace-recall.md +5 -1
- package/commands/gsd/milestone-summary.md +5 -1
- package/commands/gsd/mvp-phase.md +8 -3
- package/commands/gsd/new-milestone.md +6 -1
- package/commands/gsd/new-project.md +5 -0
- package/commands/gsd/next.md +6 -1
- package/commands/gsd/ns-context.md +4 -0
- package/commands/gsd/ns-ideate.md +4 -0
- package/commands/gsd/ns-manage.md +4 -0
- package/commands/gsd/ns-project.md +4 -0
- package/commands/gsd/ns-review.md +4 -0
- package/commands/gsd/ns-workflow.md +4 -0
- package/commands/gsd/onboard.md +6 -1
- package/commands/gsd/pause-work.md +5 -1
- package/commands/gsd/phase.md +8 -4
- package/commands/gsd/plan-phase.md +6 -1
- package/commands/gsd/plan-review-convergence.md +5 -1
- package/commands/gsd/pr-branch.md +4 -0
- package/commands/gsd/profile-user.md +5 -1
- package/commands/gsd/progress.md +6 -1
- package/commands/gsd/quick-batch.md +20 -8
- package/commands/gsd/quick.md +12 -7
- package/commands/gsd/review.md +5 -1
- package/commands/gsd/secure-phase.md +6 -1
- package/commands/gsd/ship.md +5 -0
- package/commands/gsd/sketch.md +7 -2
- package/commands/gsd/spec-phase.md +5 -1
- package/commands/gsd/spike.md +8 -3
- package/commands/gsd/surface.md +5 -1
- package/commands/gsd/thread.md +4 -0
- package/commands/gsd/ui-phase.md +6 -1
- package/commands/gsd/ui-review.md +6 -1
- package/commands/gsd/ultraplan-phase.md +5 -1
- package/commands/gsd/undo.md +5 -1
- package/commands/gsd/update.md +6 -2
- package/commands/gsd/validate-phase.md +6 -1
- package/commands/gsd/verify-work.md +6 -1
- package/commands/gsd/workspace.md +7 -3
- package/gsd-core/bin/gsd-tools.cjs +159 -58
- package/gsd-core/bin/lib/active-workstream-store.cjs +15 -0
- package/gsd-core/bin/lib/adr-parser.cjs +37 -5
- package/gsd-core/bin/lib/agent-install-check.cjs +4 -1
- package/gsd-core/bin/lib/audit.cjs +78 -44
- package/gsd-core/bin/lib/broken-windows.cjs +13 -13
- package/gsd-core/bin/lib/capability-activation.cjs +9 -4
- package/gsd-core/bin/lib/capability-registry.cjs +249 -117
- package/gsd-core/bin/lib/capability-validator.cjs +18 -1
- package/gsd-core/bin/lib/capability-writer.cjs +2 -1
- package/gsd-core/bin/lib/check-auto-mode.cjs +35 -0
- package/gsd-core/bin/lib/check-command-router.cjs +164 -1712
- package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +13 -2
- package/gsd-core/bin/lib/cli-exit.cjs +12 -0
- package/gsd-core/bin/lib/codex-agent-toml.cjs +11 -8
- package/gsd-core/bin/lib/command-aliases.cjs +7 -0
- package/gsd-core/bin/lib/command-routing-hub.cjs +48 -1
- package/gsd-core/bin/lib/commands.cjs +201 -178
- package/gsd-core/bin/lib/complexity-trigger.cjs +8 -7
- package/gsd-core/bin/lib/config.cjs +43 -12
- package/gsd-core/bin/lib/core-utils.cjs +6 -1
- package/gsd-core/bin/lib/coverage.cjs +4 -8
- package/gsd-core/bin/lib/decision-coverage-support.cjs +259 -0
- package/gsd-core/bin/lib/drift.cjs +177 -42
- package/gsd-core/bin/lib/frontmatter-fence.cjs +90 -0
- package/gsd-core/bin/lib/frontmatter-splice.cjs +494 -0
- package/gsd-core/bin/lib/frontmatter.cjs +413 -234
- package/gsd-core/bin/lib/gap-checker.cjs +72 -29
- package/gsd-core/bin/lib/gate-api-coverage-verify-pre.cjs +381 -0
- package/gsd-core/bin/lib/gate-args.cjs +53 -0
- package/gsd-core/bin/lib/gate-codebase-drift.cjs +285 -0
- package/gsd-core/bin/lib/gate-config.cjs +46 -0
- package/gsd-core/bin/lib/gate-context-drift.cjs +142 -0
- package/gsd-core/bin/lib/gate-decision-coverage-plan.cjs +169 -0
- package/gsd-core/bin/lib/gate-decision-coverage-verify.cjs +126 -0
- package/gsd-core/bin/lib/gate-evaluation-scope.cjs +555 -0
- package/gsd-core/bin/lib/gate-evidence.cjs +138 -0
- package/gsd-core/bin/lib/gate-exit.cjs +27 -0
- package/gsd-core/bin/lib/gate-gap-analysis-plan-post.cjs +61 -0
- package/gsd-core/bin/lib/gate-phase-context.cjs +170 -0
- package/gsd-core/bin/lib/gate-predicate-evaluator.cjs +1 -1
- package/gsd-core/bin/lib/gate-predicate.cjs +165 -0
- package/gsd-core/bin/lib/gate-prohibition-enforcement.cjs +94 -0
- package/gsd-core/bin/lib/gate-schema-drift.cjs +165 -0
- package/gsd-core/bin/lib/gate-tdd-red-evidence.cjs +100 -0
- package/gsd-core/bin/lib/gate-tdd-review-checkpoint.cjs +182 -0
- package/gsd-core/bin/lib/gate-ui-plan.cjs +86 -0
- package/gsd-core/bin/lib/gate-ui-safety.cjs +81 -0
- package/gsd-core/bin/lib/gate-verdict.cjs +64 -0
- package/gsd-core/bin/lib/gate-verify-command-paths.cjs +78 -0
- package/gsd-core/bin/lib/gate-verify-failure-directions.cjs +41 -0
- package/gsd-core/bin/lib/graphify.cjs +3 -2
- package/gsd-core/bin/lib/health-diagnostic-rules/phase-structure.cjs +43 -47
- package/gsd-core/bin/lib/health-diagnostic.cjs +45 -8
- package/gsd-core/bin/lib/init.cjs +194 -108
- package/gsd-core/bin/lib/install-engine.cjs +30 -35
- package/gsd-core/bin/lib/install-profiles.cjs +7 -4
- package/gsd-core/bin/lib/install-shadow-report.cjs +12 -0
- package/gsd-core/bin/lib/installer-migrations/011-opencode-mcp-no-prompts.cjs +99 -0
- package/gsd-core/bin/lib/installer-migrations.cjs +54 -1
- package/gsd-core/bin/lib/io.cjs +122 -3
- package/gsd-core/bin/lib/jsonc-edit.cjs +418 -0
- package/gsd-core/bin/lib/loop-host-contract.cjs +2 -1
- package/gsd-core/bin/lib/loop-resolver.cjs +95 -0
- package/gsd-core/bin/lib/markdown-sectionizer.cjs +75 -1
- package/gsd-core/bin/lib/mcp-server.cjs +5 -1
- package/gsd-core/bin/lib/milestone.cjs +19 -1
- package/gsd-core/bin/lib/model-resolver.cjs +18 -18
- package/gsd-core/bin/lib/observability/event.cjs +1 -1
- package/gsd-core/bin/lib/observability/logger.cjs +46 -1
- package/gsd-core/bin/lib/opencode-mcp-entry.cjs +39 -0
- package/gsd-core/bin/lib/opencode-version.cjs +486 -0
- package/gsd-core/bin/lib/pattern.cjs +10 -0
- package/gsd-core/bin/lib/phase-command-router.cjs +11 -4
- package/gsd-core/bin/lib/phase-estimation.cjs +5 -4
- package/gsd-core/bin/lib/phase-id.cjs +1 -1
- package/gsd-core/bin/lib/phase-lifecycle.cjs +9 -2
- package/gsd-core/bin/lib/phase-status.cjs +360 -0
- package/gsd-core/bin/lib/phase.cjs +301 -80
- package/gsd-core/bin/lib/plan-document.cjs +93 -19
- package/gsd-core/bin/lib/plan-drift-guard.cjs +5 -0
- package/gsd-core/bin/lib/planning-document.cjs +273 -40
- package/gsd-core/bin/lib/planning-inspect.cjs +42 -8
- package/gsd-core/bin/lib/planning-snapshot.cjs +18 -0
- package/gsd-core/bin/lib/planning-workspace.cjs +76 -53
- package/gsd-core/bin/lib/pristine-baseline.cjs +10 -0
- package/gsd-core/bin/lib/profile-output.cjs +6 -3
- package/gsd-core/bin/lib/prohibition-enforcement.cjs +0 -55
- package/gsd-core/bin/lib/quick-batch-command-router.cjs +35 -9
- package/gsd-core/bin/lib/quick-batch-dispatch.cjs +13 -9
- package/gsd-core/bin/lib/real-home-guard.cjs +9 -1
- package/gsd-core/bin/lib/report-parser.cjs +269 -0
- package/gsd-core/bin/lib/roadmap-command-router.cjs +13 -15
- package/gsd-core/bin/lib/roadmap-parser.cjs +82 -15
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +127 -65
- package/gsd-core/bin/lib/roadmap.cjs +169 -72
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +186 -161
- package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +2 -1
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +57 -1
- package/gsd-core/bin/lib/runtime-homes.cjs +13 -10
- package/gsd-core/bin/lib/runtime-hooks-surface.cjs +365 -594
- package/gsd-core/bin/lib/runtime-name-policy.cjs +142 -27
- package/gsd-core/bin/lib/runtime-slash.cjs +60 -30
- package/gsd-core/bin/lib/shell-command-projection.cjs +37 -2
- package/gsd-core/bin/lib/smart-entry.cjs +111 -56
- package/gsd-core/bin/lib/stale-bake-guard.cjs +32 -48
- package/gsd-core/bin/lib/state-contract.cjs +15 -18
- package/gsd-core/bin/lib/state-document.cjs +100 -22
- package/gsd-core/bin/lib/state-transition.cjs +67 -9
- package/gsd-core/bin/lib/state.cjs +668 -171
- package/gsd-core/bin/lib/surface.cjs +2 -1
- package/gsd-core/bin/lib/tdd-red-evidence.cjs +48 -152
- package/gsd-core/bin/lib/uat-predicate.cjs +313 -35
- package/gsd-core/bin/lib/uat.cjs +424 -7
- package/gsd-core/bin/lib/ui-frontend-evidence.cjs +94 -58
- package/gsd-core/bin/lib/update-context.cjs +18 -1
- package/gsd-core/bin/lib/vendor/README.md +31 -9
- package/gsd-core/bin/lib/vendor/saxes.cjs +1934 -0
- package/gsd-core/bin/lib/vendor/saxes.cjs.LICENSE.txt +92 -0
- package/gsd-core/bin/lib/vendor/tap-parser.cjs +8927 -0
- package/gsd-core/bin/lib/vendor/tap-parser.cjs.LICENSE.txt +152 -0
- package/gsd-core/bin/lib/verification-command-router.cjs +2 -1
- package/gsd-core/bin/lib/verification.cjs +1265 -324
- package/gsd-core/bin/lib/verify-command-router.cjs +18 -7
- package/gsd-core/bin/lib/verify.cjs +286 -567
- package/gsd-core/bin/lib/workstream-inventory-builder.cjs +14 -6
- package/gsd-core/bin/lib/workstream-inventory.cjs +31 -21
- package/gsd-core/bin/lib/workstream-name-policy.cjs +31 -1
- package/gsd-core/bin/lib/workstream.cjs +11 -2
- package/gsd-core/bin/shared/config-defaults.manifest.json +5 -0
- package/gsd-core/bin/shared/config-schema.manifest.json +4 -0
- package/gsd-core/references/autonomous-smart-discuss.md +2 -1
- package/gsd-core/references/autonomous-ui-design-contract.md +3 -3
- package/gsd-core/references/execute-mvp-tdd.md +5 -10
- package/gsd-core/references/execute-phase-between-wave-reset.md +3 -0
- package/gsd-core/references/execute-phase-response-language.md +1 -1
- package/gsd-core/references/gsd-run-resolver.md +1 -1
- package/gsd-core/references/loop-hook-dispatch.md +7 -1
- package/gsd-core/references/offer-next.md +1 -1
- package/gsd-core/references/planning-config.md +1 -1
- package/gsd-core/references/spidr-splitting.md +1 -1
- package/gsd-core/references/tdd.md +10 -4
- package/gsd-core/references/verifier-phase-gates.md +5 -2
- package/gsd-core/references/verify-mvp-mode.md +2 -2
- package/gsd-core/references/workstream-flag.md +33 -3
- package/gsd-core/templates/README.md +1 -1
- package/gsd-core/templates/UAT.md +17 -1
- package/gsd-core/templates/config.json +2 -11
- package/gsd-core/templates/verification-report.md +1 -1
- package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -1
- package/gsd-core/workflows/add-backlog.md +1 -1
- package/gsd-core/workflows/add-phase.md +8 -7
- package/gsd-core/workflows/add-tests.md +3 -2
- package/gsd-core/workflows/add-todo.md +4 -3
- package/gsd-core/workflows/ai-integration-phase.md +3 -2
- package/gsd-core/workflows/audit-fix.md +1 -1
- package/gsd-core/workflows/audit-milestone.md +4 -3
- package/gsd-core/workflows/audit-uat.md +1 -1
- package/gsd-core/workflows/autonomous.md +28 -18
- package/gsd-core/workflows/check-todos.md +6 -5
- package/gsd-core/workflows/cleanup.md +1 -1
- package/gsd-core/workflows/code-review/steps/structural-pre-pass.md +20 -13
- package/gsd-core/workflows/code-review-fix.md +5 -4
- package/gsd-core/workflows/code-review.md +100 -91
- package/gsd-core/workflows/complete-milestone/detail/elaboration.md +4 -3
- package/gsd-core/workflows/complete-milestone.md +12 -7
- package/gsd-core/workflows/debug.md +30 -5
- package/gsd-core/workflows/diagnose-issues.md +3 -2
- package/gsd-core/workflows/discuss-phase/modes/advisor.md +1 -1
- package/gsd-core/workflows/discuss-phase/modes/chain.md +1 -1
- package/gsd-core/workflows/discuss-phase-assumptions.md +4 -3
- package/gsd-core/workflows/discuss-phase.md +4 -3
- package/gsd-core/workflows/do.md +1 -1
- package/gsd-core/workflows/docs-update.md +4 -3
- package/gsd-core/workflows/edit-phase.md +4 -3
- package/gsd-core/workflows/eval-review.md +5 -3
- package/gsd-core/workflows/execute-phase/detail/elaboration.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/code-review-disposition.md +4 -2
- package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +15 -4
- package/gsd-core/workflows/execute-phase/steps/completion-reconciliation.md +10 -7
- package/gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md +2 -2
- package/gsd-core/workflows/execute-phase/steps/gap-closure-artifacts.md +3 -1
- package/gsd-core/workflows/execute-phase/steps/partial-wave.md +2 -2
- package/gsd-core/workflows/execute-phase/steps/per-plan-executor-routing.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/protected-branch.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/regression-gate-run.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/regression-gate.md +2 -0
- package/gsd-core/workflows/execute-phase/steps/tdd-applicability-resolution.md +1 -1
- package/gsd-core/workflows/execute-phase/steps/verify-phase-goal.md +187 -0
- package/gsd-core/workflows/execute-phase/steps/wave-post-gate-hooks.md +2 -3
- package/gsd-core/workflows/execute-phase.md +81 -171
- package/gsd-core/workflows/execute-plan.md +13 -19
- package/gsd-core/workflows/explore.md +2 -2
- package/gsd-core/workflows/extract-learnings.md +3 -2
- package/gsd-core/workflows/fast.md +1 -1
- package/gsd-core/workflows/forensics.md +1 -1
- package/gsd-core/workflows/graduation.md +1 -1
- package/gsd-core/workflows/health.md +2 -1
- package/gsd-core/workflows/import.md +3 -2
- package/gsd-core/workflows/inbox.md +1 -1
- package/gsd-core/workflows/ingest-docs.md +1 -1
- package/gsd-core/workflows/insert-phase.md +4 -3
- package/gsd-core/workflows/list-seeds.md +1 -1
- package/gsd-core/workflows/list-workspaces.md +1 -1
- package/gsd-core/workflows/manager.md +5 -3
- package/gsd-core/workflows/map-codebase.md +4 -3
- package/gsd-core/workflows/milestone-summary.md +3 -2
- package/gsd-core/workflows/mvp-phase.md +14 -14
- package/gsd-core/workflows/new-milestone.md +10 -10
- package/gsd-core/workflows/new-project/steps/auto-mode-config.md +1 -1
- package/gsd-core/workflows/new-project.md +1 -1
- package/gsd-core/workflows/new-workspace.md +1 -1
- package/gsd-core/workflows/next.md +1 -1
- package/gsd-core/workflows/pause-work.md +2 -2
- package/gsd-core/workflows/plan-phase/detail/elaboration.md +1 -1
- package/gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md +1 -1
- package/gsd-core/workflows/plan-phase/steps/closed-phase-gate.md +1 -1
- package/gsd-core/workflows/plan-phase/steps/prd-express-path.md +1 -1
- package/gsd-core/workflows/plan-phase/steps/stall-detection-helpers.md +1 -1
- package/gsd-core/workflows/plan-phase.md +27 -18
- package/gsd-core/workflows/plan-review-convergence.md +1 -1
- package/gsd-core/workflows/plant-seed.md +1 -1
- package/gsd-core/workflows/pr-branch.md +1 -1
- package/gsd-core/workflows/profile-user.md +1 -1
- package/gsd-core/workflows/progress.md +19 -49
- package/gsd-core/workflows/quick/steps/plan-checker-loop.md +4 -2
- package/gsd-core/workflows/quick/steps/quick-verification.md +4 -4
- package/gsd-core/workflows/quick/steps/worktree-pre-dispatch-commit.md +30 -11
- package/gsd-core/workflows/quick-batch/steps/batch-init.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/completion.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/merge-wave.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/planner-wave.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/research-phase.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/resume-mode.md +1 -1
- package/gsd-core/workflows/quick-batch/steps/verification-wave.md +9 -3
- package/gsd-core/workflows/quick-batch/steps/worktree-dispatch.md +1 -1
- package/gsd-core/workflows/quick-batch.md +15 -10
- package/gsd-core/workflows/quick.md +42 -31
- package/gsd-core/workflows/remove-phase.md +3 -2
- package/gsd-core/workflows/remove-workspace.md +1 -1
- package/gsd-core/workflows/resume-project.md +17 -12
- package/gsd-core/workflows/review.md +3 -2
- package/gsd-core/workflows/scan.md +3 -2
- package/gsd-core/workflows/secure-phase.md +11 -12
- package/gsd-core/workflows/settings-advanced.md +1 -1
- package/gsd-core/workflows/settings-integrations.md +1 -1
- package/gsd-core/workflows/settings.md +1 -1
- package/gsd-core/workflows/ship.md +12 -12
- package/gsd-core/workflows/sketch-wrap-up.md +1 -1
- package/gsd-core/workflows/sketch.md +1 -1
- package/gsd-core/workflows/smart-entry.md +1 -1
- package/gsd-core/workflows/spec-phase.md +1 -1
- package/gsd-core/workflows/spike-wrap-up.md +1 -1
- package/gsd-core/workflows/spike.md +1 -1
- package/gsd-core/workflows/stats.md +1 -1
- package/gsd-core/workflows/sync-skills.md +1 -1
- package/gsd-core/workflows/thread.md +2 -2
- package/gsd-core/workflows/transition.md +13 -23
- package/gsd-core/workflows/ui-phase.md +5 -4
- package/gsd-core/workflows/ui-review.md +4 -3
- package/gsd-core/workflows/ultraplan-phase.md +3 -2
- package/gsd-core/workflows/undo.md +1 -1
- package/gsd-core/workflows/validate-phase.md +10 -12
- package/gsd-core/workflows/verify-work/detail/elaboration.md +43 -3
- package/gsd-core/workflows/verify-work/steps/automated-ui-verification.md +1 -1
- package/gsd-core/workflows/verify-work/steps/mvp-uat-framing.md +5 -3
- package/gsd-core/workflows/verify-work.md +68 -59
- package/hooks/dist/gsd-agent-isolation-guard.js +8 -0
- package/hooks/dist/gsd-check-update-worker.js +8 -0
- package/hooks/dist/gsd-check-update.js +34 -20
- package/hooks/dist/gsd-context-monitor.js +45 -13
- package/hooks/dist/gsd-cursor-subagent-start.js +8 -0
- package/hooks/dist/gsd-secret-read-guard.js +263 -16
- package/hooks/dist/gsd-statusline.js +336 -29
- package/hooks/dist/gsd-update-banner.js +8 -0
- package/hooks/dist/gsd-windsurf-pre-write.js +11 -2
- package/hooks/dist/gsd-workflow-guard.js +5 -4
- package/hooks/dist/gsd-worktree-path-guard.js +6 -2
- package/hooks/dist/lib/cli-exit.js +12 -0
- package/hooks/dist/lib/git-probe.js +17 -1
- package/hooks/dist/lib/isolation-sentinel.js +2 -2
- package/hooks/gsd-agent-isolation-guard.js +8 -0
- package/hooks/gsd-check-update-worker.js +8 -0
- package/hooks/gsd-check-update.js +34 -20
- package/hooks/gsd-context-monitor.js +45 -13
- package/hooks/gsd-cursor-subagent-start.js +8 -0
- package/hooks/gsd-secret-read-guard.js +263 -16
- package/hooks/gsd-statusline.js +336 -29
- package/hooks/gsd-update-banner.js +8 -0
- package/hooks/gsd-windsurf-pre-write.js +11 -2
- package/hooks/gsd-workflow-guard.js +5 -4
- package/hooks/gsd-worktree-path-guard.js +6 -2
- package/hooks/hooks.json +5 -5
- package/hooks/lib/cli-exit.js +12 -0
- package/hooks/lib/git-probe.js +17 -1
- package/hooks/lib/isolation-sentinel.js +2 -2
- package/package.json +21 -4
- package/scripts/changeset/parse.cjs +52 -4
- package/scripts/ci-timeout-report.cjs +770 -4
- package/scripts/command-contract-helpers.cjs +12 -8
- package/scripts/docs-guard-registry.cjs +6 -0
- package/scripts/gen-capability-registry.cjs +7 -1
- package/scripts/gen-features.cjs +13 -8
- package/scripts/gen-hooks-cli-exit.cjs +12 -28
- package/scripts/gen-loop-host-contract.cjs +14 -2
- package/scripts/gen-platform-conformance-tier.cjs +187 -1
- package/scripts/gen-plugin-skills.cjs +87 -1
- package/scripts/gen-research-agents.cjs +24 -31
- package/scripts/gen-scripts-cli-exit.cjs +30 -3
- package/scripts/gen-test-timings.cjs +32 -7
- package/scripts/lib/cli-exit.cjs +12 -0
- package/scripts/lib/macos-conformance-tier.generated.cjs +24 -2
- package/scripts/lib/ndjson-reporter.cjs +28 -3
- package/scripts/lib/platform-conformance-tier.generated.cjs +44 -5
- package/scripts/lib/registration-ledger-preload.cjs +155 -0
- package/scripts/lib/vendor-bundle.cjs +59 -0
- package/scripts/lib/vendor-licenses/saxes-6.0.0.txt +64 -0
- package/scripts/lint-allow-test-rule-refs.effective-ceiling.json +1 -1
- package/scripts/lint-allow-test-rule-refs.unverified-ceiling.json +1 -1
- package/scripts/lint-completion-predicate-drift.cjs +18 -19
- package/scripts/lint-descriptions.cjs +7 -3
- package/scripts/lint-docs-guard-registration.exempt-baseline.cjs +10 -0
- package/scripts/lint-eslint-glob-coverage.allowlist.json +20 -0
- package/scripts/lint-frontmatter-fence-drift.cjs +313 -0
- package/scripts/lint-frontmatter-scalar-broad-grep.cjs +122 -16
- package/scripts/lint-phase-enumeration-drift.cjs +12 -8
- package/scripts/lint-phase-id-drift.cjs +29 -0
- package/scripts/lint-planning-document-positive-control.cjs +329 -0
- package/scripts/lint-response-language-coverage.cjs +3 -0
- package/scripts/lint-skill-deps.cjs +7 -3
- package/scripts/lint-test-file-count.allowlist.json +11 -1
- package/scripts/lint-test-file-count.cjs +34 -1
- package/scripts/lint-vendored-deps.cjs +41 -5
- package/scripts/lint-workflow-shellcheck-baseline.json +10 -10
- package/scripts/mutation-matrix.cjs +53 -6
- package/scripts/release-tarball-smoke.cjs +14 -7
- package/scripts/require-issue-link-policy.cjs +6 -2
- package/scripts/sync-runtime-launcher.cjs +184 -2
- package/scripts/verify-npm-publish.cjs +76 -20
- package/skills/gsd-add-tests/SKILL.md +6 -1
- package/skills/gsd-ai-integration-phase/SKILL.md +6 -1
- package/skills/gsd-audit-fix/SKILL.md +5 -0
- package/skills/gsd-audit-milestone/SKILL.md +6 -1
- package/skills/gsd-autonomous/SKILL.md +5 -0
- package/skills/gsd-capture/SKILL.md +8 -4
- package/skills/gsd-code-review/SKILL.md +7 -2
- package/skills/gsd-complete-milestone/SKILL.md +4 -0
- package/skills/gsd-config/SKILL.md +8 -4
- package/skills/gsd-debug/SKILL.md +11 -7
- package/skills/gsd-discuss-phase/SKILL.md +7 -3
- package/skills/gsd-docs-update/SKILL.md +12 -7
- package/skills/gsd-eval-review/SKILL.md +6 -1
- package/skills/gsd-execute-phase/SKILL.md +12 -7
- package/skills/gsd-extract-learnings/SKILL.md +5 -0
- package/skills/gsd-fast/SKILL.md +4 -0
- package/skills/gsd-forensics/SKILL.md +5 -1
- package/skills/gsd-graphify/SKILL.md +10 -6
- package/skills/gsd-health/SKILL.md +5 -0
- package/skills/gsd-help/SKILL.md +7 -2
- package/skills/gsd-import/SKILL.md +7 -3
- package/skills/gsd-inbox/SKILL.md +5 -0
- package/skills/gsd-ingest-docs/SKILL.md +5 -1
- package/skills/gsd-manager/SKILL.md +6 -1
- package/skills/gsd-map-codebase/SKILL.md +7 -3
- package/skills/gsd-mempalace-capture/SKILL.md +5 -1
- package/skills/gsd-mempalace-recall/SKILL.md +5 -1
- package/skills/gsd-milestone-summary/SKILL.md +5 -1
- package/skills/gsd-mvp-phase/SKILL.md +8 -3
- package/skills/gsd-new-milestone/SKILL.md +6 -1
- package/skills/gsd-new-project/SKILL.md +5 -0
- package/skills/gsd-next/SKILL.md +6 -1
- package/skills/gsd-ns-context/SKILL.md +4 -0
- package/skills/gsd-ns-ideate/SKILL.md +4 -0
- package/skills/gsd-ns-manage/SKILL.md +4 -0
- package/skills/gsd-ns-project/SKILL.md +4 -0
- package/skills/gsd-ns-review/SKILL.md +4 -0
- package/skills/gsd-ns-workflow/SKILL.md +4 -0
- package/skills/gsd-onboard/SKILL.md +6 -1
- package/skills/gsd-pause-work/SKILL.md +5 -1
- package/skills/gsd-phase/SKILL.md +8 -4
- package/skills/gsd-plan-phase/SKILL.md +6 -1
- package/skills/gsd-plan-review-convergence/SKILL.md +5 -1
- package/skills/gsd-pr-branch/SKILL.md +4 -0
- package/skills/gsd-profile-user/SKILL.md +5 -1
- package/skills/gsd-progress/SKILL.md +6 -1
- package/skills/gsd-quick/SKILL.md +16 -10
- package/skills/gsd-quick-batch/SKILL.md +20 -8
- package/skills/gsd-review/SKILL.md +5 -1
- package/skills/gsd-review-backlog/SKILL.md +3 -2
- package/skills/gsd-secure-phase/SKILL.md +6 -1
- package/skills/gsd-ship/SKILL.md +5 -0
- package/skills/gsd-sketch/SKILL.md +7 -2
- package/skills/gsd-spec-phase/SKILL.md +5 -1
- package/skills/gsd-spike/SKILL.md +8 -3
- package/skills/gsd-surface/SKILL.md +5 -1
- package/skills/gsd-thread/SKILL.md +4 -0
- package/skills/gsd-ui-phase/SKILL.md +6 -1
- package/skills/gsd-ui-review/SKILL.md +6 -1
- package/skills/gsd-ultraplan-phase/SKILL.md +5 -1
- package/skills/gsd-undo/SKILL.md +5 -1
- package/skills/gsd-update/SKILL.md +6 -2
- package/skills/gsd-validate-phase/SKILL.md +6 -1
- package/skills/gsd-verify-work/SKILL.md +6 -1
- package/skills/gsd-workspace/SKILL.md +7 -3
- package/skills/gsd-workstreams/SKILL.md +6 -6
- package/vscode/package.json +1 -1
- package/gsd-core/workflows/execute-phase/steps/stale-reverification.md +0 -24
|
@@ -10,7 +10,7 @@ const capabilities = {
|
|
|
10
10
|
"ai-integration": {
|
|
11
11
|
"id": "ai-integration",
|
|
12
12
|
"role": "feature",
|
|
13
|
-
"version": "1.
|
|
13
|
+
"version": "1.17.0",
|
|
14
14
|
"title": "AI design contract",
|
|
15
15
|
"description": "AI-SPEC design contract workflow for phases that build AI systems; owns the AI integration command, agents, and workflow.ai_integration_phase activation key.",
|
|
16
16
|
"tier": "full",
|
|
@@ -95,7 +95,7 @@ const capabilities = {
|
|
|
95
95
|
"antigravity": {
|
|
96
96
|
"id": "antigravity",
|
|
97
97
|
"role": "runtime",
|
|
98
|
-
"version": "1.
|
|
98
|
+
"version": "1.17.0",
|
|
99
99
|
"title": "Antigravity",
|
|
100
100
|
"description": "Google Antigravity IDE — config/settings home nested under ~/.gemini/antigravity (probed across 1.x and 2.x layouts); global skills/agents install under ~/.gemini/config, the dir AGY scans for global discovery (#3738); Gemini hook event dialect; flat skill layout; tier-1 support.",
|
|
101
101
|
"tier": "core",
|
|
@@ -194,10 +194,14 @@ const capabilities = {
|
|
|
194
194
|
"effortSurface": "undocumented"
|
|
195
195
|
},
|
|
196
196
|
"hostBehaviors": {
|
|
197
|
+
"unsupportedFeatures": [
|
|
198
|
+
"context-warnings"
|
|
199
|
+
],
|
|
197
200
|
"projectInstructionFile": "GEMINI.md",
|
|
198
201
|
"noPathRewrite": true,
|
|
199
202
|
"hookPathStyle": "raw",
|
|
200
|
-
"globalDirResolver": "antigravity"
|
|
203
|
+
"globalDirResolver": "antigravity",
|
|
204
|
+
"contentRewriteProfile": "attribution-only"
|
|
201
205
|
}
|
|
202
206
|
},
|
|
203
207
|
"reviewer": {
|
|
@@ -258,7 +262,7 @@ const capabilities = {
|
|
|
258
262
|
"assumption-delta": {
|
|
259
263
|
"id": "assumption-delta",
|
|
260
264
|
"role": "feature",
|
|
261
|
-
"version": "1.
|
|
265
|
+
"version": "1.17.0",
|
|
262
266
|
"title": "Assumption-delta architecture checkpoint",
|
|
263
267
|
"description": "Rarely-firing advisory checkpoint that triggers when a phase makes something plural, optional, or chosen that used to be singular, required, or derived. Surfaces one identity-model question (promote the new general representation to primary, or add it alongside?) so a silent primary-key drift does not accumulate into a later user-facing bug. Non-blocking; fires only on a detected signal.",
|
|
264
268
|
"tier": "full",
|
|
@@ -304,7 +308,7 @@ const capabilities = {
|
|
|
304
308
|
"audit": {
|
|
305
309
|
"id": "audit",
|
|
306
310
|
"role": "feature",
|
|
307
|
-
"version": "1.
|
|
311
|
+
"version": "1.17.0",
|
|
308
312
|
"title": "Audit",
|
|
309
313
|
"description": "Open-artifact audit and UAT-gap audit for milestone close gates; exposes `gsd-tools audit-uat` (cross-phase UAT outstanding items) and `gsd-tools audit-open` (structured open-artifact scan across debug, tasks, threads, todos, seeds, UAT, verification, context-questions).",
|
|
310
314
|
"tier": "full",
|
|
@@ -341,7 +345,7 @@ const capabilities = {
|
|
|
341
345
|
"augment": {
|
|
342
346
|
"id": "augment",
|
|
343
347
|
"role": "runtime",
|
|
344
|
-
"version": "1.
|
|
348
|
+
"version": "1.17.0",
|
|
345
349
|
"title": "Augment Code",
|
|
346
350
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
347
351
|
"tier": "core",
|
|
@@ -427,8 +431,12 @@ const capabilities = {
|
|
|
427
431
|
"permissionWriter": null,
|
|
428
432
|
"extendedHookEvents": [],
|
|
429
433
|
"hostBehaviors": {
|
|
434
|
+
"unsupportedFeatures": [
|
|
435
|
+
"context-warnings"
|
|
436
|
+
],
|
|
430
437
|
"commandBodyConverter": "convertClaudeToAugmentMarkdown",
|
|
431
|
-
"mcpCompanion": "settings-json"
|
|
438
|
+
"mcpCompanion": "settings-json",
|
|
439
|
+
"contentRewriteProfile": "slash-lookahead-own-derived"
|
|
432
440
|
},
|
|
433
441
|
"hostIntegration": {
|
|
434
442
|
"embeddingMode": "declarative",
|
|
@@ -455,7 +463,7 @@ const capabilities = {
|
|
|
455
463
|
"broken-windows": {
|
|
456
464
|
"id": "broken-windows",
|
|
457
465
|
"role": "feature",
|
|
458
|
-
"version": "1.
|
|
466
|
+
"version": "1.17.0",
|
|
459
467
|
"title": "Broken-windows ledger",
|
|
460
468
|
"description": "Cross-phase defect register accumulating stubs, TODOs, skipped tests, unrun verifies, and unmet truths into .planning/WINDOWS.md. When enforcement is enabled, it blocks /gsd-ship while any window is open unless explicitly waived with a recorded reason. Operationalizes GSD's no-defer discipline as a tracked artifact (issue #1950).",
|
|
461
469
|
"tier": "full",
|
|
@@ -501,7 +509,7 @@ const capabilities = {
|
|
|
501
509
|
"claude": {
|
|
502
510
|
"id": "claude",
|
|
503
511
|
"role": "runtime",
|
|
504
|
-
"version": "1.
|
|
512
|
+
"version": "1.17.0",
|
|
505
513
|
"title": "Claude Code",
|
|
506
514
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
507
515
|
"tier": "core",
|
|
@@ -614,7 +622,14 @@ const capabilities = {
|
|
|
614
622
|
"skillsGlobalOnboarding": true,
|
|
615
623
|
"legacyCommandsGsdInstallMigration": true,
|
|
616
624
|
"legacyCommandsGsdUninstall": "global",
|
|
617
|
-
"hyphenNameAgentBody": true
|
|
625
|
+
"hyphenNameAgentBody": true,
|
|
626
|
+
"skipCompactAgents": true,
|
|
627
|
+
"omitBashRunnerOnWindows": true,
|
|
628
|
+
"specRootSkillPass": true,
|
|
629
|
+
"restoreAtRefTildeInAgents": true,
|
|
630
|
+
"restoreAtRefTildeInSpecTree": true,
|
|
631
|
+
"skipRuntimeDefaultsStamp": true,
|
|
632
|
+
"contentRewriteProfile": "slash-tilde-restore"
|
|
618
633
|
}
|
|
619
634
|
},
|
|
620
635
|
"reviewer": {
|
|
@@ -682,7 +697,7 @@ const capabilities = {
|
|
|
682
697
|
"claude-orchestration": {
|
|
683
698
|
"id": "claude-orchestration",
|
|
684
699
|
"role": "feature",
|
|
685
|
-
"version": "1.
|
|
700
|
+
"version": "1.17.0",
|
|
686
701
|
"title": "Claude orchestration (Workflow backend)",
|
|
687
702
|
"description": "Default-off, BETA, claude-only capability that adopts Claude Code's Workflow tool (the engine behind /effort ultracode) as an optional parallel-execution backend for the GSD loop. When the runtime exposes the Workflow tool and claude_orchestration.execution_backend resolves to 'workflow', execute-phase emits a generated Workflow script (waves -> parallel() barriers, plans -> agent({ agentType: 'gsd-executor', isolation: 'worktree' }), files_modified overlap -> separate sequential stages, resumeFromRunId wired to the phase run id, shared token budget) that composes the SAME gsd-executor agent and worktree isolation the inline path uses, restoring the wave parallelism the #853 backgrounded-agent nesting limitation forces inline on Claude Code. (The plan-checker and verifier remain inline until separately wired — this capability delivers the parallel-execution backend, not those gates.) Also folds the ultraplan plan-offload under one runtime gate (plan:* surface). On any runtime lacking the Workflow tool, or when the capability is disabled, behaviour is byte-identical to today (inline/manual dispatch). Detection + emission live in gsd-core/bin/lib/claude-orchestration.cjs (pure, fail-closed). Mirrors the existing gsd-ultraplan-phase BETA-isolation posture.",
|
|
688
703
|
"tier": "full",
|
|
@@ -756,7 +771,7 @@ const capabilities = {
|
|
|
756
771
|
"cline": {
|
|
757
772
|
"id": "cline",
|
|
758
773
|
"role": "runtime",
|
|
759
|
-
"version": "1.
|
|
774
|
+
"version": "1.17.0",
|
|
760
775
|
"title": "Cline",
|
|
761
776
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
762
777
|
"tier": "core",
|
|
@@ -842,14 +857,15 @@ const capabilities = {
|
|
|
842
857
|
"skipSharedHooksInstall": true,
|
|
843
858
|
"localTargetIsProjectRoot": true,
|
|
844
859
|
"clineRulesSurface": true,
|
|
845
|
-
"localCommandsViaRules": true
|
|
860
|
+
"localCommandsViaRules": true,
|
|
861
|
+
"contentRewriteProfile": "slash-bare-own-tilde"
|
|
846
862
|
}
|
|
847
863
|
}
|
|
848
864
|
},
|
|
849
865
|
"code-review": {
|
|
850
866
|
"id": "code-review",
|
|
851
867
|
"role": "feature",
|
|
852
|
-
"version": "1.
|
|
868
|
+
"version": "1.17.0",
|
|
853
869
|
"title": "Code review",
|
|
854
870
|
"description": "Source-file code review and review-fix workflow support for completed execution work.",
|
|
855
871
|
"tier": "full",
|
|
@@ -935,7 +951,7 @@ const capabilities = {
|
|
|
935
951
|
"codebuddy": {
|
|
936
952
|
"id": "codebuddy",
|
|
937
953
|
"role": "runtime",
|
|
938
|
-
"version": "1.
|
|
954
|
+
"version": "1.17.0",
|
|
939
955
|
"title": "CodeBuddy",
|
|
940
956
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
941
957
|
"tier": "core",
|
|
@@ -1046,16 +1062,20 @@ const capabilities = {
|
|
|
1046
1062
|
"effortSurface": "undocumented"
|
|
1047
1063
|
},
|
|
1048
1064
|
"hostBehaviors": {
|
|
1049
|
-
"
|
|
1065
|
+
"unsupportedFeatures": [
|
|
1066
|
+
"context-warnings"
|
|
1067
|
+
],
|
|
1068
|
+
"reportCommandsDir": true,
|
|
1069
|
+
"contentRewriteProfile": "slash-bare-own-tilde-bare"
|
|
1050
1070
|
}
|
|
1051
1071
|
}
|
|
1052
1072
|
},
|
|
1053
1073
|
"coderabbit": {
|
|
1054
1074
|
"id": "coderabbit",
|
|
1055
1075
|
"role": "reviewer",
|
|
1056
|
-
"version": "1.
|
|
1076
|
+
"version": "1.17.0",
|
|
1057
1077
|
"title": "CodeRabbit",
|
|
1058
|
-
"description": "CodeRabbit CLI — cross-AI /gsd
|
|
1078
|
+
"description": "CodeRabbit CLI — cross-AI /gsd-review reviewer lane only; not a GSD install target (no runtime body, no artifacts). Reviews the working-tree diff (`coderabbit review --prompt-only`), not the source tree, and accepts neither a prompt nor a model flag; findings are down-weighted in consensus (evidenceClass: diff-only).",
|
|
1059
1079
|
"tier": "full",
|
|
1060
1080
|
"requires": [],
|
|
1061
1081
|
"engines": {
|
|
@@ -1105,7 +1125,7 @@ const capabilities = {
|
|
|
1105
1125
|
"codex": {
|
|
1106
1126
|
"id": "codex",
|
|
1107
1127
|
"role": "runtime",
|
|
1108
|
-
"version": "1.
|
|
1128
|
+
"version": "1.17.0",
|
|
1109
1129
|
"title": "OpenAI Codex CLI",
|
|
1110
1130
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
1111
1131
|
"tier": "core",
|
|
@@ -1217,6 +1237,13 @@ const capabilities = {
|
|
|
1217
1237
|
"unsupportedFeatures": [
|
|
1218
1238
|
"context-warnings",
|
|
1219
1239
|
"phase-lifecycle-display"
|
|
1240
|
+
],
|
|
1241
|
+
"rewriteClaudeAtIncludes": true,
|
|
1242
|
+
"contentRewriteProfile": "slash-own-tilde",
|
|
1243
|
+
"bakesStaticAgentModel": true,
|
|
1244
|
+
"bakedAgentFileExtensions": [
|
|
1245
|
+
".toml",
|
|
1246
|
+
".md"
|
|
1220
1247
|
]
|
|
1221
1248
|
}
|
|
1222
1249
|
},
|
|
@@ -1285,7 +1312,7 @@ const capabilities = {
|
|
|
1285
1312
|
"copilot": {
|
|
1286
1313
|
"id": "copilot",
|
|
1287
1314
|
"role": "runtime",
|
|
1288
|
-
"version": "1.
|
|
1315
|
+
"version": "1.17.0",
|
|
1289
1316
|
"title": "GitHub Copilot",
|
|
1290
1317
|
"description": "GitHub Copilot (VS Code) — markdown config format; copilot-inline hook surface; no hook events emitted; flat skill nesting (unconfirmed recursive loader); tier-2 support.",
|
|
1291
1318
|
"tier": "core",
|
|
@@ -1378,14 +1405,15 @@ const capabilities = {
|
|
|
1378
1405
|
"reapplyCommand": "/gsd-update --reapply",
|
|
1379
1406
|
"agentFileExtension": ".agent.md",
|
|
1380
1407
|
"skipSharedHooksInstall": true,
|
|
1381
|
-
"noPathRewrite": true
|
|
1408
|
+
"noPathRewrite": true,
|
|
1409
|
+
"contentRewriteProfile": "attribution-only"
|
|
1382
1410
|
}
|
|
1383
1411
|
}
|
|
1384
1412
|
},
|
|
1385
1413
|
"cursor": {
|
|
1386
1414
|
"id": "cursor",
|
|
1387
1415
|
"role": "runtime",
|
|
1388
|
-
"version": "1.
|
|
1416
|
+
"version": "1.17.0",
|
|
1389
1417
|
"title": "Cursor",
|
|
1390
1418
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
1391
1419
|
"tier": "core",
|
|
@@ -1496,7 +1524,8 @@ const capabilities = {
|
|
|
1496
1524
|
"stop",
|
|
1497
1525
|
"subagentStart",
|
|
1498
1526
|
"subagentStop"
|
|
1499
|
-
]
|
|
1527
|
+
],
|
|
1528
|
+
"contentRewriteProfile": "slash-lookahead-own-tilde"
|
|
1500
1529
|
}
|
|
1501
1530
|
},
|
|
1502
1531
|
"reviewer": {
|
|
@@ -1554,9 +1583,9 @@ const capabilities = {
|
|
|
1554
1583
|
"drift": {
|
|
1555
1584
|
"id": "drift",
|
|
1556
1585
|
"role": "feature",
|
|
1557
|
-
"version": "1.
|
|
1586
|
+
"version": "1.17.0",
|
|
1558
1587
|
"title": "Drift detection gates",
|
|
1559
|
-
"description": "Drift detection gates for the planning loop. At execute:wave:post: a blocking schema drift gate (detects schema files changed without a database push) and a non-blocking codebase drift gate (detects structural additions
|
|
1588
|
+
"description": "Drift detection gates for the planning loop. At execute:wave:post: a blocking schema drift gate (detects schema files changed without a database push) and a non-blocking codebase drift gate (detects structural additions outside the codebase map and modified or deleted files inside it). At plan:pre: a non-blocking, warn-only codebase drift gate (gated on workflow.plan_drift_precheck) that flags a stale codebase map before planning, so plans are authored against a fresh STRUCTURE.md instead of discovering drift mid-execution.",
|
|
1560
1589
|
"tier": "full",
|
|
1561
1590
|
"requires": [],
|
|
1562
1591
|
"engines": {
|
|
@@ -1575,7 +1604,7 @@ const capabilities = {
|
|
|
1575
1604
|
"workflow.drift_threshold": {
|
|
1576
1605
|
"type": "number",
|
|
1577
1606
|
"default": 3,
|
|
1578
|
-
"description": "Minimum number of
|
|
1607
|
+
"description": "Minimum number of drift elements (new directories, barrel exports, migrations, routes, plus modified and deleted files inside mapped directories) before the codebase drift gate triggers a warn or auto-remap action."
|
|
1579
1608
|
},
|
|
1580
1609
|
"workflow.drift_action": {
|
|
1581
1610
|
"type": "enum",
|
|
@@ -1589,17 +1618,17 @@ const capabilities = {
|
|
|
1589
1618
|
"workflow.schema_drift_gate": {
|
|
1590
1619
|
"type": "boolean",
|
|
1591
1620
|
"default": true,
|
|
1592
|
-
"description": "Enable the drift gates at execute:wave:post. When enabled, the schema drift gate blocks verification if schema-relevant files changed during execution but no database push command was executed; the codebase drift gate (non-blocking) warns when
|
|
1621
|
+
"description": "Enable the drift gates at execute:wave:post. When enabled, the schema drift gate blocks verification if schema-relevant files changed during execution but no database push command was executed; the codebase drift gate (non-blocking) warns when drift elements exceed the drift_threshold."
|
|
1593
1622
|
},
|
|
1594
1623
|
"workflow.plan_drift_precheck": {
|
|
1595
1624
|
"type": "boolean",
|
|
1596
1625
|
"default": true,
|
|
1597
|
-
"description": "Enable the non-blocking codebase drift pre-check at plan:pre, before /gsd
|
|
1626
|
+
"description": "Enable the non-blocking codebase drift pre-check at plan:pre, before /gsd-plan-phase spawns the planner. When enabled, a stale STRUCTURE.md (drift elements exceeding drift_threshold) is surfaced up front as a warn-only advisory pointing to /gsd-map-codebase; it never blocks planning and never spawns the mapper agent. Separate from schema_drift_gate so autonomous/CI runs can silence the plan-time advisory while keeping the execute:wave:post gates enabled."
|
|
1598
1627
|
},
|
|
1599
1628
|
"workflow.context_drift_precheck": {
|
|
1600
1629
|
"type": "boolean",
|
|
1601
1630
|
"default": true,
|
|
1602
|
-
"description": "Enable the non-blocking context-drift pre-check at plan:pre, before /gsd
|
|
1631
|
+
"description": "Enable the non-blocking context-drift pre-check at plan:pre, before /gsd-plan-phase reuses an existing RESEARCH.md/PATTERNS.md/VALIDATION.md/SPEC.md. Compares each artifact's effective last-changed time (git commit time, falling back to mtime for uncommitted edits) against CONTEXT.md's own — an artifact that predates CONTEXT.md's newest decision was derived from a premise that has since changed. Warn-only by default (see workflow.context_drift_action); never blocks planning on its own."
|
|
1603
1632
|
},
|
|
1604
1633
|
"workflow.context_drift_action": {
|
|
1605
1634
|
"type": "enum",
|
|
@@ -1655,7 +1684,7 @@ const capabilities = {
|
|
|
1655
1684
|
"external-job": {
|
|
1656
1685
|
"id": "external-job",
|
|
1657
1686
|
"role": "feature",
|
|
1658
|
-
"version": "1.
|
|
1687
|
+
"version": "1.17.0",
|
|
1659
1688
|
"title": "Async external-job scheduler adapter",
|
|
1660
1689
|
"description": "Default-off producer of the async external-job manifest (#1164). At execute:wave:post an executor can externalize long-running compute (SLURM first, scheduler-pluggable), commit a .planning/async-jobs/<job>.json manifest, defer SUMMARY.md, and return external_job_waiting. The core loop (#1165) consumes the manifest; this capability is the only thing that writes it. NOTE on contribution point: #1164 specifies classification at execute:wave:pre and recording at execute:wave:post. This capability still contributes executor guidance at wave:post; execute-phase now renders wave:pre entries and dispatches generic step hooks there independently. Moving external-job classification to wave:pre is a separate capability change, not part of #4148. The adapter (scripts/slurm-adapter.cjs) reads external_job.submit_timeout_ms / poll_timeout_ms / artifact_dir through the canonical capability-config seam (env override > config > registry default).",
|
|
1661
1690
|
"tier": "full",
|
|
@@ -1738,7 +1767,7 @@ const capabilities = {
|
|
|
1738
1767
|
"gap-analysis": {
|
|
1739
1768
|
"id": "gap-analysis",
|
|
1740
1769
|
"role": "feature",
|
|
1741
|
-
"version": "1.
|
|
1770
|
+
"version": "1.17.0",
|
|
1742
1771
|
"title": "Post-planning gap analysis",
|
|
1743
1772
|
"description": "Proactive, non-blocking post-planning coverage report. After all PLAN.md files are generated, cross-references every REQ-ID and D-ID from REQUIREMENTS.md and CONTEXT.md against plan bodies. Emits a Source | Item | Status table. Does not block phase advancement.",
|
|
1744
1773
|
"tier": "standard",
|
|
@@ -1779,7 +1808,7 @@ const capabilities = {
|
|
|
1779
1808
|
"graphify": {
|
|
1780
1809
|
"id": "graphify",
|
|
1781
1810
|
"role": "feature",
|
|
1782
|
-
"version": "1.
|
|
1811
|
+
"version": "1.17.0",
|
|
1783
1812
|
"title": "Knowledge graph",
|
|
1784
1813
|
"description": "Build, query, and inspect the project knowledge graph in `.planning/graphs/`; exposes graphify CLI subcommands (build, query, status, diff) and the /gsd-graphify skill.",
|
|
1785
1814
|
"tier": "full",
|
|
@@ -1820,7 +1849,7 @@ const capabilities = {
|
|
|
1820
1849
|
"hermes": {
|
|
1821
1850
|
"id": "hermes",
|
|
1822
1851
|
"role": "runtime",
|
|
1823
|
-
"version": "1.
|
|
1852
|
+
"version": "1.17.0",
|
|
1824
1853
|
"title": "Hermes Agent",
|
|
1825
1854
|
"description": "Hermes Agent (NousResearch) — skills nest under skills/gsd/ category bucket; nested skill layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
1826
1855
|
"tier": "core",
|
|
@@ -1891,6 +1920,9 @@ const capabilities = {
|
|
|
1891
1920
|
"extendedHookEvents": [],
|
|
1892
1921
|
"extensionEvents": "hermes",
|
|
1893
1922
|
"hostBehaviors": {
|
|
1923
|
+
"unsupportedFeatures": [
|
|
1924
|
+
"context-warnings"
|
|
1925
|
+
],
|
|
1894
1926
|
"skillFrontmatterVersion": true,
|
|
1895
1927
|
"skillsManifestPrefix": "skills/gsd/",
|
|
1896
1928
|
"trackCategoryDescription": true,
|
|
@@ -1905,7 +1937,11 @@ const capabilities = {
|
|
|
1905
1937
|
"reapplyCommand": "gsd-update --reapply (mention the skill name)",
|
|
1906
1938
|
"legacyCommandsGsdInstallMigration": true,
|
|
1907
1939
|
"legacyCommandsGsdUninstall": true,
|
|
1908
|
-
"hyphenNameAgentBody": true
|
|
1940
|
+
"hyphenNameAgentBody": true,
|
|
1941
|
+
"legacyFlatSkillsCleanup": true,
|
|
1942
|
+
"bareStemSkillsCleanup": true,
|
|
1943
|
+
"categoryContainerCleanup": true,
|
|
1944
|
+
"contentRewriteProfile": "branded-lookahead-own-derived"
|
|
1909
1945
|
},
|
|
1910
1946
|
"hostIntegration": {
|
|
1911
1947
|
"embeddingMode": "imperative",
|
|
@@ -1932,7 +1968,7 @@ const capabilities = {
|
|
|
1932
1968
|
"intel": {
|
|
1933
1969
|
"id": "intel",
|
|
1934
1970
|
"role": "feature",
|
|
1935
|
-
"version": "1.
|
|
1971
|
+
"version": "1.17.0",
|
|
1936
1972
|
"title": "Codebase intelligence",
|
|
1937
1973
|
"description": "Code-intelligence store for codebase querying, diff, snapshot, and API-surface extraction; exposes `gsd-tools intel` subcommands (query, status, update, diff, snapshot, patch-meta, validate, extract-exports, api-surface) and backs `/gsd-map-codebase` and `gsd-intel-updater`.",
|
|
1938
1974
|
"tier": "full",
|
|
@@ -1984,7 +2020,7 @@ const capabilities = {
|
|
|
1984
2020
|
"kilo": {
|
|
1985
2021
|
"id": "kilo",
|
|
1986
2022
|
"role": "runtime",
|
|
1987
|
-
"version": "1.
|
|
2023
|
+
"version": "1.17.0",
|
|
1988
2024
|
"title": "Kilo Code",
|
|
1989
2025
|
"description": "Kilo Code — XDG-based config dir; global skills at ~/.kilo/skills (separate from XDG config); flat command/ + skills artifact layout; no lifecycle hook registration; tier-2 support.",
|
|
1990
2026
|
"tier": "core",
|
|
@@ -2107,14 +2143,18 @@ const capabilities = {
|
|
|
2107
2143
|
"file": "gsd-core.js",
|
|
2108
2144
|
"source": ".kilo/plugins/gsd-core.js"
|
|
2109
2145
|
},
|
|
2110
|
-
"skipUpdateBannerCommand": true
|
|
2146
|
+
"skipUpdateBannerCommand": true,
|
|
2147
|
+
"bakesStaticAgentModel": true,
|
|
2148
|
+
"bakedAgentFileExtensions": [
|
|
2149
|
+
".md"
|
|
2150
|
+
]
|
|
2111
2151
|
}
|
|
2112
2152
|
}
|
|
2113
2153
|
},
|
|
2114
2154
|
"kimi": {
|
|
2115
2155
|
"id": "kimi",
|
|
2116
2156
|
"role": "runtime",
|
|
2117
|
-
"version": "1.
|
|
2157
|
+
"version": "1.17.0",
|
|
2118
2158
|
"title": "Kimi CLI",
|
|
2119
2159
|
"description": "Kimi CLI (Moonshot AI) — generic agents root at ~/.config/agents; skills + kimi-agents artifact layout; native config.toml [[hooks]] bus at ~/.kimi/config.toml; background dispatch; tier-2 support.",
|
|
2120
2160
|
"tier": "core",
|
|
@@ -2205,20 +2245,25 @@ const capabilities = {
|
|
|
2205
2245
|
"promptFlag": "--prompt"
|
|
2206
2246
|
},
|
|
2207
2247
|
"hostBehaviors": {
|
|
2248
|
+
"unsupportedFeatures": [
|
|
2249
|
+
"context-warnings"
|
|
2250
|
+
],
|
|
2208
2251
|
"reapplyCommand": "/skill:gsd-update --reapply",
|
|
2209
2252
|
"localInstallDeferred": true,
|
|
2210
2253
|
"verificationStyle": "kimi",
|
|
2211
2254
|
"agentManifestStyle": "kimi-nested",
|
|
2212
2255
|
"doneBannerStyle": "kimi-agent-file",
|
|
2213
2256
|
"skipSharedHooksInstall": true,
|
|
2214
|
-
"noPathRewrite": true
|
|
2257
|
+
"noPathRewrite": true,
|
|
2258
|
+
"requiresSubagentPair": true,
|
|
2259
|
+
"contentRewriteProfile": "slash-bare"
|
|
2215
2260
|
}
|
|
2216
2261
|
}
|
|
2217
2262
|
},
|
|
2218
2263
|
"kimi-code": {
|
|
2219
2264
|
"id": "kimi-code",
|
|
2220
2265
|
"role": "runtime",
|
|
2221
|
-
"version": "1.
|
|
2266
|
+
"version": "1.17.0",
|
|
2222
2267
|
"title": "Kimi Code CLI",
|
|
2223
2268
|
"description": "Kimi Code CLI (Moonshot AI, Node) — Agent Skills auto-discovered at ~/.kimi-code/skills; global AGENTS.md at ~/.kimi-code/AGENTS.md; native config.toml + [[hooks]] bus; three built-in subagents (coder/explore/plan), NO custom named subagents; background dispatch; tier-2 support. Distinct from Python kimi-cli (the 'kimi' capability) per ADR-1239 EoS — Kimi Code cannot dispatch named subagents so the kimi-agents YAML layout does NOT apply; persona injection rides the existing ${AGENT_SKILLS_*} workflow fallback. Install-layout, agent-install-check, and install-time decision (kimi vs kimi-code) land in follow-up PRs; this descriptor is the EoS foundation.",
|
|
2224
2269
|
"tier": "core",
|
|
@@ -2319,13 +2364,17 @@ const capabilities = {
|
|
|
2319
2364
|
"promptFlag": "--prompt"
|
|
2320
2365
|
},
|
|
2321
2366
|
"hostBehaviors": {
|
|
2367
|
+
"unsupportedFeatures": [
|
|
2368
|
+
"context-warnings"
|
|
2369
|
+
],
|
|
2322
2370
|
"reapplyCommand": "/skill:gsd-update --reapply",
|
|
2323
2371
|
"localInstallDeferred": true,
|
|
2324
2372
|
"verificationStyle": "kimi-code",
|
|
2325
2373
|
"agentManifestStyle": "none",
|
|
2326
2374
|
"doneBannerStyle": "kimi-code",
|
|
2327
2375
|
"skipSharedHooksInstall": true,
|
|
2328
|
-
"namedSubagentsSupported": false
|
|
2376
|
+
"namedSubagentsSupported": false,
|
|
2377
|
+
"reclaimsKimiLegacyHooksRoot": true
|
|
2329
2378
|
}
|
|
2330
2379
|
},
|
|
2331
2380
|
"reviewer": {
|
|
@@ -2385,7 +2434,7 @@ const capabilities = {
|
|
|
2385
2434
|
"live-dom-uat": {
|
|
2386
2435
|
"id": "live-dom-uat",
|
|
2387
2436
|
"role": "feature",
|
|
2388
|
-
"version": "1.
|
|
2437
|
+
"version": "1.17.0",
|
|
2389
2438
|
"title": "Live-DOM UAT",
|
|
2390
2439
|
"description": "Default-off live-DOM verification (#2856). Confines browser MCP reach to one purpose-built agent (gsd-dom-verifier) that carries the browser globs in its own tools: line, registered as an additive step hook at execute:wave:post. agents/gsd-executor.md is deliberately NOT widened: for a first-party agent the static tool list is the only control that exists, no capability can grant tools to one (ADR-1244 D2), no hook kind grants tool permissions (ADR-857 D4), and there is no per-dispatch tool override. Gated by activationKey workflow.live_dom_uat (default false), so with the key off the capability resolves inactive and the hook does not render at all. NOTE on the browser profile lock: chrome-devtools-mcp holds an exclusive lock on $HOME/.cache/chrome-devtools-mcp/chrome-profile, and --isolated is a flag on the user's own MCP-server registration that GSD cannot pass. Concurrent execution waves sharing one profile will therefore collide; the step tolerates and reports that (onError: skip, never blocking) rather than pretending to coordinate a resource it does not own.",
|
|
2391
2440
|
"tier": "full",
|
|
@@ -2438,9 +2487,9 @@ const capabilities = {
|
|
|
2438
2487
|
"llama-cpp": {
|
|
2439
2488
|
"id": "llama-cpp",
|
|
2440
2489
|
"role": "reviewer",
|
|
2441
|
-
"version": "1.
|
|
2490
|
+
"version": "1.17.0",
|
|
2442
2491
|
"title": "llama.cpp",
|
|
2443
|
-
"description": "llama.cpp server — cross-AI /gsd
|
|
2492
|
+
"description": "llama.cpp server — cross-AI /gsd-review reviewer lane only; not a GSD install target (no runtime body, no artifacts). OpenAI-compatible HTTP transport against a user-configured `review.llama_cpp_host` (POST /v1/chat/completions); model discovered via GET /v1/models piped through jq. Capability id/folder are kebab (`llama-cpp`, required by KEBAB_RE); `reviewer.slug` stays snake (`llama_cpp`) to match the shipped roster and the `review.llama_cpp_host` config key (ADR-2782's three-namespace trap).",
|
|
2444
2493
|
"tier": "full",
|
|
2445
2494
|
"requires": [],
|
|
2446
2495
|
"engines": {
|
|
@@ -2504,9 +2553,9 @@ const capabilities = {
|
|
|
2504
2553
|
"lm-studio": {
|
|
2505
2554
|
"id": "lm-studio",
|
|
2506
2555
|
"role": "reviewer",
|
|
2507
|
-
"version": "1.
|
|
2556
|
+
"version": "1.17.0",
|
|
2508
2557
|
"title": "LM Studio",
|
|
2509
|
-
"description": "LM Studio local model server — cross-AI /gsd
|
|
2558
|
+
"description": "LM Studio local model server — cross-AI /gsd-review reviewer lane only; not a GSD install target (no runtime body, no artifacts). OpenAI-compatible HTTP transport against a user-configured `review.lm_studio_host` (POST /v1/chat/completions); model discovered via GET /v1/models piped through jq. Capability id/folder are kebab (`lm-studio`, required by KEBAB_RE); `reviewer.slug` stays snake (`lm_studio`) to match the shipped roster and the `review.lm_studio_host` config key (ADR-2782's three-namespace trap).",
|
|
2510
2559
|
"tier": "full",
|
|
2511
2560
|
"requires": [],
|
|
2512
2561
|
"engines": {
|
|
@@ -2570,7 +2619,7 @@ const capabilities = {
|
|
|
2570
2619
|
"mempalace": {
|
|
2571
2620
|
"id": "mempalace",
|
|
2572
2621
|
"role": "feature",
|
|
2573
|
-
"version": "1.
|
|
2622
|
+
"version": "1.17.0",
|
|
2574
2623
|
"title": "MemPalace memory",
|
|
2575
2624
|
"description": "Cross-session, cross-project memory: deliberate recall before discuss/plan and verbatim capture + temporal-KG sync at phase boundaries, via the MemPalace MCP server and CLI.",
|
|
2576
2625
|
"tier": "full",
|
|
@@ -2744,7 +2793,7 @@ const capabilities = {
|
|
|
2744
2793
|
"nyquist": {
|
|
2745
2794
|
"id": "nyquist",
|
|
2746
2795
|
"role": "feature",
|
|
2747
|
-
"version": "1.
|
|
2796
|
+
"version": "1.17.0",
|
|
2748
2797
|
"title": "Nyquist validation",
|
|
2749
2798
|
"description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
|
|
2750
2799
|
"tier": "full",
|
|
@@ -2794,9 +2843,9 @@ const capabilities = {
|
|
|
2794
2843
|
"ollama": {
|
|
2795
2844
|
"id": "ollama",
|
|
2796
2845
|
"role": "reviewer",
|
|
2797
|
-
"version": "1.
|
|
2846
|
+
"version": "1.17.0",
|
|
2798
2847
|
"title": "Ollama",
|
|
2799
|
-
"description": "Ollama local model server — cross-AI /gsd
|
|
2848
|
+
"description": "Ollama local model server — cross-AI /gsd-review reviewer lane only; not a GSD install target (no runtime body, no artifacts). OpenAI-compatible HTTP transport against a user-configured `review.ollama_host` (POST /v1/chat/completions); model discovered via GET /v1/models piped through jq.",
|
|
2800
2849
|
"tier": "full",
|
|
2801
2850
|
"requires": [],
|
|
2802
2851
|
"engines": {
|
|
@@ -2860,7 +2909,7 @@ const capabilities = {
|
|
|
2860
2909
|
"opencode": {
|
|
2861
2910
|
"id": "opencode",
|
|
2862
2911
|
"role": "runtime",
|
|
2863
|
-
"version": "1.
|
|
2912
|
+
"version": "1.17.0",
|
|
2864
2913
|
"title": "OpenCode",
|
|
2865
2914
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
2866
2915
|
"tier": "core",
|
|
@@ -2952,8 +3001,8 @@ const capabilities = {
|
|
|
2952
3001
|
"commandSurface": "slash-file",
|
|
2953
3002
|
"dispatch": {
|
|
2954
3003
|
"namedDispatch": true,
|
|
2955
|
-
"nested":
|
|
2956
|
-
"maxDepth":
|
|
3004
|
+
"nested": false,
|
|
3005
|
+
"maxDepth": 1,
|
|
2957
3006
|
"background": false,
|
|
2958
3007
|
"subagentToolkit": "full",
|
|
2959
3008
|
"backgroundDispatch": false,
|
|
@@ -2986,9 +3035,19 @@ const capabilities = {
|
|
|
2986
3035
|
"file": "gsd-core.js",
|
|
2987
3036
|
"source": ".opencode/plugins/gsd-core.js"
|
|
2988
3037
|
},
|
|
3038
|
+
"nativeCliPlugin": {
|
|
3039
|
+
"dir": "plugins/gsd-statusline",
|
|
3040
|
+
"file": "tui.tsx",
|
|
3041
|
+
"source": ".opencode/plugins/gsd-statusline/tui.tsx"
|
|
3042
|
+
},
|
|
2989
3043
|
"skipHomePrefixSubstitution": true,
|
|
2990
3044
|
"skipSettingsUi": true,
|
|
2991
|
-
"skipUpdateBannerCommand": true
|
|
3045
|
+
"skipUpdateBannerCommand": true,
|
|
3046
|
+
"opencodePathPrefix": true,
|
|
3047
|
+
"bakesStaticAgentModel": true,
|
|
3048
|
+
"bakedAgentFileExtensions": [
|
|
3049
|
+
".md"
|
|
3050
|
+
]
|
|
2992
3051
|
}
|
|
2993
3052
|
},
|
|
2994
3053
|
"reviewer": {
|
|
@@ -3054,7 +3113,7 @@ const capabilities = {
|
|
|
3054
3113
|
"pattern-mapper": {
|
|
3055
3114
|
"id": "pattern-mapper",
|
|
3056
3115
|
"role": "feature",
|
|
3057
|
-
"version": "1.
|
|
3116
|
+
"version": "1.17.0",
|
|
3058
3117
|
"title": "Pattern mapping",
|
|
3059
3118
|
"description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
|
|
3060
3119
|
"tier": "full",
|
|
@@ -3090,7 +3149,7 @@ const capabilities = {
|
|
|
3090
3149
|
},
|
|
3091
3150
|
"fragment": {
|
|
3092
3151
|
"path": "fragments/plan-pre.md",
|
|
3093
|
-
"inline": "<pattern_mapping_context>\n**Phase:** {phase_number} - {phase_name}\n**Phase directory:** {phase_dir}\n**Padded phase:** {padded_phase}\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd
|
|
3152
|
+
"inline": "<pattern_mapping_context>\n**Phase:** {phase_number} - {phase_name}\n**Phase directory:** {phase_dir}\n**Padded phase:** {padded_phase}\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd-discuss-phase)\n- {research_path} (Technical Research)\n</required_reading>\n\n**Output file:** {phase_dir}/{padded_phase}-PATTERNS.md\n\nExtract the list of files to be created/modified from CONTEXT.md and RESEARCH.md. For each file, classify by role and data flow, find the closest existing analog in the codebase, extract concrete code excerpts, and produce PATTERNS.md.\n</pattern_mapping_context>\n"
|
|
3094
3153
|
},
|
|
3095
3154
|
"produces": [
|
|
3096
3155
|
"PATTERNS.md"
|
|
@@ -3108,7 +3167,7 @@ const capabilities = {
|
|
|
3108
3167
|
"pi": {
|
|
3109
3168
|
"id": "pi",
|
|
3110
3169
|
"role": "runtime",
|
|
3111
|
-
"version": "1.
|
|
3170
|
+
"version": "1.17.0",
|
|
3112
3171
|
"title": "pi",
|
|
3113
3172
|
"description": "pi (pi.dev) — bun-runtime programmatic-CLI; TS ExtensionAPI (registerCommand/registerTool/registerProvider/pi.on); single native-extension file at ~/.pi/agent/extensions/gsd.js (.js, not .cjs — pi's extension auto-discovery accepts only .ts/.js, #2470); no shared-settings hook surface; tier-2 support.",
|
|
3114
3173
|
"tier": "core",
|
|
@@ -3178,7 +3237,7 @@ const capabilities = {
|
|
|
3178
3237
|
"profile-pipeline": {
|
|
3179
3238
|
"id": "profile-pipeline",
|
|
3180
3239
|
"role": "feature",
|
|
3181
|
-
"version": "1.
|
|
3240
|
+
"version": "1.17.0",
|
|
3182
3241
|
"title": "Developer profiling pipeline",
|
|
3183
3242
|
"description": "Developer behavioral profiling from Claude Code session history; scans session JSONL files, extracts and samples user messages, and generates profile artifacts (USER-PROFILE.md, dev-preferences.md, CLAUDE.md sections). Exposes eight `gsd-tools` commands: scan-sessions, extract-messages, profile-sample (pipeline phase) and write-profile, profile-questionnaire, generate-dev-preferences, generate-claude-profile, generate-claude-md (output phase). Backs the /gsd-profile-user skill and gsd-user-profiler agent.",
|
|
3184
3243
|
"tier": "full",
|
|
@@ -3255,7 +3314,7 @@ const capabilities = {
|
|
|
3255
3314
|
"qwen": {
|
|
3256
3315
|
"id": "qwen",
|
|
3257
3316
|
"role": "runtime",
|
|
3258
|
-
"version": "1.
|
|
3317
|
+
"version": "1.17.0",
|
|
3259
3318
|
"title": "Qwen Code",
|
|
3260
3319
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
3261
3320
|
"tier": "core",
|
|
@@ -3350,6 +3409,9 @@ const capabilities = {
|
|
|
3350
3409
|
"effortSurface": "undocumented"
|
|
3351
3410
|
},
|
|
3352
3411
|
"hostBehaviors": {
|
|
3412
|
+
"unsupportedFeatures": [
|
|
3413
|
+
"context-warnings"
|
|
3414
|
+
],
|
|
3353
3415
|
"skillPriorityFrontmatter": true,
|
|
3354
3416
|
"brandingRewrites": {
|
|
3355
3417
|
"CLAUDE.md": "QWEN.md",
|
|
@@ -3359,7 +3421,8 @@ const capabilities = {
|
|
|
3359
3421
|
"legacyCommandsGsdCleanup": true,
|
|
3360
3422
|
"legacyCommandsGsdInstallMigration": true,
|
|
3361
3423
|
"legacyCommandsGsdUninstall": true,
|
|
3362
|
-
"hyphenNameAgentBody": true
|
|
3424
|
+
"hyphenNameAgentBody": true,
|
|
3425
|
+
"contentRewriteProfile": "branded-lookahead-own-derived"
|
|
3363
3426
|
}
|
|
3364
3427
|
},
|
|
3365
3428
|
"reviewer": {
|
|
@@ -3405,7 +3468,7 @@ const capabilities = {
|
|
|
3405
3468
|
"refactor-trigger": {
|
|
3406
3469
|
"id": "refactor-trigger",
|
|
3407
3470
|
"role": "feature",
|
|
3408
|
-
"version": "1.
|
|
3471
|
+
"version": "1.17.0",
|
|
3409
3472
|
"title": "Complexity-triggered refactor",
|
|
3410
3473
|
"description": "Measures the complexity of the code a phase touched and, when a function crosses a configured threshold or jumps past its recorded anchor, surfaces a scoped refactor proposal at .planning/phases/<N>/<NN>-REFACTOR.md. Advisory by default — it never edits code and never blocks. Opt-in strict mode blocks /gsd-ship while a proposal is untriaged; a declined proposal is recorded in the broken-windows ledger when that capability is present. Operationalizes 'refactor early, refactor often' as continuous pressure instead of a thing you have to remember (issue #1953).",
|
|
3411
3474
|
"tier": "full",
|
|
@@ -3472,7 +3535,7 @@ const capabilities = {
|
|
|
3472
3535
|
"research": {
|
|
3473
3536
|
"id": "research",
|
|
3474
3537
|
"role": "feature",
|
|
3475
|
-
"version": "1.
|
|
3538
|
+
"version": "1.17.0",
|
|
3476
3539
|
"title": "Phase research",
|
|
3477
3540
|
"description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
|
|
3478
3541
|
"tier": "standard",
|
|
@@ -3506,7 +3569,7 @@ const capabilities = {
|
|
|
3506
3569
|
},
|
|
3507
3570
|
"fragment": {
|
|
3508
3571
|
"path": "fragments/plan-pre.md",
|
|
3509
|
-
"inline": "<objective>\nResearch how to implement Phase {phase_number}: {phase_name}\nAnswer: \"What do I need to know to PLAN this phase well?\"\n</objective>\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd
|
|
3572
|
+
"inline": "<objective>\nResearch how to implement Phase {phase_number}: {phase_name}\nAnswer: \"What do I need to know to PLAN this phase well?\"\n</objective>\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd-discuss-phase)\n- {requirements_path} (Project requirements)\n- {state_path} (Project decisions and history)\n</required_reading>\n\n${AGENT_SKILLS_RESEARCHER}\n\n<additional_context>\n**Phase description:** {phase_description}\n**Phase requirement IDs (MUST address):** {phase_req_ids}\n\n**Project instructions:** Read ./CLAUDE.md or ./.claude/CLAUDE.md if either exists; follow project-specific guidelines.\n**Project skills:** Check .claude/skills/ or .agents/skills/ directory if either exists. Read SKILL.md files and account for project skill patterns.\n</additional_context>\n\n<output>\nWrite to: {phase_dir}/{phase_num}-RESEARCH.md\n</output>\n"
|
|
3510
3573
|
},
|
|
3511
3574
|
"produces": [
|
|
3512
3575
|
"RESEARCH.md"
|
|
@@ -3524,7 +3587,7 @@ const capabilities = {
|
|
|
3524
3587
|
"schema-gate": {
|
|
3525
3588
|
"id": "schema-gate",
|
|
3526
3589
|
"role": "feature",
|
|
3527
|
-
"version": "1.
|
|
3590
|
+
"version": "1.17.0",
|
|
3528
3591
|
"title": "Schema push detection gate",
|
|
3529
3592
|
"description": "Detects ORM schema-relevant files in the phase scope during planning and injects a mandatory [BLOCKING] schema push task into the plan. Prevents false-positive verification where build/types pass because TypeScript types come from config, not the live database.",
|
|
3530
3593
|
"tier": "full",
|
|
@@ -3570,7 +3633,7 @@ const capabilities = {
|
|
|
3570
3633
|
"security": {
|
|
3571
3634
|
"id": "security",
|
|
3572
3635
|
"role": "feature",
|
|
3573
|
-
"version": "1.
|
|
3636
|
+
"version": "1.17.0",
|
|
3574
3637
|
"title": "Security enforcement",
|
|
3575
3638
|
"description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
|
|
3576
3639
|
"tier": "full",
|
|
@@ -3669,7 +3732,7 @@ const capabilities = {
|
|
|
3669
3732
|
"tdd": {
|
|
3670
3733
|
"id": "tdd",
|
|
3671
3734
|
"role": "feature",
|
|
3672
|
-
"version": "1.
|
|
3735
|
+
"version": "1.17.0",
|
|
3673
3736
|
"title": "Test-driven development",
|
|
3674
3737
|
"description": "Injects TDD heuristics into the planner and enforces RED/GREEN gate compliance on type:tdd plans after execution. Owns workflow.tdd_mode; the --tdd CLI flag is the ephemeral override.",
|
|
3675
3738
|
"tier": "full",
|
|
@@ -3722,7 +3785,7 @@ const capabilities = {
|
|
|
3722
3785
|
"trae": {
|
|
3723
3786
|
"id": "trae",
|
|
3724
3787
|
"role": "runtime",
|
|
3725
|
-
"version": "1.
|
|
3788
|
+
"version": "1.17.0",
|
|
3726
3789
|
"title": "Trae IDE",
|
|
3727
3790
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
3728
3791
|
"tier": "core",
|
|
@@ -3813,14 +3876,15 @@ const capabilities = {
|
|
|
3813
3876
|
"hostBehaviors": {
|
|
3814
3877
|
"skipSharedHooksInstall": true,
|
|
3815
3878
|
"soloStageMetadata": "workflow",
|
|
3816
|
-
"projectInstructionFile": ".trae/rules/rules.md"
|
|
3879
|
+
"projectInstructionFile": ".trae/rules/rules.md",
|
|
3880
|
+
"contentRewriteProfile": "slash-bare-own-derived"
|
|
3817
3881
|
}
|
|
3818
3882
|
}
|
|
3819
3883
|
},
|
|
3820
3884
|
"ui": {
|
|
3821
3885
|
"id": "ui",
|
|
3822
3886
|
"role": "feature",
|
|
3823
|
-
"version": "1.
|
|
3887
|
+
"version": "1.17.0",
|
|
3824
3888
|
"title": "UI design contracts",
|
|
3825
3889
|
"description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
|
|
3826
3890
|
"tier": "full",
|
|
@@ -3920,7 +3984,7 @@ const capabilities = {
|
|
|
3920
3984
|
"vscode": {
|
|
3921
3985
|
"id": "vscode",
|
|
3922
3986
|
"role": "runtime",
|
|
3923
|
-
"version": "1.
|
|
3987
|
+
"version": "1.17.0",
|
|
3924
3988
|
"title": "VS Code",
|
|
3925
3989
|
"description": "VS Code — Marketplace/VSIX extension; no file-projected config directory; IDE-profile reference host (active vscode.lm model, engine-owned hook bus, sandboxed globalState/workspaceState stateIO).",
|
|
3926
3990
|
"tier": "core",
|
|
@@ -3978,7 +4042,7 @@ const capabilities = {
|
|
|
3978
4042
|
"windsurf": {
|
|
3979
4043
|
"id": "windsurf",
|
|
3980
4044
|
"role": "runtime",
|
|
3981
|
-
"version": "1.
|
|
4045
|
+
"version": "1.17.0",
|
|
3982
4046
|
"title": "Windsurf",
|
|
3983
4047
|
"description": "Windsurf (Codeium) — workspace workflow artifact layout for slash commands; Cascade native hooks.json blocking hook bus (pre_write_code, pre_run_command); tier-2 support.",
|
|
3984
4048
|
"tier": "core",
|
|
@@ -4063,14 +4127,15 @@ const capabilities = {
|
|
|
4063
4127
|
"skipSharedHooksInstall": true,
|
|
4064
4128
|
"legacyDevinSkillsCleanup": true,
|
|
4065
4129
|
"installsCommandBodiesForWorkflowDelegation": true,
|
|
4066
|
-
"verificationStyle": "windsurf-workflows"
|
|
4130
|
+
"verificationStyle": "windsurf-workflows",
|
|
4131
|
+
"contentRewriteProfile": "slash-lookahead-nested-own-devin"
|
|
4067
4132
|
}
|
|
4068
4133
|
}
|
|
4069
4134
|
},
|
|
4070
4135
|
"zcode": {
|
|
4071
4136
|
"id": "zcode",
|
|
4072
4137
|
"role": "runtime",
|
|
4073
|
-
"version": "1.
|
|
4138
|
+
"version": "1.17.0",
|
|
4074
4139
|
"title": "ZCode",
|
|
4075
4140
|
"description": "ZCode (Z.ai) — desktop Agentic Development Environment for GLM-5.2; Claude-shaped nested skills at ~/.zcode/skills/<name>/SKILL.md, slash commands, named subagents, native MCP; declarative plugin surface; profile-marker install; tier-2 community support.",
|
|
4076
4141
|
"tier": "core",
|
|
@@ -4175,7 +4240,8 @@ const capabilities = {
|
|
|
4175
4240
|
"effortSurface": "undocumented"
|
|
4176
4241
|
},
|
|
4177
4242
|
"hostBehaviors": {
|
|
4178
|
-
"skipSharedHooksInstall": true
|
|
4243
|
+
"skipSharedHooksInstall": true,
|
|
4244
|
+
"contentRewriteProfile": "slash-tilde-restore"
|
|
4179
4245
|
}
|
|
4180
4246
|
}
|
|
4181
4247
|
}
|
|
@@ -4304,7 +4370,7 @@ const byLoopPoint = {
|
|
|
4304
4370
|
},
|
|
4305
4371
|
"fragment": {
|
|
4306
4372
|
"path": "fragments/plan-pre.md",
|
|
4307
|
-
"inline": "<objective>\nResearch how to implement Phase {phase_number}: {phase_name}\nAnswer: \"What do I need to know to PLAN this phase well?\"\n</objective>\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd
|
|
4373
|
+
"inline": "<objective>\nResearch how to implement Phase {phase_number}: {phase_name}\nAnswer: \"What do I need to know to PLAN this phase well?\"\n</objective>\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd-discuss-phase)\n- {requirements_path} (Project requirements)\n- {state_path} (Project decisions and history)\n</required_reading>\n\n${AGENT_SKILLS_RESEARCHER}\n\n<additional_context>\n**Phase description:** {phase_description}\n**Phase requirement IDs (MUST address):** {phase_req_ids}\n\n**Project instructions:** Read ./CLAUDE.md or ./.claude/CLAUDE.md if either exists; follow project-specific guidelines.\n**Project skills:** Check .claude/skills/ or .agents/skills/ directory if either exists. Read SKILL.md files and account for project skill patterns.\n</additional_context>\n\n<output>\nWrite to: {phase_dir}/{phase_num}-RESEARCH.md\n</output>\n"
|
|
4308
4374
|
},
|
|
4309
4375
|
"produces": [
|
|
4310
4376
|
"RESEARCH.md"
|
|
@@ -4338,7 +4404,7 @@ const byLoopPoint = {
|
|
|
4338
4404
|
},
|
|
4339
4405
|
"fragment": {
|
|
4340
4406
|
"path": "fragments/plan-pre.md",
|
|
4341
|
-
"inline": "<pattern_mapping_context>\n**Phase:** {phase_number} - {phase_name}\n**Phase directory:** {phase_dir}\n**Padded phase:** {padded_phase}\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd
|
|
4407
|
+
"inline": "<pattern_mapping_context>\n**Phase:** {phase_number} - {phase_name}\n**Phase directory:** {phase_dir}\n**Padded phase:** {padded_phase}\n\n<required_reading>\n- {context_path} (USER DECISIONS from /gsd-discuss-phase)\n- {research_path} (Technical Research)\n</required_reading>\n\n**Output file:** {phase_dir}/{padded_phase}-PATTERNS.md\n\nExtract the list of files to be created/modified from CONTEXT.md and RESEARCH.md. For each file, classify by role and data flow, find the closest existing analog in the codebase, extract concrete code excerpts, and produce PATTERNS.md.\n</pattern_mapping_context>\n"
|
|
4342
4408
|
},
|
|
4343
4409
|
"produces": [
|
|
4344
4410
|
"PATTERNS.md"
|
|
@@ -5068,7 +5134,7 @@ const configSchema = {
|
|
|
5068
5134
|
"owner": "drift",
|
|
5069
5135
|
"type": "number",
|
|
5070
5136
|
"default": 3,
|
|
5071
|
-
"description": "Minimum number of
|
|
5137
|
+
"description": "Minimum number of drift elements (new directories, barrel exports, migrations, routes, plus modified and deleted files inside mapped directories) before the codebase drift gate triggers a warn or auto-remap action."
|
|
5072
5138
|
},
|
|
5073
5139
|
"workflow.drift_action": {
|
|
5074
5140
|
"owner": "drift",
|
|
@@ -5084,19 +5150,19 @@ const configSchema = {
|
|
|
5084
5150
|
"owner": "drift",
|
|
5085
5151
|
"type": "boolean",
|
|
5086
5152
|
"default": true,
|
|
5087
|
-
"description": "Enable the drift gates at execute:wave:post. When enabled, the schema drift gate blocks verification if schema-relevant files changed during execution but no database push command was executed; the codebase drift gate (non-blocking) warns when
|
|
5153
|
+
"description": "Enable the drift gates at execute:wave:post. When enabled, the schema drift gate blocks verification if schema-relevant files changed during execution but no database push command was executed; the codebase drift gate (non-blocking) warns when drift elements exceed the drift_threshold."
|
|
5088
5154
|
},
|
|
5089
5155
|
"workflow.plan_drift_precheck": {
|
|
5090
5156
|
"owner": "drift",
|
|
5091
5157
|
"type": "boolean",
|
|
5092
5158
|
"default": true,
|
|
5093
|
-
"description": "Enable the non-blocking codebase drift pre-check at plan:pre, before /gsd
|
|
5159
|
+
"description": "Enable the non-blocking codebase drift pre-check at plan:pre, before /gsd-plan-phase spawns the planner. When enabled, a stale STRUCTURE.md (drift elements exceeding drift_threshold) is surfaced up front as a warn-only advisory pointing to /gsd-map-codebase; it never blocks planning and never spawns the mapper agent. Separate from schema_drift_gate so autonomous/CI runs can silence the plan-time advisory while keeping the execute:wave:post gates enabled."
|
|
5094
5160
|
},
|
|
5095
5161
|
"workflow.context_drift_precheck": {
|
|
5096
5162
|
"owner": "drift",
|
|
5097
5163
|
"type": "boolean",
|
|
5098
5164
|
"default": true,
|
|
5099
|
-
"description": "Enable the non-blocking context-drift pre-check at plan:pre, before /gsd
|
|
5165
|
+
"description": "Enable the non-blocking context-drift pre-check at plan:pre, before /gsd-plan-phase reuses an existing RESEARCH.md/PATTERNS.md/VALIDATION.md/SPEC.md. Compares each artifact's effective last-changed time (git commit time, falling back to mtime for uncommitted edits) against CONTEXT.md's own — an artifact that predates CONTEXT.md's newest decision was derived from a premise that has since changed. Warn-only by default (see workflow.context_drift_action); never blocks planning on its own."
|
|
5100
5166
|
},
|
|
5101
5167
|
"workflow.context_drift_action": {
|
|
5102
5168
|
"owner": "drift",
|
|
@@ -5465,7 +5531,7 @@ const runtimes = {
|
|
|
5465
5531
|
"antigravity": {
|
|
5466
5532
|
"id": "antigravity",
|
|
5467
5533
|
"role": "runtime",
|
|
5468
|
-
"version": "1.
|
|
5534
|
+
"version": "1.17.0",
|
|
5469
5535
|
"title": "Antigravity",
|
|
5470
5536
|
"description": "Google Antigravity IDE — config/settings home nested under ~/.gemini/antigravity (probed across 1.x and 2.x layouts); global skills/agents install under ~/.gemini/config, the dir AGY scans for global discovery (#3738); Gemini hook event dialect; flat skill layout; tier-1 support.",
|
|
5471
5537
|
"tier": "core",
|
|
@@ -5564,10 +5630,14 @@ const runtimes = {
|
|
|
5564
5630
|
"effortSurface": "undocumented"
|
|
5565
5631
|
},
|
|
5566
5632
|
"hostBehaviors": {
|
|
5633
|
+
"unsupportedFeatures": [
|
|
5634
|
+
"context-warnings"
|
|
5635
|
+
],
|
|
5567
5636
|
"projectInstructionFile": "GEMINI.md",
|
|
5568
5637
|
"noPathRewrite": true,
|
|
5569
5638
|
"hookPathStyle": "raw",
|
|
5570
|
-
"globalDirResolver": "antigravity"
|
|
5639
|
+
"globalDirResolver": "antigravity",
|
|
5640
|
+
"contentRewriteProfile": "attribution-only"
|
|
5571
5641
|
}
|
|
5572
5642
|
},
|
|
5573
5643
|
"reviewer": {
|
|
@@ -5628,7 +5698,7 @@ const runtimes = {
|
|
|
5628
5698
|
"augment": {
|
|
5629
5699
|
"id": "augment",
|
|
5630
5700
|
"role": "runtime",
|
|
5631
|
-
"version": "1.
|
|
5701
|
+
"version": "1.17.0",
|
|
5632
5702
|
"title": "Augment Code",
|
|
5633
5703
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
5634
5704
|
"tier": "core",
|
|
@@ -5714,8 +5784,12 @@ const runtimes = {
|
|
|
5714
5784
|
"permissionWriter": null,
|
|
5715
5785
|
"extendedHookEvents": [],
|
|
5716
5786
|
"hostBehaviors": {
|
|
5787
|
+
"unsupportedFeatures": [
|
|
5788
|
+
"context-warnings"
|
|
5789
|
+
],
|
|
5717
5790
|
"commandBodyConverter": "convertClaudeToAugmentMarkdown",
|
|
5718
|
-
"mcpCompanion": "settings-json"
|
|
5791
|
+
"mcpCompanion": "settings-json",
|
|
5792
|
+
"contentRewriteProfile": "slash-lookahead-own-derived"
|
|
5719
5793
|
},
|
|
5720
5794
|
"hostIntegration": {
|
|
5721
5795
|
"embeddingMode": "declarative",
|
|
@@ -5742,7 +5816,7 @@ const runtimes = {
|
|
|
5742
5816
|
"claude": {
|
|
5743
5817
|
"id": "claude",
|
|
5744
5818
|
"role": "runtime",
|
|
5745
|
-
"version": "1.
|
|
5819
|
+
"version": "1.17.0",
|
|
5746
5820
|
"title": "Claude Code",
|
|
5747
5821
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
5748
5822
|
"tier": "core",
|
|
@@ -5855,7 +5929,14 @@ const runtimes = {
|
|
|
5855
5929
|
"skillsGlobalOnboarding": true,
|
|
5856
5930
|
"legacyCommandsGsdInstallMigration": true,
|
|
5857
5931
|
"legacyCommandsGsdUninstall": "global",
|
|
5858
|
-
"hyphenNameAgentBody": true
|
|
5932
|
+
"hyphenNameAgentBody": true,
|
|
5933
|
+
"skipCompactAgents": true,
|
|
5934
|
+
"omitBashRunnerOnWindows": true,
|
|
5935
|
+
"specRootSkillPass": true,
|
|
5936
|
+
"restoreAtRefTildeInAgents": true,
|
|
5937
|
+
"restoreAtRefTildeInSpecTree": true,
|
|
5938
|
+
"skipRuntimeDefaultsStamp": true,
|
|
5939
|
+
"contentRewriteProfile": "slash-tilde-restore"
|
|
5859
5940
|
}
|
|
5860
5941
|
},
|
|
5861
5942
|
"reviewer": {
|
|
@@ -5923,7 +6004,7 @@ const runtimes = {
|
|
|
5923
6004
|
"cline": {
|
|
5924
6005
|
"id": "cline",
|
|
5925
6006
|
"role": "runtime",
|
|
5926
|
-
"version": "1.
|
|
6007
|
+
"version": "1.17.0",
|
|
5927
6008
|
"title": "Cline",
|
|
5928
6009
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
5929
6010
|
"tier": "core",
|
|
@@ -6009,14 +6090,15 @@ const runtimes = {
|
|
|
6009
6090
|
"skipSharedHooksInstall": true,
|
|
6010
6091
|
"localTargetIsProjectRoot": true,
|
|
6011
6092
|
"clineRulesSurface": true,
|
|
6012
|
-
"localCommandsViaRules": true
|
|
6093
|
+
"localCommandsViaRules": true,
|
|
6094
|
+
"contentRewriteProfile": "slash-bare-own-tilde"
|
|
6013
6095
|
}
|
|
6014
6096
|
}
|
|
6015
6097
|
},
|
|
6016
6098
|
"codebuddy": {
|
|
6017
6099
|
"id": "codebuddy",
|
|
6018
6100
|
"role": "runtime",
|
|
6019
|
-
"version": "1.
|
|
6101
|
+
"version": "1.17.0",
|
|
6020
6102
|
"title": "CodeBuddy",
|
|
6021
6103
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6022
6104
|
"tier": "core",
|
|
@@ -6127,14 +6209,18 @@ const runtimes = {
|
|
|
6127
6209
|
"effortSurface": "undocumented"
|
|
6128
6210
|
},
|
|
6129
6211
|
"hostBehaviors": {
|
|
6130
|
-
"
|
|
6212
|
+
"unsupportedFeatures": [
|
|
6213
|
+
"context-warnings"
|
|
6214
|
+
],
|
|
6215
|
+
"reportCommandsDir": true,
|
|
6216
|
+
"contentRewriteProfile": "slash-bare-own-tilde-bare"
|
|
6131
6217
|
}
|
|
6132
6218
|
}
|
|
6133
6219
|
},
|
|
6134
6220
|
"codex": {
|
|
6135
6221
|
"id": "codex",
|
|
6136
6222
|
"role": "runtime",
|
|
6137
|
-
"version": "1.
|
|
6223
|
+
"version": "1.17.0",
|
|
6138
6224
|
"title": "OpenAI Codex CLI",
|
|
6139
6225
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
6140
6226
|
"tier": "core",
|
|
@@ -6246,6 +6332,13 @@ const runtimes = {
|
|
|
6246
6332
|
"unsupportedFeatures": [
|
|
6247
6333
|
"context-warnings",
|
|
6248
6334
|
"phase-lifecycle-display"
|
|
6335
|
+
],
|
|
6336
|
+
"rewriteClaudeAtIncludes": true,
|
|
6337
|
+
"contentRewriteProfile": "slash-own-tilde",
|
|
6338
|
+
"bakesStaticAgentModel": true,
|
|
6339
|
+
"bakedAgentFileExtensions": [
|
|
6340
|
+
".toml",
|
|
6341
|
+
".md"
|
|
6249
6342
|
]
|
|
6250
6343
|
}
|
|
6251
6344
|
},
|
|
@@ -6314,7 +6407,7 @@ const runtimes = {
|
|
|
6314
6407
|
"copilot": {
|
|
6315
6408
|
"id": "copilot",
|
|
6316
6409
|
"role": "runtime",
|
|
6317
|
-
"version": "1.
|
|
6410
|
+
"version": "1.17.0",
|
|
6318
6411
|
"title": "GitHub Copilot",
|
|
6319
6412
|
"description": "GitHub Copilot (VS Code) — markdown config format; copilot-inline hook surface; no hook events emitted; flat skill nesting (unconfirmed recursive loader); tier-2 support.",
|
|
6320
6413
|
"tier": "core",
|
|
@@ -6407,14 +6500,15 @@ const runtimes = {
|
|
|
6407
6500
|
"reapplyCommand": "/gsd-update --reapply",
|
|
6408
6501
|
"agentFileExtension": ".agent.md",
|
|
6409
6502
|
"skipSharedHooksInstall": true,
|
|
6410
|
-
"noPathRewrite": true
|
|
6503
|
+
"noPathRewrite": true,
|
|
6504
|
+
"contentRewriteProfile": "attribution-only"
|
|
6411
6505
|
}
|
|
6412
6506
|
}
|
|
6413
6507
|
},
|
|
6414
6508
|
"cursor": {
|
|
6415
6509
|
"id": "cursor",
|
|
6416
6510
|
"role": "runtime",
|
|
6417
|
-
"version": "1.
|
|
6511
|
+
"version": "1.17.0",
|
|
6418
6512
|
"title": "Cursor",
|
|
6419
6513
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
6420
6514
|
"tier": "core",
|
|
@@ -6525,7 +6619,8 @@ const runtimes = {
|
|
|
6525
6619
|
"stop",
|
|
6526
6620
|
"subagentStart",
|
|
6527
6621
|
"subagentStop"
|
|
6528
|
-
]
|
|
6622
|
+
],
|
|
6623
|
+
"contentRewriteProfile": "slash-lookahead-own-tilde"
|
|
6529
6624
|
}
|
|
6530
6625
|
},
|
|
6531
6626
|
"reviewer": {
|
|
@@ -6583,7 +6678,7 @@ const runtimes = {
|
|
|
6583
6678
|
"hermes": {
|
|
6584
6679
|
"id": "hermes",
|
|
6585
6680
|
"role": "runtime",
|
|
6586
|
-
"version": "1.
|
|
6681
|
+
"version": "1.17.0",
|
|
6587
6682
|
"title": "Hermes Agent",
|
|
6588
6683
|
"description": "Hermes Agent (NousResearch) — skills nest under skills/gsd/ category bucket; nested skill layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6589
6684
|
"tier": "core",
|
|
@@ -6654,6 +6749,9 @@ const runtimes = {
|
|
|
6654
6749
|
"extendedHookEvents": [],
|
|
6655
6750
|
"extensionEvents": "hermes",
|
|
6656
6751
|
"hostBehaviors": {
|
|
6752
|
+
"unsupportedFeatures": [
|
|
6753
|
+
"context-warnings"
|
|
6754
|
+
],
|
|
6657
6755
|
"skillFrontmatterVersion": true,
|
|
6658
6756
|
"skillsManifestPrefix": "skills/gsd/",
|
|
6659
6757
|
"trackCategoryDescription": true,
|
|
@@ -6668,7 +6766,11 @@ const runtimes = {
|
|
|
6668
6766
|
"reapplyCommand": "gsd-update --reapply (mention the skill name)",
|
|
6669
6767
|
"legacyCommandsGsdInstallMigration": true,
|
|
6670
6768
|
"legacyCommandsGsdUninstall": true,
|
|
6671
|
-
"hyphenNameAgentBody": true
|
|
6769
|
+
"hyphenNameAgentBody": true,
|
|
6770
|
+
"legacyFlatSkillsCleanup": true,
|
|
6771
|
+
"bareStemSkillsCleanup": true,
|
|
6772
|
+
"categoryContainerCleanup": true,
|
|
6773
|
+
"contentRewriteProfile": "branded-lookahead-own-derived"
|
|
6672
6774
|
},
|
|
6673
6775
|
"hostIntegration": {
|
|
6674
6776
|
"embeddingMode": "imperative",
|
|
@@ -6695,7 +6797,7 @@ const runtimes = {
|
|
|
6695
6797
|
"kilo": {
|
|
6696
6798
|
"id": "kilo",
|
|
6697
6799
|
"role": "runtime",
|
|
6698
|
-
"version": "1.
|
|
6800
|
+
"version": "1.17.0",
|
|
6699
6801
|
"title": "Kilo Code",
|
|
6700
6802
|
"description": "Kilo Code — XDG-based config dir; global skills at ~/.kilo/skills (separate from XDG config); flat command/ + skills artifact layout; no lifecycle hook registration; tier-2 support.",
|
|
6701
6803
|
"tier": "core",
|
|
@@ -6818,14 +6920,18 @@ const runtimes = {
|
|
|
6818
6920
|
"file": "gsd-core.js",
|
|
6819
6921
|
"source": ".kilo/plugins/gsd-core.js"
|
|
6820
6922
|
},
|
|
6821
|
-
"skipUpdateBannerCommand": true
|
|
6923
|
+
"skipUpdateBannerCommand": true,
|
|
6924
|
+
"bakesStaticAgentModel": true,
|
|
6925
|
+
"bakedAgentFileExtensions": [
|
|
6926
|
+
".md"
|
|
6927
|
+
]
|
|
6822
6928
|
}
|
|
6823
6929
|
}
|
|
6824
6930
|
},
|
|
6825
6931
|
"kimi": {
|
|
6826
6932
|
"id": "kimi",
|
|
6827
6933
|
"role": "runtime",
|
|
6828
|
-
"version": "1.
|
|
6934
|
+
"version": "1.17.0",
|
|
6829
6935
|
"title": "Kimi CLI",
|
|
6830
6936
|
"description": "Kimi CLI (Moonshot AI) — generic agents root at ~/.config/agents; skills + kimi-agents artifact layout; native config.toml [[hooks]] bus at ~/.kimi/config.toml; background dispatch; tier-2 support.",
|
|
6831
6937
|
"tier": "core",
|
|
@@ -6916,20 +7022,25 @@ const runtimes = {
|
|
|
6916
7022
|
"promptFlag": "--prompt"
|
|
6917
7023
|
},
|
|
6918
7024
|
"hostBehaviors": {
|
|
7025
|
+
"unsupportedFeatures": [
|
|
7026
|
+
"context-warnings"
|
|
7027
|
+
],
|
|
6919
7028
|
"reapplyCommand": "/skill:gsd-update --reapply",
|
|
6920
7029
|
"localInstallDeferred": true,
|
|
6921
7030
|
"verificationStyle": "kimi",
|
|
6922
7031
|
"agentManifestStyle": "kimi-nested",
|
|
6923
7032
|
"doneBannerStyle": "kimi-agent-file",
|
|
6924
7033
|
"skipSharedHooksInstall": true,
|
|
6925
|
-
"noPathRewrite": true
|
|
7034
|
+
"noPathRewrite": true,
|
|
7035
|
+
"requiresSubagentPair": true,
|
|
7036
|
+
"contentRewriteProfile": "slash-bare"
|
|
6926
7037
|
}
|
|
6927
7038
|
}
|
|
6928
7039
|
},
|
|
6929
7040
|
"kimi-code": {
|
|
6930
7041
|
"id": "kimi-code",
|
|
6931
7042
|
"role": "runtime",
|
|
6932
|
-
"version": "1.
|
|
7043
|
+
"version": "1.17.0",
|
|
6933
7044
|
"title": "Kimi Code CLI",
|
|
6934
7045
|
"description": "Kimi Code CLI (Moonshot AI, Node) — Agent Skills auto-discovered at ~/.kimi-code/skills; global AGENTS.md at ~/.kimi-code/AGENTS.md; native config.toml + [[hooks]] bus; three built-in subagents (coder/explore/plan), NO custom named subagents; background dispatch; tier-2 support. Distinct from Python kimi-cli (the 'kimi' capability) per ADR-1239 EoS — Kimi Code cannot dispatch named subagents so the kimi-agents YAML layout does NOT apply; persona injection rides the existing ${AGENT_SKILLS_*} workflow fallback. Install-layout, agent-install-check, and install-time decision (kimi vs kimi-code) land in follow-up PRs; this descriptor is the EoS foundation.",
|
|
6935
7046
|
"tier": "core",
|
|
@@ -7030,13 +7141,17 @@ const runtimes = {
|
|
|
7030
7141
|
"promptFlag": "--prompt"
|
|
7031
7142
|
},
|
|
7032
7143
|
"hostBehaviors": {
|
|
7144
|
+
"unsupportedFeatures": [
|
|
7145
|
+
"context-warnings"
|
|
7146
|
+
],
|
|
7033
7147
|
"reapplyCommand": "/skill:gsd-update --reapply",
|
|
7034
7148
|
"localInstallDeferred": true,
|
|
7035
7149
|
"verificationStyle": "kimi-code",
|
|
7036
7150
|
"agentManifestStyle": "none",
|
|
7037
7151
|
"doneBannerStyle": "kimi-code",
|
|
7038
7152
|
"skipSharedHooksInstall": true,
|
|
7039
|
-
"namedSubagentsSupported": false
|
|
7153
|
+
"namedSubagentsSupported": false,
|
|
7154
|
+
"reclaimsKimiLegacyHooksRoot": true
|
|
7040
7155
|
}
|
|
7041
7156
|
},
|
|
7042
7157
|
"reviewer": {
|
|
@@ -7096,7 +7211,7 @@ const runtimes = {
|
|
|
7096
7211
|
"opencode": {
|
|
7097
7212
|
"id": "opencode",
|
|
7098
7213
|
"role": "runtime",
|
|
7099
|
-
"version": "1.
|
|
7214
|
+
"version": "1.17.0",
|
|
7100
7215
|
"title": "OpenCode",
|
|
7101
7216
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
7102
7217
|
"tier": "core",
|
|
@@ -7188,8 +7303,8 @@ const runtimes = {
|
|
|
7188
7303
|
"commandSurface": "slash-file",
|
|
7189
7304
|
"dispatch": {
|
|
7190
7305
|
"namedDispatch": true,
|
|
7191
|
-
"nested":
|
|
7192
|
-
"maxDepth":
|
|
7306
|
+
"nested": false,
|
|
7307
|
+
"maxDepth": 1,
|
|
7193
7308
|
"background": false,
|
|
7194
7309
|
"subagentToolkit": "full",
|
|
7195
7310
|
"backgroundDispatch": false,
|
|
@@ -7222,9 +7337,19 @@ const runtimes = {
|
|
|
7222
7337
|
"file": "gsd-core.js",
|
|
7223
7338
|
"source": ".opencode/plugins/gsd-core.js"
|
|
7224
7339
|
},
|
|
7340
|
+
"nativeCliPlugin": {
|
|
7341
|
+
"dir": "plugins/gsd-statusline",
|
|
7342
|
+
"file": "tui.tsx",
|
|
7343
|
+
"source": ".opencode/plugins/gsd-statusline/tui.tsx"
|
|
7344
|
+
},
|
|
7225
7345
|
"skipHomePrefixSubstitution": true,
|
|
7226
7346
|
"skipSettingsUi": true,
|
|
7227
|
-
"skipUpdateBannerCommand": true
|
|
7347
|
+
"skipUpdateBannerCommand": true,
|
|
7348
|
+
"opencodePathPrefix": true,
|
|
7349
|
+
"bakesStaticAgentModel": true,
|
|
7350
|
+
"bakedAgentFileExtensions": [
|
|
7351
|
+
".md"
|
|
7352
|
+
]
|
|
7228
7353
|
}
|
|
7229
7354
|
},
|
|
7230
7355
|
"reviewer": {
|
|
@@ -7290,7 +7415,7 @@ const runtimes = {
|
|
|
7290
7415
|
"pi": {
|
|
7291
7416
|
"id": "pi",
|
|
7292
7417
|
"role": "runtime",
|
|
7293
|
-
"version": "1.
|
|
7418
|
+
"version": "1.17.0",
|
|
7294
7419
|
"title": "pi",
|
|
7295
7420
|
"description": "pi (pi.dev) — bun-runtime programmatic-CLI; TS ExtensionAPI (registerCommand/registerTool/registerProvider/pi.on); single native-extension file at ~/.pi/agent/extensions/gsd.js (.js, not .cjs — pi's extension auto-discovery accepts only .ts/.js, #2470); no shared-settings hook surface; tier-2 support.",
|
|
7296
7421
|
"tier": "core",
|
|
@@ -7360,7 +7485,7 @@ const runtimes = {
|
|
|
7360
7485
|
"qwen": {
|
|
7361
7486
|
"id": "qwen",
|
|
7362
7487
|
"role": "runtime",
|
|
7363
|
-
"version": "1.
|
|
7488
|
+
"version": "1.17.0",
|
|
7364
7489
|
"title": "Qwen Code",
|
|
7365
7490
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
7366
7491
|
"tier": "core",
|
|
@@ -7455,6 +7580,9 @@ const runtimes = {
|
|
|
7455
7580
|
"effortSurface": "undocumented"
|
|
7456
7581
|
},
|
|
7457
7582
|
"hostBehaviors": {
|
|
7583
|
+
"unsupportedFeatures": [
|
|
7584
|
+
"context-warnings"
|
|
7585
|
+
],
|
|
7458
7586
|
"skillPriorityFrontmatter": true,
|
|
7459
7587
|
"brandingRewrites": {
|
|
7460
7588
|
"CLAUDE.md": "QWEN.md",
|
|
@@ -7464,7 +7592,8 @@ const runtimes = {
|
|
|
7464
7592
|
"legacyCommandsGsdCleanup": true,
|
|
7465
7593
|
"legacyCommandsGsdInstallMigration": true,
|
|
7466
7594
|
"legacyCommandsGsdUninstall": true,
|
|
7467
|
-
"hyphenNameAgentBody": true
|
|
7595
|
+
"hyphenNameAgentBody": true,
|
|
7596
|
+
"contentRewriteProfile": "branded-lookahead-own-derived"
|
|
7468
7597
|
}
|
|
7469
7598
|
},
|
|
7470
7599
|
"reviewer": {
|
|
@@ -7510,7 +7639,7 @@ const runtimes = {
|
|
|
7510
7639
|
"trae": {
|
|
7511
7640
|
"id": "trae",
|
|
7512
7641
|
"role": "runtime",
|
|
7513
|
-
"version": "1.
|
|
7642
|
+
"version": "1.17.0",
|
|
7514
7643
|
"title": "Trae IDE",
|
|
7515
7644
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
7516
7645
|
"tier": "core",
|
|
@@ -7601,14 +7730,15 @@ const runtimes = {
|
|
|
7601
7730
|
"hostBehaviors": {
|
|
7602
7731
|
"skipSharedHooksInstall": true,
|
|
7603
7732
|
"soloStageMetadata": "workflow",
|
|
7604
|
-
"projectInstructionFile": ".trae/rules/rules.md"
|
|
7733
|
+
"projectInstructionFile": ".trae/rules/rules.md",
|
|
7734
|
+
"contentRewriteProfile": "slash-bare-own-derived"
|
|
7605
7735
|
}
|
|
7606
7736
|
}
|
|
7607
7737
|
},
|
|
7608
7738
|
"vscode": {
|
|
7609
7739
|
"id": "vscode",
|
|
7610
7740
|
"role": "runtime",
|
|
7611
|
-
"version": "1.
|
|
7741
|
+
"version": "1.17.0",
|
|
7612
7742
|
"title": "VS Code",
|
|
7613
7743
|
"description": "VS Code — Marketplace/VSIX extension; no file-projected config directory; IDE-profile reference host (active vscode.lm model, engine-owned hook bus, sandboxed globalState/workspaceState stateIO).",
|
|
7614
7744
|
"tier": "core",
|
|
@@ -7666,7 +7796,7 @@ const runtimes = {
|
|
|
7666
7796
|
"windsurf": {
|
|
7667
7797
|
"id": "windsurf",
|
|
7668
7798
|
"role": "runtime",
|
|
7669
|
-
"version": "1.
|
|
7799
|
+
"version": "1.17.0",
|
|
7670
7800
|
"title": "Windsurf",
|
|
7671
7801
|
"description": "Windsurf (Codeium) — workspace workflow artifact layout for slash commands; Cascade native hooks.json blocking hook bus (pre_write_code, pre_run_command); tier-2 support.",
|
|
7672
7802
|
"tier": "core",
|
|
@@ -7751,14 +7881,15 @@ const runtimes = {
|
|
|
7751
7881
|
"skipSharedHooksInstall": true,
|
|
7752
7882
|
"legacyDevinSkillsCleanup": true,
|
|
7753
7883
|
"installsCommandBodiesForWorkflowDelegation": true,
|
|
7754
|
-
"verificationStyle": "windsurf-workflows"
|
|
7884
|
+
"verificationStyle": "windsurf-workflows",
|
|
7885
|
+
"contentRewriteProfile": "slash-lookahead-nested-own-devin"
|
|
7755
7886
|
}
|
|
7756
7887
|
}
|
|
7757
7888
|
},
|
|
7758
7889
|
"zcode": {
|
|
7759
7890
|
"id": "zcode",
|
|
7760
7891
|
"role": "runtime",
|
|
7761
|
-
"version": "1.
|
|
7892
|
+
"version": "1.17.0",
|
|
7762
7893
|
"title": "ZCode",
|
|
7763
7894
|
"description": "ZCode (Z.ai) — desktop Agentic Development Environment for GLM-5.2; Claude-shaped nested skills at ~/.zcode/skills/<name>/SKILL.md, slash commands, named subagents, native MCP; declarative plugin surface; profile-marker install; tier-2 community support.",
|
|
7764
7895
|
"tier": "core",
|
|
@@ -7863,7 +7994,8 @@ const runtimes = {
|
|
|
7863
7994
|
"effortSurface": "undocumented"
|
|
7864
7995
|
},
|
|
7865
7996
|
"hostBehaviors": {
|
|
7866
|
-
"skipSharedHooksInstall": true
|
|
7997
|
+
"skipSharedHooksInstall": true,
|
|
7998
|
+
"contentRewriteProfile": "slash-tilde-restore"
|
|
7867
7999
|
}
|
|
7868
8000
|
}
|
|
7869
8001
|
}
|