@opengsd/gsd-core 1.20.1 → 1.21.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 -1
- package/.opencode/plugins/gsd-core.js +33 -2
- package/agents/gsd-executor.md +1 -1
- package/agents/gsd-plan-checker.md +1 -1
- package/agents/gsd-planner.md +3 -3
- package/agents/gsd-verifier.md +2 -2
- package/bin/install.js +234 -126
- package/commands/gsd/autonomous.md +1 -1
- package/gsd-core/bin/gsd-tools.cjs +450 -753
- package/gsd-core/bin/lib/capability-activation.cjs +8 -2
- package/gsd-core/bin/lib/capability-command-router.cjs +6 -2
- package/gsd-core/bin/lib/capability-ledger.cjs +1 -1
- package/gsd-core/bin/lib/capability-lock.cjs +19 -27
- package/gsd-core/bin/lib/capability-registry.cjs +74 -71
- package/gsd-core/bin/lib/capability-validator.cjs +1 -0
- package/gsd-core/bin/lib/capability-writer.cjs +7 -4
- package/gsd-core/bin/lib/claude-orchestration-command-router.cjs +142 -62
- package/gsd-core/bin/lib/claude-orchestration.cjs +214 -122
- package/gsd-core/bin/lib/cli-surface.cjs +545 -0
- package/gsd-core/bin/lib/command-arg-projection.cjs +356 -103
- package/gsd-core/bin/lib/commands.cjs +80 -2
- package/gsd-core/bin/lib/config-file-read.cjs +85 -0
- package/gsd-core/bin/lib/config-loader.cjs +23 -15
- package/gsd-core/bin/lib/config.cjs +139 -101
- package/gsd-core/bin/lib/configuration.cjs +41 -2
- package/gsd-core/bin/lib/criterion-baseline.cjs +346 -0
- package/gsd-core/bin/lib/criterion-replay.cjs +380 -0
- package/gsd-core/bin/lib/estimate-cli.cjs +5 -1
- package/gsd-core/bin/lib/gap-checker.cjs +12 -1
- package/gsd-core/bin/lib/gate-evaluation-scope.cjs +593 -27
- package/gsd-core/bin/lib/gate-phase-context.cjs +16 -4
- package/gsd-core/bin/lib/graphify.cjs +19 -2
- package/gsd-core/bin/lib/health-diagnostic.cjs +5 -1
- package/gsd-core/bin/lib/init.cjs +13 -11
- package/gsd-core/bin/lib/install-effort-resolver.cjs +24 -4
- package/gsd-core/bin/lib/install-engine.cjs +11 -19
- package/gsd-core/bin/lib/install-fs-adapter.cjs +5 -1
- package/gsd-core/bin/lib/install-model-override-resolver.cjs +33 -3
- package/gsd-core/bin/lib/io.cjs +6 -0
- package/gsd-core/bin/lib/markdown-sectionizer.cjs +62 -31
- package/gsd-core/bin/lib/markdown-table.cjs +39 -1
- package/gsd-core/bin/lib/milestone.cjs +8 -6
- package/gsd-core/bin/lib/model-resolver.cjs +8 -4
- package/gsd-core/bin/lib/phase-entry-grammar.cjs +14 -0
- package/gsd-core/bin/lib/phase-locator.cjs +8 -3
- package/gsd-core/bin/lib/phase.cjs +107 -31
- package/gsd-core/bin/lib/plan-dependency-graph.cjs +46 -23
- package/gsd-core/bin/lib/planning-snapshot.cjs +8 -4
- package/gsd-core/bin/lib/planning-workspace.cjs +20 -10
- package/gsd-core/bin/lib/profile-output.cjs +9 -6
- package/gsd-core/bin/lib/project-context.cjs +439 -0
- package/gsd-core/bin/lib/project-root.cjs +9 -230
- package/gsd-core/bin/lib/quick-batch-dispatch.cjs +1 -1
- package/gsd-core/bin/lib/report-parser.cjs +16 -0
- package/gsd-core/bin/lib/roadmap-parser.cjs +328 -50
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +24 -5
- package/gsd-core/bin/lib/roadmap.cjs +2 -2
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +7 -4
- package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +81 -3
- package/gsd-core/bin/lib/runtime-hooks-surface.cjs +279 -8
- package/gsd-core/bin/lib/runtime-slash.cjs +7 -2
- package/gsd-core/bin/lib/shell-command-projection.cjs +1010 -10
- package/gsd-core/bin/lib/stale-bake-guard.cjs +4 -1
- package/gsd-core/bin/lib/state-transition.cjs +91 -41
- package/gsd-core/bin/lib/state.cjs +446 -61
- package/gsd-core/bin/lib/surface.cjs +4 -7
- package/gsd-core/bin/lib/tdd-red-evidence.cjs +10 -3
- package/gsd-core/bin/lib/verify-command-router.cjs +6 -1
- package/gsd-core/bin/lib/verify.cjs +49 -6
- package/gsd-core/bin/lib/worktree-safety.cjs +8 -111
- package/gsd-core/bin/shared/config-schema.manifest.json +1 -0
- package/gsd-core/references/autonomous-smart-discuss.md +99 -18
- package/gsd-core/references/checkpoints.md +1 -1
- package/gsd-core/references/planner-guidance.md +11 -0
- package/gsd-core/references/planner-human-verify-mode.md +1 -1
- package/gsd-core/references/planner-reversibility.md +2 -0
- package/gsd-core/references/planner-verify-command-grounding.md +22 -6
- package/gsd-core/workflows/autonomous.md +4 -4
- package/gsd-core/workflows/code-review-fix.md +5 -7
- package/gsd-core/workflows/execute-phase.md +21 -7
- package/gsd-core/workflows/plan-phase/steps/plan-pre-dispatch.md +101 -0
- package/gsd-core/workflows/plan-phase.md +18 -19
- package/hooks/dist/gsd-agent-isolation-guard.js +3 -2
- package/hooks/dist/gsd-config-reload.js +2 -2
- package/hooks/dist/gsd-context-monitor.js +2 -1
- package/hooks/dist/gsd-cursor-subagent-start.js +8 -5
- package/hooks/dist/gsd-read-injection-scanner.js +2 -2
- package/hooks/dist/gsd-secret-read-guard.js +141 -6
- package/hooks/dist/gsd-statusline.js +3 -2
- package/hooks/dist/gsd-workflow-guard.js +2 -1
- package/hooks/dist/lib/config-read.js +49 -0
- package/hooks/dist/lib/git-cmd.js +3 -1
- package/hooks/dist/lib/git-head-tree.js +474 -0
- package/hooks/dist/lib/isolation-sentinel.js +97 -17
- package/hooks/dist/lib/secret-read-exemptions.js +161 -0
- package/hooks/gsd-agent-isolation-guard.js +3 -2
- package/hooks/gsd-config-reload.js +2 -2
- package/hooks/gsd-context-monitor.js +2 -1
- package/hooks/gsd-cursor-subagent-start.js +8 -5
- package/hooks/gsd-read-injection-scanner.js +2 -2
- package/hooks/gsd-secret-read-guard.js +141 -6
- package/hooks/gsd-statusline.js +3 -2
- package/hooks/gsd-workflow-guard.js +2 -1
- package/hooks/lib/config-read.js +49 -0
- package/hooks/lib/git-cmd.js +3 -1
- package/hooks/lib/git-head-tree.js +474 -0
- package/hooks/lib/isolation-sentinel.js +97 -17
- package/hooks/lib/secret-read-exemptions.js +161 -0
- package/package.json +7 -2
- package/pi/package-agents/gsd-executor.md +1 -1
- package/pi/package-agents/gsd-plan-checker.md +1 -1
- package/pi/package-agents/gsd-planner.md +3 -3
- package/pi/package-agents/gsd-verifier.md +2 -2
- package/pi/package-agents/manifest.json +4 -4
- package/pi/package-skills/gsd-autonomous/SKILL.md +1 -1
- package/scripts/changeset/cli.cjs +2 -2
- package/scripts/changeset/serialize.cjs +12 -2
- package/scripts/ci-compact-v8-coverage.cjs +204 -0
- package/scripts/ci-fix-next-rerun.cjs +149 -0
- package/scripts/ci-next-health.cjs +52 -9
- package/scripts/ci-test-scope.cjs +77 -71
- package/scripts/command-contract-helpers.cjs +56 -7
- package/scripts/docs-guard-registry.cjs +3 -0
- package/scripts/gen-cli-surface-manifest.cjs +287 -0
- package/scripts/gen-platform-conformance-tier.cjs +258 -19
- package/scripts/lib/macos-conformance-tier.generated.cjs +55 -47
- package/scripts/lib/platform-conformance-tier.generated.cjs +19 -64
- package/scripts/lib/shellcheck-fetch.cjs +71 -4
- package/scripts/lint-removed-but-needed.cjs +562 -50
- package/scripts/release-notes/changelog-release-notes.cjs +345 -0
- package/scripts/release-notes/discord-release-summary.cjs +82 -1
- package/scripts/timeout-evidence-from-ci.cjs +964 -0
- package/skills/gsd-autonomous/SKILL.md +1 -1
- package/vscode/package.json +1 -1
|
@@ -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.21.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.21.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",
|
|
@@ -270,7 +270,7 @@ const capabilities = {
|
|
|
270
270
|
"assumption-delta": {
|
|
271
271
|
"id": "assumption-delta",
|
|
272
272
|
"role": "feature",
|
|
273
|
-
"version": "1.
|
|
273
|
+
"version": "1.21.0",
|
|
274
274
|
"title": "Assumption-delta architecture checkpoint",
|
|
275
275
|
"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.",
|
|
276
276
|
"tier": "full",
|
|
@@ -316,7 +316,7 @@ const capabilities = {
|
|
|
316
316
|
"audit": {
|
|
317
317
|
"id": "audit",
|
|
318
318
|
"role": "feature",
|
|
319
|
-
"version": "1.
|
|
319
|
+
"version": "1.21.0",
|
|
320
320
|
"title": "Audit",
|
|
321
321
|
"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).",
|
|
322
322
|
"tier": "full",
|
|
@@ -353,7 +353,7 @@ const capabilities = {
|
|
|
353
353
|
"augment": {
|
|
354
354
|
"id": "augment",
|
|
355
355
|
"role": "runtime",
|
|
356
|
-
"version": "1.
|
|
356
|
+
"version": "1.21.0",
|
|
357
357
|
"title": "Augment Code",
|
|
358
358
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
359
359
|
"tier": "core",
|
|
@@ -471,7 +471,7 @@ const capabilities = {
|
|
|
471
471
|
"broken-windows": {
|
|
472
472
|
"id": "broken-windows",
|
|
473
473
|
"role": "feature",
|
|
474
|
-
"version": "1.
|
|
474
|
+
"version": "1.21.0",
|
|
475
475
|
"title": "Broken-windows ledger",
|
|
476
476
|
"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).",
|
|
477
477
|
"tier": "full",
|
|
@@ -517,7 +517,7 @@ const capabilities = {
|
|
|
517
517
|
"claude": {
|
|
518
518
|
"id": "claude",
|
|
519
519
|
"role": "runtime",
|
|
520
|
-
"version": "1.
|
|
520
|
+
"version": "1.21.0",
|
|
521
521
|
"title": "Claude Code",
|
|
522
522
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
523
523
|
"tier": "core",
|
|
@@ -633,6 +633,7 @@ const capabilities = {
|
|
|
633
633
|
"hyphenNameAgentBody": true,
|
|
634
634
|
"skipCompactAgents": true,
|
|
635
635
|
"omitBashRunnerOnWindows": true,
|
|
636
|
+
"powershellHooksOnWindows": true,
|
|
636
637
|
"specRootSkillPass": true,
|
|
637
638
|
"restoreAtRefTildeInAgents": true,
|
|
638
639
|
"restoreAtRefTildeInSpecTree": true,
|
|
@@ -712,9 +713,9 @@ const capabilities = {
|
|
|
712
713
|
"claude-orchestration": {
|
|
713
714
|
"id": "claude-orchestration",
|
|
714
715
|
"role": "feature",
|
|
715
|
-
"version": "1.
|
|
716
|
+
"version": "1.21.0",
|
|
716
717
|
"title": "Claude orchestration (Workflow backend)",
|
|
717
|
-
"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
|
|
718
|
+
"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 every detection gate passes (Claude runtime, nesting-capable host, no Claude Code workflow kill switch set), the claude-orchestration commands emit a generated Workflow script (waves -> parallel() barriers, plans -> agent({ agentType: 'gsd-executor', isolation: 'worktree' }), files_modified overlap -> separate sequential stages, the phase run id carried in the summary for the Workflow tool's resumeFromRunId input, token budget recorded as intent only) that composes the SAME gsd-executor agent and worktree isolation the inline path uses, aimed at restoring the wave parallelism the #853 backgrounded-agent nesting limitation forces inline on Claude Code. execute-phase does not dispatch through it yet: its loop contribution was removed in #4740 and no host-level dispatch path exists. (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.",
|
|
718
719
|
"tier": "full",
|
|
719
720
|
"requires": [],
|
|
720
721
|
"engines": {
|
|
@@ -756,12 +757,12 @@ const capabilities = {
|
|
|
756
757
|
"inline"
|
|
757
758
|
],
|
|
758
759
|
"default": "auto",
|
|
759
|
-
"description": "Which execute-phase dispatch backend to use when the capability is enabled. 'auto' (default)
|
|
760
|
+
"description": "Which execute-phase dispatch backend to use when the capability is enabled. 'auto' (default) and 'workflow' both select the Workflow backend only when every detection gate passes: the runtime is Claude, the host can nest agents, and no Claude Code workflow kill switch is set (CLAUDE_CODE_DISABLE_WORKFLOWS, or disableWorkflows / enableWorkflows in managed, project or user settings); otherwise inline. 'inline' forces one-agent-per-message dispatch regardless."
|
|
760
761
|
},
|
|
761
762
|
"claude_orchestration.min_agent_sdk_version": {
|
|
762
763
|
"type": "string",
|
|
763
764
|
"default": "0.3.149",
|
|
764
|
-
"description": "
|
|
765
|
+
"description": "Deprecated (#4747) and ignored. The Workflow backend no longer gates on the installed Agent SDK version, which does not reflect whether a Claude Code session has dynamic workflows; detection reads Claude Code's documented kill switches instead. Kept so existing configs still load; remove it from your config."
|
|
765
766
|
}
|
|
766
767
|
},
|
|
767
768
|
"steps": [],
|
|
@@ -786,7 +787,7 @@ const capabilities = {
|
|
|
786
787
|
"cline": {
|
|
787
788
|
"id": "cline",
|
|
788
789
|
"role": "runtime",
|
|
789
|
-
"version": "1.
|
|
790
|
+
"version": "1.21.0",
|
|
790
791
|
"title": "Cline",
|
|
791
792
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
792
793
|
"tier": "core",
|
|
@@ -880,7 +881,7 @@ const capabilities = {
|
|
|
880
881
|
"code-review": {
|
|
881
882
|
"id": "code-review",
|
|
882
883
|
"role": "feature",
|
|
883
|
-
"version": "1.
|
|
884
|
+
"version": "1.21.0",
|
|
884
885
|
"title": "Code review",
|
|
885
886
|
"description": "Source-file code review and review-fix workflow support for completed execution work.",
|
|
886
887
|
"tier": "full",
|
|
@@ -966,7 +967,7 @@ const capabilities = {
|
|
|
966
967
|
"codebuddy": {
|
|
967
968
|
"id": "codebuddy",
|
|
968
969
|
"role": "runtime",
|
|
969
|
-
"version": "1.
|
|
970
|
+
"version": "1.21.0",
|
|
970
971
|
"title": "CodeBuddy",
|
|
971
972
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
972
973
|
"tier": "core",
|
|
@@ -1088,7 +1089,7 @@ const capabilities = {
|
|
|
1088
1089
|
"coderabbit": {
|
|
1089
1090
|
"id": "coderabbit",
|
|
1090
1091
|
"role": "reviewer",
|
|
1091
|
-
"version": "1.
|
|
1092
|
+
"version": "1.21.0",
|
|
1092
1093
|
"title": "CodeRabbit",
|
|
1093
1094
|
"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).",
|
|
1094
1095
|
"tier": "full",
|
|
@@ -1142,7 +1143,7 @@ const capabilities = {
|
|
|
1142
1143
|
"codex": {
|
|
1143
1144
|
"id": "codex",
|
|
1144
1145
|
"role": "runtime",
|
|
1145
|
-
"version": "1.
|
|
1146
|
+
"version": "1.21.0",
|
|
1146
1147
|
"title": "OpenAI Codex CLI",
|
|
1147
1148
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
1148
1149
|
"tier": "core",
|
|
@@ -1336,7 +1337,7 @@ const capabilities = {
|
|
|
1336
1337
|
"copilot": {
|
|
1337
1338
|
"id": "copilot",
|
|
1338
1339
|
"role": "runtime",
|
|
1339
|
-
"version": "1.
|
|
1340
|
+
"version": "1.21.0",
|
|
1340
1341
|
"title": "GitHub Copilot",
|
|
1341
1342
|
"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.",
|
|
1342
1343
|
"tier": "core",
|
|
@@ -1438,7 +1439,7 @@ const capabilities = {
|
|
|
1438
1439
|
"cursor": {
|
|
1439
1440
|
"id": "cursor",
|
|
1440
1441
|
"role": "runtime",
|
|
1441
|
-
"version": "1.
|
|
1442
|
+
"version": "1.21.0",
|
|
1442
1443
|
"title": "Cursor",
|
|
1443
1444
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
1444
1445
|
"tier": "core",
|
|
@@ -1615,7 +1616,7 @@ const capabilities = {
|
|
|
1615
1616
|
"drift": {
|
|
1616
1617
|
"id": "drift",
|
|
1617
1618
|
"role": "feature",
|
|
1618
|
-
"version": "1.
|
|
1619
|
+
"version": "1.21.0",
|
|
1619
1620
|
"title": "Drift detection gates",
|
|
1620
1621
|
"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.",
|
|
1621
1622
|
"tier": "full",
|
|
@@ -1716,7 +1717,7 @@ const capabilities = {
|
|
|
1716
1717
|
"external-job": {
|
|
1717
1718
|
"id": "external-job",
|
|
1718
1719
|
"role": "feature",
|
|
1719
|
-
"version": "1.
|
|
1720
|
+
"version": "1.21.0",
|
|
1720
1721
|
"title": "Async external-job scheduler adapter",
|
|
1721
1722
|
"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).",
|
|
1722
1723
|
"tier": "full",
|
|
@@ -1799,7 +1800,7 @@ const capabilities = {
|
|
|
1799
1800
|
"gap-analysis": {
|
|
1800
1801
|
"id": "gap-analysis",
|
|
1801
1802
|
"role": "feature",
|
|
1802
|
-
"version": "1.
|
|
1803
|
+
"version": "1.21.0",
|
|
1803
1804
|
"title": "Post-planning gap analysis",
|
|
1804
1805
|
"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.",
|
|
1805
1806
|
"tier": "standard",
|
|
@@ -1840,7 +1841,7 @@ const capabilities = {
|
|
|
1840
1841
|
"graphify": {
|
|
1841
1842
|
"id": "graphify",
|
|
1842
1843
|
"role": "feature",
|
|
1843
|
-
"version": "1.
|
|
1844
|
+
"version": "1.21.0",
|
|
1844
1845
|
"title": "Knowledge graph",
|
|
1845
1846
|
"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.",
|
|
1846
1847
|
"tier": "full",
|
|
@@ -1881,7 +1882,7 @@ const capabilities = {
|
|
|
1881
1882
|
"hermes": {
|
|
1882
1883
|
"id": "hermes",
|
|
1883
1884
|
"role": "runtime",
|
|
1884
|
-
"version": "1.
|
|
1885
|
+
"version": "1.21.0",
|
|
1885
1886
|
"title": "Hermes Agent",
|
|
1886
1887
|
"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.",
|
|
1887
1888
|
"tier": "core",
|
|
@@ -2000,7 +2001,7 @@ const capabilities = {
|
|
|
2000
2001
|
"intel": {
|
|
2001
2002
|
"id": "intel",
|
|
2002
2003
|
"role": "feature",
|
|
2003
|
-
"version": "1.
|
|
2004
|
+
"version": "1.21.0",
|
|
2004
2005
|
"title": "Codebase intelligence",
|
|
2005
2006
|
"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`.",
|
|
2006
2007
|
"tier": "full",
|
|
@@ -2052,7 +2053,7 @@ const capabilities = {
|
|
|
2052
2053
|
"kilo": {
|
|
2053
2054
|
"id": "kilo",
|
|
2054
2055
|
"role": "runtime",
|
|
2055
|
-
"version": "1.
|
|
2056
|
+
"version": "1.21.0",
|
|
2056
2057
|
"title": "Kilo Code",
|
|
2057
2058
|
"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.",
|
|
2058
2059
|
"tier": "core",
|
|
@@ -2186,7 +2187,7 @@ const capabilities = {
|
|
|
2186
2187
|
"kimi": {
|
|
2187
2188
|
"id": "kimi",
|
|
2188
2189
|
"role": "runtime",
|
|
2189
|
-
"version": "1.
|
|
2190
|
+
"version": "1.21.0",
|
|
2190
2191
|
"title": "Kimi CLI",
|
|
2191
2192
|
"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.",
|
|
2192
2193
|
"tier": "core",
|
|
@@ -2296,7 +2297,7 @@ const capabilities = {
|
|
|
2296
2297
|
"kimi-code": {
|
|
2297
2298
|
"id": "kimi-code",
|
|
2298
2299
|
"role": "runtime",
|
|
2299
|
-
"version": "1.
|
|
2300
|
+
"version": "1.21.0",
|
|
2300
2301
|
"title": "Kimi Code CLI",
|
|
2301
2302
|
"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.",
|
|
2302
2303
|
"tier": "core",
|
|
@@ -2474,7 +2475,7 @@ const capabilities = {
|
|
|
2474
2475
|
"live-dom-uat": {
|
|
2475
2476
|
"id": "live-dom-uat",
|
|
2476
2477
|
"role": "feature",
|
|
2477
|
-
"version": "1.
|
|
2478
|
+
"version": "1.21.0",
|
|
2478
2479
|
"title": "Live-DOM UAT",
|
|
2479
2480
|
"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.",
|
|
2480
2481
|
"tier": "full",
|
|
@@ -2527,7 +2528,7 @@ const capabilities = {
|
|
|
2527
2528
|
"llama-cpp": {
|
|
2528
2529
|
"id": "llama-cpp",
|
|
2529
2530
|
"role": "reviewer",
|
|
2530
|
-
"version": "1.
|
|
2531
|
+
"version": "1.21.0",
|
|
2531
2532
|
"title": "llama.cpp",
|
|
2532
2533
|
"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).",
|
|
2533
2534
|
"tier": "full",
|
|
@@ -2600,7 +2601,7 @@ const capabilities = {
|
|
|
2600
2601
|
"lm-studio": {
|
|
2601
2602
|
"id": "lm-studio",
|
|
2602
2603
|
"role": "reviewer",
|
|
2603
|
-
"version": "1.
|
|
2604
|
+
"version": "1.21.0",
|
|
2604
2605
|
"title": "LM Studio",
|
|
2605
2606
|
"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).",
|
|
2606
2607
|
"tier": "full",
|
|
@@ -2673,7 +2674,7 @@ const capabilities = {
|
|
|
2673
2674
|
"mempalace": {
|
|
2674
2675
|
"id": "mempalace",
|
|
2675
2676
|
"role": "feature",
|
|
2676
|
-
"version": "1.
|
|
2677
|
+
"version": "1.21.0",
|
|
2677
2678
|
"title": "MemPalace memory",
|
|
2678
2679
|
"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.",
|
|
2679
2680
|
"tier": "full",
|
|
@@ -2695,6 +2696,7 @@ const capabilities = {
|
|
|
2695
2696
|
"gsd-mempalace-curator"
|
|
2696
2697
|
],
|
|
2697
2698
|
"hooks": [],
|
|
2699
|
+
"activationKey": "mempalace.enabled",
|
|
2698
2700
|
"config": {
|
|
2699
2701
|
"mempalace.enabled": {
|
|
2700
2702
|
"type": "boolean",
|
|
@@ -2776,7 +2778,7 @@ const capabilities = {
|
|
|
2776
2778
|
"consumes": [
|
|
2777
2779
|
"CONTEXT.md"
|
|
2778
2780
|
],
|
|
2779
|
-
"when": "mempalace.
|
|
2781
|
+
"when": "mempalace.recall_on_plan",
|
|
2780
2782
|
"onError": "skip"
|
|
2781
2783
|
},
|
|
2782
2784
|
{
|
|
@@ -2847,7 +2849,7 @@ const capabilities = {
|
|
|
2847
2849
|
"nyquist": {
|
|
2848
2850
|
"id": "nyquist",
|
|
2849
2851
|
"role": "feature",
|
|
2850
|
-
"version": "1.
|
|
2852
|
+
"version": "1.21.0",
|
|
2851
2853
|
"title": "Nyquist validation",
|
|
2852
2854
|
"description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
|
|
2853
2855
|
"tier": "full",
|
|
@@ -2897,7 +2899,7 @@ const capabilities = {
|
|
|
2897
2899
|
"ollama": {
|
|
2898
2900
|
"id": "ollama",
|
|
2899
2901
|
"role": "reviewer",
|
|
2900
|
-
"version": "1.
|
|
2902
|
+
"version": "1.21.0",
|
|
2901
2903
|
"title": "Ollama",
|
|
2902
2904
|
"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.",
|
|
2903
2905
|
"tier": "full",
|
|
@@ -2970,7 +2972,7 @@ const capabilities = {
|
|
|
2970
2972
|
"opencode": {
|
|
2971
2973
|
"id": "opencode",
|
|
2972
2974
|
"role": "runtime",
|
|
2973
|
-
"version": "1.
|
|
2975
|
+
"version": "1.21.0",
|
|
2974
2976
|
"title": "OpenCode",
|
|
2975
2977
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
2976
2978
|
"tier": "core",
|
|
@@ -3181,7 +3183,7 @@ const capabilities = {
|
|
|
3181
3183
|
"pattern-mapper": {
|
|
3182
3184
|
"id": "pattern-mapper",
|
|
3183
3185
|
"role": "feature",
|
|
3184
|
-
"version": "1.
|
|
3186
|
+
"version": "1.21.0",
|
|
3185
3187
|
"title": "Pattern mapping",
|
|
3186
3188
|
"description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
|
|
3187
3189
|
"tier": "full",
|
|
@@ -3235,7 +3237,7 @@ const capabilities = {
|
|
|
3235
3237
|
"pi": {
|
|
3236
3238
|
"id": "pi",
|
|
3237
3239
|
"role": "runtime",
|
|
3238
|
-
"version": "1.
|
|
3240
|
+
"version": "1.21.0",
|
|
3239
3241
|
"title": "pi",
|
|
3240
3242
|
"description": "pi (pi.dev) — node-runtime programmatic-CLI (managed pi 1.3.0 install); 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.",
|
|
3241
3243
|
"tier": "core",
|
|
@@ -3346,7 +3348,7 @@ const capabilities = {
|
|
|
3346
3348
|
"profile-pipeline": {
|
|
3347
3349
|
"id": "profile-pipeline",
|
|
3348
3350
|
"role": "feature",
|
|
3349
|
-
"version": "1.
|
|
3351
|
+
"version": "1.21.0",
|
|
3350
3352
|
"title": "Developer profiling pipeline",
|
|
3351
3353
|
"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.",
|
|
3352
3354
|
"tier": "full",
|
|
@@ -3423,7 +3425,7 @@ const capabilities = {
|
|
|
3423
3425
|
"qwen": {
|
|
3424
3426
|
"id": "qwen",
|
|
3425
3427
|
"role": "runtime",
|
|
3426
|
-
"version": "1.
|
|
3428
|
+
"version": "1.21.0",
|
|
3427
3429
|
"title": "Qwen Code",
|
|
3428
3430
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
3429
3431
|
"tier": "core",
|
|
@@ -3584,7 +3586,7 @@ const capabilities = {
|
|
|
3584
3586
|
"refactor-trigger": {
|
|
3585
3587
|
"id": "refactor-trigger",
|
|
3586
3588
|
"role": "feature",
|
|
3587
|
-
"version": "1.
|
|
3589
|
+
"version": "1.21.0",
|
|
3588
3590
|
"title": "Complexity-triggered refactor",
|
|
3589
3591
|
"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).",
|
|
3590
3592
|
"tier": "full",
|
|
@@ -3651,7 +3653,7 @@ const capabilities = {
|
|
|
3651
3653
|
"research": {
|
|
3652
3654
|
"id": "research",
|
|
3653
3655
|
"role": "feature",
|
|
3654
|
-
"version": "1.
|
|
3656
|
+
"version": "1.21.0",
|
|
3655
3657
|
"title": "Phase research",
|
|
3656
3658
|
"description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
|
|
3657
3659
|
"tier": "standard",
|
|
@@ -3703,7 +3705,7 @@ const capabilities = {
|
|
|
3703
3705
|
"schema-gate": {
|
|
3704
3706
|
"id": "schema-gate",
|
|
3705
3707
|
"role": "feature",
|
|
3706
|
-
"version": "1.
|
|
3708
|
+
"version": "1.21.0",
|
|
3707
3709
|
"title": "Schema push detection gate",
|
|
3708
3710
|
"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.",
|
|
3709
3711
|
"tier": "full",
|
|
@@ -3749,7 +3751,7 @@ const capabilities = {
|
|
|
3749
3751
|
"security": {
|
|
3750
3752
|
"id": "security",
|
|
3751
3753
|
"role": "feature",
|
|
3752
|
-
"version": "1.
|
|
3754
|
+
"version": "1.21.0",
|
|
3753
3755
|
"title": "Security enforcement",
|
|
3754
3756
|
"description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
|
|
3755
3757
|
"tier": "full",
|
|
@@ -3848,7 +3850,7 @@ const capabilities = {
|
|
|
3848
3850
|
"tdd": {
|
|
3849
3851
|
"id": "tdd",
|
|
3850
3852
|
"role": "feature",
|
|
3851
|
-
"version": "1.
|
|
3853
|
+
"version": "1.21.0",
|
|
3852
3854
|
"title": "Test-driven development",
|
|
3853
3855
|
"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.",
|
|
3854
3856
|
"tier": "full",
|
|
@@ -3901,7 +3903,7 @@ const capabilities = {
|
|
|
3901
3903
|
"trae": {
|
|
3902
3904
|
"id": "trae",
|
|
3903
3905
|
"role": "runtime",
|
|
3904
|
-
"version": "1.
|
|
3906
|
+
"version": "1.21.0",
|
|
3905
3907
|
"title": "Trae IDE",
|
|
3906
3908
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
3907
3909
|
"tier": "core",
|
|
@@ -4000,7 +4002,7 @@ const capabilities = {
|
|
|
4000
4002
|
"ui": {
|
|
4001
4003
|
"id": "ui",
|
|
4002
4004
|
"role": "feature",
|
|
4003
|
-
"version": "1.
|
|
4005
|
+
"version": "1.21.0",
|
|
4004
4006
|
"title": "UI design contracts",
|
|
4005
4007
|
"description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
|
|
4006
4008
|
"tier": "full",
|
|
@@ -4100,7 +4102,7 @@ const capabilities = {
|
|
|
4100
4102
|
"vscode": {
|
|
4101
4103
|
"id": "vscode",
|
|
4102
4104
|
"role": "runtime",
|
|
4103
|
-
"version": "1.
|
|
4105
|
+
"version": "1.21.0",
|
|
4104
4106
|
"title": "VS Code",
|
|
4105
4107
|
"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).",
|
|
4106
4108
|
"tier": "core",
|
|
@@ -4158,7 +4160,7 @@ const capabilities = {
|
|
|
4158
4160
|
"windsurf": {
|
|
4159
4161
|
"id": "windsurf",
|
|
4160
4162
|
"role": "runtime",
|
|
4161
|
-
"version": "1.
|
|
4163
|
+
"version": "1.21.0",
|
|
4162
4164
|
"title": "Windsurf",
|
|
4163
4165
|
"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.",
|
|
4164
4166
|
"tier": "core",
|
|
@@ -4251,7 +4253,7 @@ const capabilities = {
|
|
|
4251
4253
|
"zcode": {
|
|
4252
4254
|
"id": "zcode",
|
|
4253
4255
|
"role": "runtime",
|
|
4254
|
-
"version": "1.
|
|
4256
|
+
"version": "1.21.0",
|
|
4255
4257
|
"title": "ZCode",
|
|
4256
4258
|
"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.",
|
|
4257
4259
|
"tier": "core",
|
|
@@ -4475,7 +4477,7 @@ const byLoopPoint = {
|
|
|
4475
4477
|
"consumes": [
|
|
4476
4478
|
"CONTEXT.md"
|
|
4477
4479
|
],
|
|
4478
|
-
"when": "mempalace.
|
|
4480
|
+
"when": "mempalace.recall_on_plan",
|
|
4479
4481
|
"onError": "skip"
|
|
4480
4482
|
},
|
|
4481
4483
|
{
|
|
@@ -5186,7 +5188,7 @@ const configSchema = {
|
|
|
5186
5188
|
"owner": "claude-orchestration",
|
|
5187
5189
|
"type": "enum",
|
|
5188
5190
|
"default": "auto",
|
|
5189
|
-
"description": "Which execute-phase dispatch backend to use when the capability is enabled. 'auto' (default)
|
|
5191
|
+
"description": "Which execute-phase dispatch backend to use when the capability is enabled. 'auto' (default) and 'workflow' both select the Workflow backend only when every detection gate passes: the runtime is Claude, the host can nest agents, and no Claude Code workflow kill switch is set (CLAUDE_CODE_DISABLE_WORKFLOWS, or disableWorkflows / enableWorkflows in managed, project or user settings); otherwise inline. 'inline' forces one-agent-per-message dispatch regardless.",
|
|
5190
5192
|
"values": [
|
|
5191
5193
|
"auto",
|
|
5192
5194
|
"workflow",
|
|
@@ -5197,7 +5199,7 @@ const configSchema = {
|
|
|
5197
5199
|
"owner": "claude-orchestration",
|
|
5198
5200
|
"type": "string",
|
|
5199
5201
|
"default": "0.3.149",
|
|
5200
|
-
"description": "
|
|
5202
|
+
"description": "Deprecated (#4747) and ignored. The Workflow backend no longer gates on the installed Agent SDK version, which does not reflect whether a Claude Code session has dynamic workflows; detection reads Claude Code's documented kill switches instead. Kept so existing configs still load; remove it from your config."
|
|
5201
5203
|
},
|
|
5202
5204
|
"workflow.code_review": {
|
|
5203
5205
|
"owner": "code-review",
|
|
@@ -5717,7 +5719,7 @@ const runtimes = {
|
|
|
5717
5719
|
"antigravity": {
|
|
5718
5720
|
"id": "antigravity",
|
|
5719
5721
|
"role": "runtime",
|
|
5720
|
-
"version": "1.
|
|
5722
|
+
"version": "1.21.0",
|
|
5721
5723
|
"title": "Antigravity",
|
|
5722
5724
|
"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.",
|
|
5723
5725
|
"tier": "core",
|
|
@@ -5892,7 +5894,7 @@ const runtimes = {
|
|
|
5892
5894
|
"augment": {
|
|
5893
5895
|
"id": "augment",
|
|
5894
5896
|
"role": "runtime",
|
|
5895
|
-
"version": "1.
|
|
5897
|
+
"version": "1.21.0",
|
|
5896
5898
|
"title": "Augment Code",
|
|
5897
5899
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
5898
5900
|
"tier": "core",
|
|
@@ -6010,7 +6012,7 @@ const runtimes = {
|
|
|
6010
6012
|
"claude": {
|
|
6011
6013
|
"id": "claude",
|
|
6012
6014
|
"role": "runtime",
|
|
6013
|
-
"version": "1.
|
|
6015
|
+
"version": "1.21.0",
|
|
6014
6016
|
"title": "Claude Code",
|
|
6015
6017
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
6016
6018
|
"tier": "core",
|
|
@@ -6126,6 +6128,7 @@ const runtimes = {
|
|
|
6126
6128
|
"hyphenNameAgentBody": true,
|
|
6127
6129
|
"skipCompactAgents": true,
|
|
6128
6130
|
"omitBashRunnerOnWindows": true,
|
|
6131
|
+
"powershellHooksOnWindows": true,
|
|
6129
6132
|
"specRootSkillPass": true,
|
|
6130
6133
|
"restoreAtRefTildeInAgents": true,
|
|
6131
6134
|
"restoreAtRefTildeInSpecTree": true,
|
|
@@ -6205,7 +6208,7 @@ const runtimes = {
|
|
|
6205
6208
|
"cline": {
|
|
6206
6209
|
"id": "cline",
|
|
6207
6210
|
"role": "runtime",
|
|
6208
|
-
"version": "1.
|
|
6211
|
+
"version": "1.21.0",
|
|
6209
6212
|
"title": "Cline",
|
|
6210
6213
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
6211
6214
|
"tier": "core",
|
|
@@ -6299,7 +6302,7 @@ const runtimes = {
|
|
|
6299
6302
|
"codebuddy": {
|
|
6300
6303
|
"id": "codebuddy",
|
|
6301
6304
|
"role": "runtime",
|
|
6302
|
-
"version": "1.
|
|
6305
|
+
"version": "1.21.0",
|
|
6303
6306
|
"title": "CodeBuddy",
|
|
6304
6307
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6305
6308
|
"tier": "core",
|
|
@@ -6421,7 +6424,7 @@ const runtimes = {
|
|
|
6421
6424
|
"codex": {
|
|
6422
6425
|
"id": "codex",
|
|
6423
6426
|
"role": "runtime",
|
|
6424
|
-
"version": "1.
|
|
6427
|
+
"version": "1.21.0",
|
|
6425
6428
|
"title": "OpenAI Codex CLI",
|
|
6426
6429
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
6427
6430
|
"tier": "core",
|
|
@@ -6615,7 +6618,7 @@ const runtimes = {
|
|
|
6615
6618
|
"copilot": {
|
|
6616
6619
|
"id": "copilot",
|
|
6617
6620
|
"role": "runtime",
|
|
6618
|
-
"version": "1.
|
|
6621
|
+
"version": "1.21.0",
|
|
6619
6622
|
"title": "GitHub Copilot",
|
|
6620
6623
|
"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.",
|
|
6621
6624
|
"tier": "core",
|
|
@@ -6717,7 +6720,7 @@ const runtimes = {
|
|
|
6717
6720
|
"cursor": {
|
|
6718
6721
|
"id": "cursor",
|
|
6719
6722
|
"role": "runtime",
|
|
6720
|
-
"version": "1.
|
|
6723
|
+
"version": "1.21.0",
|
|
6721
6724
|
"title": "Cursor",
|
|
6722
6725
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
6723
6726
|
"tier": "core",
|
|
@@ -6894,7 +6897,7 @@ const runtimes = {
|
|
|
6894
6897
|
"hermes": {
|
|
6895
6898
|
"id": "hermes",
|
|
6896
6899
|
"role": "runtime",
|
|
6897
|
-
"version": "1.
|
|
6900
|
+
"version": "1.21.0",
|
|
6898
6901
|
"title": "Hermes Agent",
|
|
6899
6902
|
"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.",
|
|
6900
6903
|
"tier": "core",
|
|
@@ -7013,7 +7016,7 @@ const runtimes = {
|
|
|
7013
7016
|
"kilo": {
|
|
7014
7017
|
"id": "kilo",
|
|
7015
7018
|
"role": "runtime",
|
|
7016
|
-
"version": "1.
|
|
7019
|
+
"version": "1.21.0",
|
|
7017
7020
|
"title": "Kilo Code",
|
|
7018
7021
|
"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.",
|
|
7019
7022
|
"tier": "core",
|
|
@@ -7147,7 +7150,7 @@ const runtimes = {
|
|
|
7147
7150
|
"kimi": {
|
|
7148
7151
|
"id": "kimi",
|
|
7149
7152
|
"role": "runtime",
|
|
7150
|
-
"version": "1.
|
|
7153
|
+
"version": "1.21.0",
|
|
7151
7154
|
"title": "Kimi CLI",
|
|
7152
7155
|
"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.",
|
|
7153
7156
|
"tier": "core",
|
|
@@ -7257,7 +7260,7 @@ const runtimes = {
|
|
|
7257
7260
|
"kimi-code": {
|
|
7258
7261
|
"id": "kimi-code",
|
|
7259
7262
|
"role": "runtime",
|
|
7260
|
-
"version": "1.
|
|
7263
|
+
"version": "1.21.0",
|
|
7261
7264
|
"title": "Kimi Code CLI",
|
|
7262
7265
|
"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.",
|
|
7263
7266
|
"tier": "core",
|
|
@@ -7435,7 +7438,7 @@ const runtimes = {
|
|
|
7435
7438
|
"opencode": {
|
|
7436
7439
|
"id": "opencode",
|
|
7437
7440
|
"role": "runtime",
|
|
7438
|
-
"version": "1.
|
|
7441
|
+
"version": "1.21.0",
|
|
7439
7442
|
"title": "OpenCode",
|
|
7440
7443
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
7441
7444
|
"tier": "core",
|
|
@@ -7646,7 +7649,7 @@ const runtimes = {
|
|
|
7646
7649
|
"pi": {
|
|
7647
7650
|
"id": "pi",
|
|
7648
7651
|
"role": "runtime",
|
|
7649
|
-
"version": "1.
|
|
7652
|
+
"version": "1.21.0",
|
|
7650
7653
|
"title": "pi",
|
|
7651
7654
|
"description": "pi (pi.dev) — node-runtime programmatic-CLI (managed pi 1.3.0 install); 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.",
|
|
7652
7655
|
"tier": "core",
|
|
@@ -7757,7 +7760,7 @@ const runtimes = {
|
|
|
7757
7760
|
"qwen": {
|
|
7758
7761
|
"id": "qwen",
|
|
7759
7762
|
"role": "runtime",
|
|
7760
|
-
"version": "1.
|
|
7763
|
+
"version": "1.21.0",
|
|
7761
7764
|
"title": "Qwen Code",
|
|
7762
7765
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
7763
7766
|
"tier": "core",
|
|
@@ -7918,7 +7921,7 @@ const runtimes = {
|
|
|
7918
7921
|
"trae": {
|
|
7919
7922
|
"id": "trae",
|
|
7920
7923
|
"role": "runtime",
|
|
7921
|
-
"version": "1.
|
|
7924
|
+
"version": "1.21.0",
|
|
7922
7925
|
"title": "Trae IDE",
|
|
7923
7926
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
7924
7927
|
"tier": "core",
|
|
@@ -8017,7 +8020,7 @@ const runtimes = {
|
|
|
8017
8020
|
"vscode": {
|
|
8018
8021
|
"id": "vscode",
|
|
8019
8022
|
"role": "runtime",
|
|
8020
|
-
"version": "1.
|
|
8023
|
+
"version": "1.21.0",
|
|
8021
8024
|
"title": "VS Code",
|
|
8022
8025
|
"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).",
|
|
8023
8026
|
"tier": "core",
|
|
@@ -8075,7 +8078,7 @@ const runtimes = {
|
|
|
8075
8078
|
"windsurf": {
|
|
8076
8079
|
"id": "windsurf",
|
|
8077
8080
|
"role": "runtime",
|
|
8078
|
-
"version": "1.
|
|
8081
|
+
"version": "1.21.0",
|
|
8079
8082
|
"title": "Windsurf",
|
|
8080
8083
|
"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.",
|
|
8081
8084
|
"tier": "core",
|
|
@@ -8168,7 +8171,7 @@ const runtimes = {
|
|
|
8168
8171
|
"zcode": {
|
|
8169
8172
|
"id": "zcode",
|
|
8170
8173
|
"role": "runtime",
|
|
8171
|
-
"version": "1.
|
|
8174
|
+
"version": "1.21.0",
|
|
8172
8175
|
"title": "ZCode",
|
|
8173
8176
|
"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.",
|
|
8174
8177
|
"tier": "core",
|