@opengsd/gsd-core 1.17.0 → 1.18.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/agents/gsd-advisor-researcher.compact.md +1 -1
- package/agents/gsd-advisor-researcher.md +1 -1
- package/agents/gsd-assumptions-analyzer.compact.md +1 -1
- package/agents/gsd-assumptions-analyzer.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 +1 -1
- package/agents/gsd-code-reviewer.md +1 -1
- package/agents/gsd-codebase-mapper.compact.md +1 -1
- package/agents/gsd-codebase-mapper.md +1 -1
- package/agents/gsd-debugger.md +1 -1
- package/agents/gsd-doc-verifier.compact.md +4 -4
- package/agents/gsd-doc-verifier.md +4 -3
- package/agents/gsd-doc-writer.compact.md +23 -5
- package/agents/gsd-doc-writer.md +19 -6
- package/agents/gsd-eval-auditor.compact.md +1 -1
- package/agents/gsd-eval-auditor.md +1 -1
- package/agents/gsd-executor.md +7 -3
- package/agents/gsd-integration-checker.compact.md +1 -1
- package/agents/gsd-integration-checker.md +1 -1
- package/agents/gsd-nyquist-auditor.compact.md +1 -1
- package/agents/gsd-nyquist-auditor.md +1 -1
- package/agents/gsd-phase-researcher.md +1 -1
- package/agents/gsd-plan-checker.md +2 -1
- package/agents/gsd-planner.md +5 -4
- package/agents/gsd-project-researcher.compact.md +1 -1
- package/agents/gsd-project-researcher.md +1 -1
- package/agents/gsd-research-synthesizer.compact.md +5 -5
- package/agents/gsd-research-synthesizer.md +5 -5
- package/agents/gsd-roadmapper.compact.md +1 -1
- package/agents/gsd-roadmapper.md +1 -1
- package/agents/gsd-security-auditor.compact.md +1 -1
- package/agents/gsd-security-auditor.md +1 -1
- package/agents/gsd-ui-auditor.compact.md +1 -1
- package/agents/gsd-ui-auditor.md +1 -1
- package/agents/gsd-ui-checker.compact.md +1 -1
- package/agents/gsd-ui-checker.md +1 -1
- package/agents/gsd-ui-researcher.compact.md +13 -1
- package/agents/gsd-ui-researcher.md +28 -1
- package/agents/gsd-verifier.md +1 -1
- package/bin/install.js +38 -2
- package/commands/gsd/code-review.md +8 -0
- package/commands/gsd/pause-work.md +1 -1
- package/gsd-core/bin/gsd-tools.cjs +18 -11
- package/gsd-core/bin/lib/capability-ledger.cjs +25 -0
- package/gsd-core/bin/lib/capability-lock.cjs +29 -7
- package/gsd-core/bin/lib/capability-registry.cjs +70 -64
- package/gsd-core/bin/lib/capability-source.cjs +3 -1
- package/gsd-core/bin/lib/capability-state.cjs +6 -3
- package/gsd-core/bin/lib/capability-validator.cjs +6 -4
- package/gsd-core/bin/lib/commands.cjs +5 -1
- package/gsd-core/bin/lib/config-loader.cjs +3 -3
- package/gsd-core/bin/lib/decision-coverage-support.cjs +19 -0
- package/gsd-core/bin/lib/gate-decision-coverage-plan.cjs +15 -0
- package/gsd-core/bin/lib/gate-decision-coverage-verify.cjs +13 -0
- package/gsd-core/bin/lib/gate-predicate-evaluator.cjs +23 -3
- package/gsd-core/bin/lib/gate-predicate.cjs +8 -12
- package/gsd-core/bin/lib/gate-tdd-review-checkpoint.cjs +60 -5
- package/gsd-core/bin/lib/init.cjs +11 -4
- package/gsd-core/bin/lib/install-effort-resolver.cjs +2 -2
- package/gsd-core/bin/lib/install-model-override-resolver.cjs +4 -3
- package/gsd-core/bin/lib/install-profiles.cjs +5 -3
- package/gsd-core/bin/lib/phase.cjs +120 -11
- package/gsd-core/bin/lib/report-parser.cjs +57 -1
- package/gsd-core/bin/lib/review-lane-invocation.cjs +40 -0
- package/gsd-core/bin/lib/review-reviewer-selection.cjs +20 -1
- package/gsd-core/bin/lib/roadmap.cjs +56 -5
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +47 -2
- package/gsd-core/bin/lib/runtime-homes.cjs +18 -0
- package/gsd-core/bin/lib/shell-command-projection.cjs +2 -0
- package/gsd-core/bin/lib/smart-entry.cjs +24 -16
- package/gsd-core/bin/lib/state-document.cjs +37 -3
- package/gsd-core/bin/lib/state-transition.cjs +31 -10
- package/gsd-core/bin/lib/state.cjs +90 -60
- package/gsd-core/bin/lib/task-command-router.cjs +2 -3
- package/gsd-core/bin/lib/tdd-red-evidence.cjs +5 -0
- package/gsd-core/bin/lib/tdd-test-files.cjs +42 -0
- package/gsd-core/bin/lib/verify.cjs +36 -1
- package/gsd-core/references/agent-contracts.md +1 -1
- package/gsd-core/references/agent-skills-bootstrap.md +26 -7
- package/gsd-core/references/git-integration.md +3 -3
- package/gsd-core/references/planner-reversibility.md +18 -4
- package/gsd-core/references/planner-verify-command-grounding.md +18 -0
- package/gsd-core/references/tdd.md +4 -3
- package/gsd-core/references/verifier-phase-gates.md +8 -1
- package/gsd-core/workflows/add-backlog.md +10 -2
- package/gsd-core/workflows/add-phase.md +5 -1
- package/gsd-core/workflows/add-tests.md +5 -1
- package/gsd-core/workflows/add-todo.md +5 -1
- package/gsd-core/workflows/ai-integration-phase.md +5 -1
- package/gsd-core/workflows/audit-milestone.md +21 -9
- package/gsd-core/workflows/autonomous/templates/minimal-context.md +41 -0
- package/gsd-core/workflows/autonomous.md +52 -64
- package/gsd-core/workflows/check-todos.md +5 -1
- package/gsd-core/workflows/code-review-fix.md +5 -1
- package/gsd-core/workflows/code-review.md +5 -1
- package/gsd-core/workflows/complete-milestone/detail/elaboration.md +5 -1
- package/gsd-core/workflows/complete-milestone.md +25 -5
- package/gsd-core/workflows/debug.md +5 -1
- package/gsd-core/workflows/diagnose-issues.md +5 -1
- package/gsd-core/workflows/discuss-phase/modes/chain.md +5 -1
- package/gsd-core/workflows/discuss-phase-assumptions.md +11 -3
- package/gsd-core/workflows/discuss-phase.md +5 -1
- package/gsd-core/workflows/docs-update/detail/elaboration.md +7 -6
- package/gsd-core/workflows/docs-update.md +27 -5
- package/gsd-core/workflows/edit-phase.md +5 -1
- package/gsd-core/workflows/eval-review.md +11 -3
- package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +5 -1
- package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +12 -6
- package/gsd-core/workflows/execute-phase/steps/regression-gate-run.md +19 -2
- package/gsd-core/workflows/execute-phase/steps/regression-gate.md +18 -1
- package/gsd-core/workflows/execute-phase/steps/verify-phase-goal.md +5 -1
- package/gsd-core/workflows/execute-phase.md +37 -6
- package/gsd-core/workflows/execute-plan.md +8 -4
- package/gsd-core/workflows/extract-learnings.md +6 -2
- package/gsd-core/workflows/forensics.md +5 -1
- package/gsd-core/workflows/import.md +5 -1
- package/gsd-core/workflows/insert-phase.md +5 -1
- package/gsd-core/workflows/manager.md +10 -2
- package/gsd-core/workflows/map-codebase.md +5 -1
- package/gsd-core/workflows/milestone-summary.md +10 -2
- package/gsd-core/workflows/new-milestone.md +13 -5
- package/gsd-core/workflows/new-project.md +9 -5
- package/gsd-core/workflows/next.md +8 -4
- package/gsd-core/workflows/pause-work.md +3 -3
- package/gsd-core/workflows/plan-phase/steps/auto-advance-check.md +70 -0
- package/gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md +5 -1
- package/gsd-core/workflows/plan-phase/steps/closed-phase-gate.md +6 -2
- package/gsd-core/workflows/plan-phase.md +41 -73
- package/gsd-core/workflows/plan-review-convergence.md +17 -5
- package/gsd-core/workflows/plant-seed.md +8 -4
- package/gsd-core/workflows/progress.md +6 -2
- package/gsd-core/workflows/quick-batch.md +5 -1
- package/gsd-core/workflows/quick.md +22 -7
- package/gsd-core/workflows/remove-phase.md +5 -1
- package/gsd-core/workflows/resume-project.md +5 -1
- package/gsd-core/workflows/review.md +6 -2
- package/gsd-core/workflows/scan.md +5 -1
- package/gsd-core/workflows/secure-phase.md +6 -2
- package/gsd-core/workflows/settings.md +3 -3
- package/gsd-core/workflows/ship.md +13 -10
- package/gsd-core/workflows/thread.md +10 -2
- package/gsd-core/workflows/transition.md +5 -1
- package/gsd-core/workflows/ui-phase.md +5 -1
- package/gsd-core/workflows/ui-review.md +6 -2
- package/gsd-core/workflows/ultraplan-phase.md +5 -1
- package/gsd-core/workflows/update.md +5 -1
- package/gsd-core/workflows/validate-phase.md +6 -2
- package/gsd-core/workflows/verify-work/detail/elaboration.md +1 -1
- package/gsd-core/workflows/verify-work/steps/mvp-uat-framing.md +5 -1
- package/gsd-core/workflows/verify-work.md +11 -3
- package/hooks/dist/gsd-agent-isolation-guard.js +3 -1
- package/hooks/dist/gsd-cursor-subagent-start.js +2 -1
- package/hooks/dist/gsd-secret-read-guard.js +72 -14
- package/hooks/dist/gsd-validate-commit.sh +27 -5
- package/hooks/gsd-agent-isolation-guard.js +3 -1
- package/hooks/gsd-cursor-subagent-start.js +2 -1
- package/hooks/gsd-secret-read-guard.js +72 -14
- package/hooks/gsd-validate-commit.sh +27 -5
- package/package.json +1 -1
- package/scripts/audit-workflow-script-paths.cjs +1 -1
- package/scripts/diagnose-validate-commit-in-tier.cjs +270 -0
- package/scripts/diagnose-validate-commit-phases.cjs +348 -0
- package/scripts/diagnose-windows-spawn-watcher.cjs +317 -0
- package/scripts/docs-guard-registry.cjs +2 -0
- package/scripts/lib/macos-conformance-tier.generated.cjs +9 -0
- package/scripts/lib/platform-conformance-tier.generated.cjs +16 -0
- package/scripts/lint-phase-arg-assignment.cjs +2 -2
- package/scripts/lint-workflow-shellcheck-baseline.json +16 -16
- package/scripts/release-tarball-smoke.cjs +1 -0
- package/scripts/xtrace-phase-timing.cjs +205 -0
- package/skills/gsd-code-review/SKILL.md +8 -0
- package/skills/gsd-pause-work/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.18.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.18.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,6 +194,7 @@ const capabilities = {
|
|
|
194
194
|
"effortSurface": "undocumented"
|
|
195
195
|
},
|
|
196
196
|
"hostBehaviors": {
|
|
197
|
+
"defaultHomeIncludeRoot": ".gemini/antigravity",
|
|
197
198
|
"unsupportedFeatures": [
|
|
198
199
|
"context-warnings"
|
|
199
200
|
],
|
|
@@ -262,7 +263,7 @@ const capabilities = {
|
|
|
262
263
|
"assumption-delta": {
|
|
263
264
|
"id": "assumption-delta",
|
|
264
265
|
"role": "feature",
|
|
265
|
-
"version": "1.
|
|
266
|
+
"version": "1.18.0",
|
|
266
267
|
"title": "Assumption-delta architecture checkpoint",
|
|
267
268
|
"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.",
|
|
268
269
|
"tier": "full",
|
|
@@ -308,7 +309,7 @@ const capabilities = {
|
|
|
308
309
|
"audit": {
|
|
309
310
|
"id": "audit",
|
|
310
311
|
"role": "feature",
|
|
311
|
-
"version": "1.
|
|
312
|
+
"version": "1.18.0",
|
|
312
313
|
"title": "Audit",
|
|
313
314
|
"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).",
|
|
314
315
|
"tier": "full",
|
|
@@ -345,7 +346,7 @@ const capabilities = {
|
|
|
345
346
|
"augment": {
|
|
346
347
|
"id": "augment",
|
|
347
348
|
"role": "runtime",
|
|
348
|
-
"version": "1.
|
|
349
|
+
"version": "1.18.0",
|
|
349
350
|
"title": "Augment Code",
|
|
350
351
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
351
352
|
"tier": "core",
|
|
@@ -463,7 +464,7 @@ const capabilities = {
|
|
|
463
464
|
"broken-windows": {
|
|
464
465
|
"id": "broken-windows",
|
|
465
466
|
"role": "feature",
|
|
466
|
-
"version": "1.
|
|
467
|
+
"version": "1.18.0",
|
|
467
468
|
"title": "Broken-windows ledger",
|
|
468
469
|
"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).",
|
|
469
470
|
"tier": "full",
|
|
@@ -509,7 +510,7 @@ const capabilities = {
|
|
|
509
510
|
"claude": {
|
|
510
511
|
"id": "claude",
|
|
511
512
|
"role": "runtime",
|
|
512
|
-
"version": "1.
|
|
513
|
+
"version": "1.18.0",
|
|
513
514
|
"title": "Claude Code",
|
|
514
515
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
515
516
|
"tier": "core",
|
|
@@ -697,7 +698,7 @@ const capabilities = {
|
|
|
697
698
|
"claude-orchestration": {
|
|
698
699
|
"id": "claude-orchestration",
|
|
699
700
|
"role": "feature",
|
|
700
|
-
"version": "1.
|
|
701
|
+
"version": "1.18.0",
|
|
701
702
|
"title": "Claude orchestration (Workflow backend)",
|
|
702
703
|
"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.",
|
|
703
704
|
"tier": "full",
|
|
@@ -771,7 +772,7 @@ const capabilities = {
|
|
|
771
772
|
"cline": {
|
|
772
773
|
"id": "cline",
|
|
773
774
|
"role": "runtime",
|
|
774
|
-
"version": "1.
|
|
775
|
+
"version": "1.18.0",
|
|
775
776
|
"title": "Cline",
|
|
776
777
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
777
778
|
"tier": "core",
|
|
@@ -865,7 +866,7 @@ const capabilities = {
|
|
|
865
866
|
"code-review": {
|
|
866
867
|
"id": "code-review",
|
|
867
868
|
"role": "feature",
|
|
868
|
-
"version": "1.
|
|
869
|
+
"version": "1.18.0",
|
|
869
870
|
"title": "Code review",
|
|
870
871
|
"description": "Source-file code review and review-fix workflow support for completed execution work.",
|
|
871
872
|
"tier": "full",
|
|
@@ -951,7 +952,7 @@ const capabilities = {
|
|
|
951
952
|
"codebuddy": {
|
|
952
953
|
"id": "codebuddy",
|
|
953
954
|
"role": "runtime",
|
|
954
|
-
"version": "1.
|
|
955
|
+
"version": "1.18.0",
|
|
955
956
|
"title": "CodeBuddy",
|
|
956
957
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
957
958
|
"tier": "core",
|
|
@@ -1073,7 +1074,7 @@ const capabilities = {
|
|
|
1073
1074
|
"coderabbit": {
|
|
1074
1075
|
"id": "coderabbit",
|
|
1075
1076
|
"role": "reviewer",
|
|
1076
|
-
"version": "1.
|
|
1077
|
+
"version": "1.18.0",
|
|
1077
1078
|
"title": "CodeRabbit",
|
|
1078
1079
|
"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).",
|
|
1079
1080
|
"tier": "full",
|
|
@@ -1125,7 +1126,7 @@ const capabilities = {
|
|
|
1125
1126
|
"codex": {
|
|
1126
1127
|
"id": "codex",
|
|
1127
1128
|
"role": "runtime",
|
|
1128
|
-
"version": "1.
|
|
1129
|
+
"version": "1.18.0",
|
|
1129
1130
|
"title": "OpenAI Codex CLI",
|
|
1130
1131
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
1131
1132
|
"tier": "core",
|
|
@@ -1312,7 +1313,7 @@ const capabilities = {
|
|
|
1312
1313
|
"copilot": {
|
|
1313
1314
|
"id": "copilot",
|
|
1314
1315
|
"role": "runtime",
|
|
1315
|
-
"version": "1.
|
|
1316
|
+
"version": "1.18.0",
|
|
1316
1317
|
"title": "GitHub Copilot",
|
|
1317
1318
|
"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.",
|
|
1318
1319
|
"tier": "core",
|
|
@@ -1402,6 +1403,7 @@ const capabilities = {
|
|
|
1402
1403
|
"effortSurface": "undocumented"
|
|
1403
1404
|
},
|
|
1404
1405
|
"hostBehaviors": {
|
|
1406
|
+
"defaultHomeIncludeRoot": ".copilot",
|
|
1405
1407
|
"reapplyCommand": "/gsd-update --reapply",
|
|
1406
1408
|
"agentFileExtension": ".agent.md",
|
|
1407
1409
|
"skipSharedHooksInstall": true,
|
|
@@ -1413,7 +1415,7 @@ const capabilities = {
|
|
|
1413
1415
|
"cursor": {
|
|
1414
1416
|
"id": "cursor",
|
|
1415
1417
|
"role": "runtime",
|
|
1416
|
-
"version": "1.
|
|
1418
|
+
"version": "1.18.0",
|
|
1417
1419
|
"title": "Cursor",
|
|
1418
1420
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
1419
1421
|
"tier": "core",
|
|
@@ -1583,7 +1585,7 @@ const capabilities = {
|
|
|
1583
1585
|
"drift": {
|
|
1584
1586
|
"id": "drift",
|
|
1585
1587
|
"role": "feature",
|
|
1586
|
-
"version": "1.
|
|
1588
|
+
"version": "1.18.0",
|
|
1587
1589
|
"title": "Drift detection gates",
|
|
1588
1590
|
"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.",
|
|
1589
1591
|
"tier": "full",
|
|
@@ -1684,7 +1686,7 @@ const capabilities = {
|
|
|
1684
1686
|
"external-job": {
|
|
1685
1687
|
"id": "external-job",
|
|
1686
1688
|
"role": "feature",
|
|
1687
|
-
"version": "1.
|
|
1689
|
+
"version": "1.18.0",
|
|
1688
1690
|
"title": "Async external-job scheduler adapter",
|
|
1689
1691
|
"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).",
|
|
1690
1692
|
"tier": "full",
|
|
@@ -1767,7 +1769,7 @@ const capabilities = {
|
|
|
1767
1769
|
"gap-analysis": {
|
|
1768
1770
|
"id": "gap-analysis",
|
|
1769
1771
|
"role": "feature",
|
|
1770
|
-
"version": "1.
|
|
1772
|
+
"version": "1.18.0",
|
|
1771
1773
|
"title": "Post-planning gap analysis",
|
|
1772
1774
|
"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.",
|
|
1773
1775
|
"tier": "standard",
|
|
@@ -1808,7 +1810,7 @@ const capabilities = {
|
|
|
1808
1810
|
"graphify": {
|
|
1809
1811
|
"id": "graphify",
|
|
1810
1812
|
"role": "feature",
|
|
1811
|
-
"version": "1.
|
|
1813
|
+
"version": "1.18.0",
|
|
1812
1814
|
"title": "Knowledge graph",
|
|
1813
1815
|
"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.",
|
|
1814
1816
|
"tier": "full",
|
|
@@ -1849,7 +1851,7 @@ const capabilities = {
|
|
|
1849
1851
|
"hermes": {
|
|
1850
1852
|
"id": "hermes",
|
|
1851
1853
|
"role": "runtime",
|
|
1852
|
-
"version": "1.
|
|
1854
|
+
"version": "1.18.0",
|
|
1853
1855
|
"title": "Hermes Agent",
|
|
1854
1856
|
"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.",
|
|
1855
1857
|
"tier": "core",
|
|
@@ -1968,7 +1970,7 @@ const capabilities = {
|
|
|
1968
1970
|
"intel": {
|
|
1969
1971
|
"id": "intel",
|
|
1970
1972
|
"role": "feature",
|
|
1971
|
-
"version": "1.
|
|
1973
|
+
"version": "1.18.0",
|
|
1972
1974
|
"title": "Codebase intelligence",
|
|
1973
1975
|
"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`.",
|
|
1974
1976
|
"tier": "full",
|
|
@@ -2020,7 +2022,7 @@ const capabilities = {
|
|
|
2020
2022
|
"kilo": {
|
|
2021
2023
|
"id": "kilo",
|
|
2022
2024
|
"role": "runtime",
|
|
2023
|
-
"version": "1.
|
|
2025
|
+
"version": "1.18.0",
|
|
2024
2026
|
"title": "Kilo Code",
|
|
2025
2027
|
"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.",
|
|
2026
2028
|
"tier": "core",
|
|
@@ -2154,7 +2156,7 @@ const capabilities = {
|
|
|
2154
2156
|
"kimi": {
|
|
2155
2157
|
"id": "kimi",
|
|
2156
2158
|
"role": "runtime",
|
|
2157
|
-
"version": "1.
|
|
2159
|
+
"version": "1.18.0",
|
|
2158
2160
|
"title": "Kimi CLI",
|
|
2159
2161
|
"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.",
|
|
2160
2162
|
"tier": "core",
|
|
@@ -2245,6 +2247,7 @@ const capabilities = {
|
|
|
2245
2247
|
"promptFlag": "--prompt"
|
|
2246
2248
|
},
|
|
2247
2249
|
"hostBehaviors": {
|
|
2250
|
+
"retargetsGsdCoreProsePath": true,
|
|
2248
2251
|
"unsupportedFeatures": [
|
|
2249
2252
|
"context-warnings"
|
|
2250
2253
|
],
|
|
@@ -2263,7 +2266,7 @@ const capabilities = {
|
|
|
2263
2266
|
"kimi-code": {
|
|
2264
2267
|
"id": "kimi-code",
|
|
2265
2268
|
"role": "runtime",
|
|
2266
|
-
"version": "1.
|
|
2269
|
+
"version": "1.18.0",
|
|
2267
2270
|
"title": "Kimi Code CLI",
|
|
2268
2271
|
"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.",
|
|
2269
2272
|
"tier": "core",
|
|
@@ -2434,7 +2437,7 @@ const capabilities = {
|
|
|
2434
2437
|
"live-dom-uat": {
|
|
2435
2438
|
"id": "live-dom-uat",
|
|
2436
2439
|
"role": "feature",
|
|
2437
|
-
"version": "1.
|
|
2440
|
+
"version": "1.18.0",
|
|
2438
2441
|
"title": "Live-DOM UAT",
|
|
2439
2442
|
"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.",
|
|
2440
2443
|
"tier": "full",
|
|
@@ -2487,7 +2490,7 @@ const capabilities = {
|
|
|
2487
2490
|
"llama-cpp": {
|
|
2488
2491
|
"id": "llama-cpp",
|
|
2489
2492
|
"role": "reviewer",
|
|
2490
|
-
"version": "1.
|
|
2493
|
+
"version": "1.18.0",
|
|
2491
2494
|
"title": "llama.cpp",
|
|
2492
2495
|
"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).",
|
|
2493
2496
|
"tier": "full",
|
|
@@ -2553,7 +2556,7 @@ const capabilities = {
|
|
|
2553
2556
|
"lm-studio": {
|
|
2554
2557
|
"id": "lm-studio",
|
|
2555
2558
|
"role": "reviewer",
|
|
2556
|
-
"version": "1.
|
|
2559
|
+
"version": "1.18.0",
|
|
2557
2560
|
"title": "LM Studio",
|
|
2558
2561
|
"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).",
|
|
2559
2562
|
"tier": "full",
|
|
@@ -2619,7 +2622,7 @@ const capabilities = {
|
|
|
2619
2622
|
"mempalace": {
|
|
2620
2623
|
"id": "mempalace",
|
|
2621
2624
|
"role": "feature",
|
|
2622
|
-
"version": "1.
|
|
2625
|
+
"version": "1.18.0",
|
|
2623
2626
|
"title": "MemPalace memory",
|
|
2624
2627
|
"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.",
|
|
2625
2628
|
"tier": "full",
|
|
@@ -2793,7 +2796,7 @@ const capabilities = {
|
|
|
2793
2796
|
"nyquist": {
|
|
2794
2797
|
"id": "nyquist",
|
|
2795
2798
|
"role": "feature",
|
|
2796
|
-
"version": "1.
|
|
2799
|
+
"version": "1.18.0",
|
|
2797
2800
|
"title": "Nyquist validation",
|
|
2798
2801
|
"description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
|
|
2799
2802
|
"tier": "full",
|
|
@@ -2843,7 +2846,7 @@ const capabilities = {
|
|
|
2843
2846
|
"ollama": {
|
|
2844
2847
|
"id": "ollama",
|
|
2845
2848
|
"role": "reviewer",
|
|
2846
|
-
"version": "1.
|
|
2849
|
+
"version": "1.18.0",
|
|
2847
2850
|
"title": "Ollama",
|
|
2848
2851
|
"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.",
|
|
2849
2852
|
"tier": "full",
|
|
@@ -2909,7 +2912,7 @@ const capabilities = {
|
|
|
2909
2912
|
"opencode": {
|
|
2910
2913
|
"id": "opencode",
|
|
2911
2914
|
"role": "runtime",
|
|
2912
|
-
"version": "1.
|
|
2915
|
+
"version": "1.18.0",
|
|
2913
2916
|
"title": "OpenCode",
|
|
2914
2917
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
2915
2918
|
"tier": "core",
|
|
@@ -3113,7 +3116,7 @@ const capabilities = {
|
|
|
3113
3116
|
"pattern-mapper": {
|
|
3114
3117
|
"id": "pattern-mapper",
|
|
3115
3118
|
"role": "feature",
|
|
3116
|
-
"version": "1.
|
|
3119
|
+
"version": "1.18.0",
|
|
3117
3120
|
"title": "Pattern mapping",
|
|
3118
3121
|
"description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
|
|
3119
3122
|
"tier": "full",
|
|
@@ -3167,7 +3170,7 @@ const capabilities = {
|
|
|
3167
3170
|
"pi": {
|
|
3168
3171
|
"id": "pi",
|
|
3169
3172
|
"role": "runtime",
|
|
3170
|
-
"version": "1.
|
|
3173
|
+
"version": "1.18.0",
|
|
3171
3174
|
"title": "pi",
|
|
3172
3175
|
"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.",
|
|
3173
3176
|
"tier": "core",
|
|
@@ -3237,7 +3240,7 @@ const capabilities = {
|
|
|
3237
3240
|
"profile-pipeline": {
|
|
3238
3241
|
"id": "profile-pipeline",
|
|
3239
3242
|
"role": "feature",
|
|
3240
|
-
"version": "1.
|
|
3243
|
+
"version": "1.18.0",
|
|
3241
3244
|
"title": "Developer profiling pipeline",
|
|
3242
3245
|
"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.",
|
|
3243
3246
|
"tier": "full",
|
|
@@ -3314,7 +3317,7 @@ const capabilities = {
|
|
|
3314
3317
|
"qwen": {
|
|
3315
3318
|
"id": "qwen",
|
|
3316
3319
|
"role": "runtime",
|
|
3317
|
-
"version": "1.
|
|
3320
|
+
"version": "1.18.0",
|
|
3318
3321
|
"title": "Qwen Code",
|
|
3319
3322
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
3320
3323
|
"tier": "core",
|
|
@@ -3468,7 +3471,7 @@ const capabilities = {
|
|
|
3468
3471
|
"refactor-trigger": {
|
|
3469
3472
|
"id": "refactor-trigger",
|
|
3470
3473
|
"role": "feature",
|
|
3471
|
-
"version": "1.
|
|
3474
|
+
"version": "1.18.0",
|
|
3472
3475
|
"title": "Complexity-triggered refactor",
|
|
3473
3476
|
"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).",
|
|
3474
3477
|
"tier": "full",
|
|
@@ -3535,7 +3538,7 @@ const capabilities = {
|
|
|
3535
3538
|
"research": {
|
|
3536
3539
|
"id": "research",
|
|
3537
3540
|
"role": "feature",
|
|
3538
|
-
"version": "1.
|
|
3541
|
+
"version": "1.18.0",
|
|
3539
3542
|
"title": "Phase research",
|
|
3540
3543
|
"description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
|
|
3541
3544
|
"tier": "standard",
|
|
@@ -3587,7 +3590,7 @@ const capabilities = {
|
|
|
3587
3590
|
"schema-gate": {
|
|
3588
3591
|
"id": "schema-gate",
|
|
3589
3592
|
"role": "feature",
|
|
3590
|
-
"version": "1.
|
|
3593
|
+
"version": "1.18.0",
|
|
3591
3594
|
"title": "Schema push detection gate",
|
|
3592
3595
|
"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.",
|
|
3593
3596
|
"tier": "full",
|
|
@@ -3633,7 +3636,7 @@ const capabilities = {
|
|
|
3633
3636
|
"security": {
|
|
3634
3637
|
"id": "security",
|
|
3635
3638
|
"role": "feature",
|
|
3636
|
-
"version": "1.
|
|
3639
|
+
"version": "1.18.0",
|
|
3637
3640
|
"title": "Security enforcement",
|
|
3638
3641
|
"description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
|
|
3639
3642
|
"tier": "full",
|
|
@@ -3732,7 +3735,7 @@ const capabilities = {
|
|
|
3732
3735
|
"tdd": {
|
|
3733
3736
|
"id": "tdd",
|
|
3734
3737
|
"role": "feature",
|
|
3735
|
-
"version": "1.
|
|
3738
|
+
"version": "1.18.0",
|
|
3736
3739
|
"title": "Test-driven development",
|
|
3737
3740
|
"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.",
|
|
3738
3741
|
"tier": "full",
|
|
@@ -3785,7 +3788,7 @@ const capabilities = {
|
|
|
3785
3788
|
"trae": {
|
|
3786
3789
|
"id": "trae",
|
|
3787
3790
|
"role": "runtime",
|
|
3788
|
-
"version": "1.
|
|
3791
|
+
"version": "1.18.0",
|
|
3789
3792
|
"title": "Trae IDE",
|
|
3790
3793
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
3791
3794
|
"tier": "core",
|
|
@@ -3884,7 +3887,7 @@ const capabilities = {
|
|
|
3884
3887
|
"ui": {
|
|
3885
3888
|
"id": "ui",
|
|
3886
3889
|
"role": "feature",
|
|
3887
|
-
"version": "1.
|
|
3890
|
+
"version": "1.18.0",
|
|
3888
3891
|
"title": "UI design contracts",
|
|
3889
3892
|
"description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
|
|
3890
3893
|
"tier": "full",
|
|
@@ -3984,7 +3987,7 @@ const capabilities = {
|
|
|
3984
3987
|
"vscode": {
|
|
3985
3988
|
"id": "vscode",
|
|
3986
3989
|
"role": "runtime",
|
|
3987
|
-
"version": "1.
|
|
3990
|
+
"version": "1.18.0",
|
|
3988
3991
|
"title": "VS Code",
|
|
3989
3992
|
"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).",
|
|
3990
3993
|
"tier": "core",
|
|
@@ -4042,7 +4045,7 @@ const capabilities = {
|
|
|
4042
4045
|
"windsurf": {
|
|
4043
4046
|
"id": "windsurf",
|
|
4044
4047
|
"role": "runtime",
|
|
4045
|
-
"version": "1.
|
|
4048
|
+
"version": "1.18.0",
|
|
4046
4049
|
"title": "Windsurf",
|
|
4047
4050
|
"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.",
|
|
4048
4051
|
"tier": "core",
|
|
@@ -4135,7 +4138,7 @@ const capabilities = {
|
|
|
4135
4138
|
"zcode": {
|
|
4136
4139
|
"id": "zcode",
|
|
4137
4140
|
"role": "runtime",
|
|
4138
|
-
"version": "1.
|
|
4141
|
+
"version": "1.18.0",
|
|
4139
4142
|
"title": "ZCode",
|
|
4140
4143
|
"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.",
|
|
4141
4144
|
"tier": "core",
|
|
@@ -5531,7 +5534,7 @@ const runtimes = {
|
|
|
5531
5534
|
"antigravity": {
|
|
5532
5535
|
"id": "antigravity",
|
|
5533
5536
|
"role": "runtime",
|
|
5534
|
-
"version": "1.
|
|
5537
|
+
"version": "1.18.0",
|
|
5535
5538
|
"title": "Antigravity",
|
|
5536
5539
|
"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.",
|
|
5537
5540
|
"tier": "core",
|
|
@@ -5630,6 +5633,7 @@ const runtimes = {
|
|
|
5630
5633
|
"effortSurface": "undocumented"
|
|
5631
5634
|
},
|
|
5632
5635
|
"hostBehaviors": {
|
|
5636
|
+
"defaultHomeIncludeRoot": ".gemini/antigravity",
|
|
5633
5637
|
"unsupportedFeatures": [
|
|
5634
5638
|
"context-warnings"
|
|
5635
5639
|
],
|
|
@@ -5698,7 +5702,7 @@ const runtimes = {
|
|
|
5698
5702
|
"augment": {
|
|
5699
5703
|
"id": "augment",
|
|
5700
5704
|
"role": "runtime",
|
|
5701
|
-
"version": "1.
|
|
5705
|
+
"version": "1.18.0",
|
|
5702
5706
|
"title": "Augment Code",
|
|
5703
5707
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
5704
5708
|
"tier": "core",
|
|
@@ -5816,7 +5820,7 @@ const runtimes = {
|
|
|
5816
5820
|
"claude": {
|
|
5817
5821
|
"id": "claude",
|
|
5818
5822
|
"role": "runtime",
|
|
5819
|
-
"version": "1.
|
|
5823
|
+
"version": "1.18.0",
|
|
5820
5824
|
"title": "Claude Code",
|
|
5821
5825
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
5822
5826
|
"tier": "core",
|
|
@@ -6004,7 +6008,7 @@ const runtimes = {
|
|
|
6004
6008
|
"cline": {
|
|
6005
6009
|
"id": "cline",
|
|
6006
6010
|
"role": "runtime",
|
|
6007
|
-
"version": "1.
|
|
6011
|
+
"version": "1.18.0",
|
|
6008
6012
|
"title": "Cline",
|
|
6009
6013
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
6010
6014
|
"tier": "core",
|
|
@@ -6098,7 +6102,7 @@ const runtimes = {
|
|
|
6098
6102
|
"codebuddy": {
|
|
6099
6103
|
"id": "codebuddy",
|
|
6100
6104
|
"role": "runtime",
|
|
6101
|
-
"version": "1.
|
|
6105
|
+
"version": "1.18.0",
|
|
6102
6106
|
"title": "CodeBuddy",
|
|
6103
6107
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6104
6108
|
"tier": "core",
|
|
@@ -6220,7 +6224,7 @@ const runtimes = {
|
|
|
6220
6224
|
"codex": {
|
|
6221
6225
|
"id": "codex",
|
|
6222
6226
|
"role": "runtime",
|
|
6223
|
-
"version": "1.
|
|
6227
|
+
"version": "1.18.0",
|
|
6224
6228
|
"title": "OpenAI Codex CLI",
|
|
6225
6229
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
6226
6230
|
"tier": "core",
|
|
@@ -6407,7 +6411,7 @@ const runtimes = {
|
|
|
6407
6411
|
"copilot": {
|
|
6408
6412
|
"id": "copilot",
|
|
6409
6413
|
"role": "runtime",
|
|
6410
|
-
"version": "1.
|
|
6414
|
+
"version": "1.18.0",
|
|
6411
6415
|
"title": "GitHub Copilot",
|
|
6412
6416
|
"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.",
|
|
6413
6417
|
"tier": "core",
|
|
@@ -6497,6 +6501,7 @@ const runtimes = {
|
|
|
6497
6501
|
"effortSurface": "undocumented"
|
|
6498
6502
|
},
|
|
6499
6503
|
"hostBehaviors": {
|
|
6504
|
+
"defaultHomeIncludeRoot": ".copilot",
|
|
6500
6505
|
"reapplyCommand": "/gsd-update --reapply",
|
|
6501
6506
|
"agentFileExtension": ".agent.md",
|
|
6502
6507
|
"skipSharedHooksInstall": true,
|
|
@@ -6508,7 +6513,7 @@ const runtimes = {
|
|
|
6508
6513
|
"cursor": {
|
|
6509
6514
|
"id": "cursor",
|
|
6510
6515
|
"role": "runtime",
|
|
6511
|
-
"version": "1.
|
|
6516
|
+
"version": "1.18.0",
|
|
6512
6517
|
"title": "Cursor",
|
|
6513
6518
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
6514
6519
|
"tier": "core",
|
|
@@ -6678,7 +6683,7 @@ const runtimes = {
|
|
|
6678
6683
|
"hermes": {
|
|
6679
6684
|
"id": "hermes",
|
|
6680
6685
|
"role": "runtime",
|
|
6681
|
-
"version": "1.
|
|
6686
|
+
"version": "1.18.0",
|
|
6682
6687
|
"title": "Hermes Agent",
|
|
6683
6688
|
"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.",
|
|
6684
6689
|
"tier": "core",
|
|
@@ -6797,7 +6802,7 @@ const runtimes = {
|
|
|
6797
6802
|
"kilo": {
|
|
6798
6803
|
"id": "kilo",
|
|
6799
6804
|
"role": "runtime",
|
|
6800
|
-
"version": "1.
|
|
6805
|
+
"version": "1.18.0",
|
|
6801
6806
|
"title": "Kilo Code",
|
|
6802
6807
|
"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.",
|
|
6803
6808
|
"tier": "core",
|
|
@@ -6931,7 +6936,7 @@ const runtimes = {
|
|
|
6931
6936
|
"kimi": {
|
|
6932
6937
|
"id": "kimi",
|
|
6933
6938
|
"role": "runtime",
|
|
6934
|
-
"version": "1.
|
|
6939
|
+
"version": "1.18.0",
|
|
6935
6940
|
"title": "Kimi CLI",
|
|
6936
6941
|
"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.",
|
|
6937
6942
|
"tier": "core",
|
|
@@ -7022,6 +7027,7 @@ const runtimes = {
|
|
|
7022
7027
|
"promptFlag": "--prompt"
|
|
7023
7028
|
},
|
|
7024
7029
|
"hostBehaviors": {
|
|
7030
|
+
"retargetsGsdCoreProsePath": true,
|
|
7025
7031
|
"unsupportedFeatures": [
|
|
7026
7032
|
"context-warnings"
|
|
7027
7033
|
],
|
|
@@ -7040,7 +7046,7 @@ const runtimes = {
|
|
|
7040
7046
|
"kimi-code": {
|
|
7041
7047
|
"id": "kimi-code",
|
|
7042
7048
|
"role": "runtime",
|
|
7043
|
-
"version": "1.
|
|
7049
|
+
"version": "1.18.0",
|
|
7044
7050
|
"title": "Kimi Code CLI",
|
|
7045
7051
|
"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.",
|
|
7046
7052
|
"tier": "core",
|
|
@@ -7211,7 +7217,7 @@ const runtimes = {
|
|
|
7211
7217
|
"opencode": {
|
|
7212
7218
|
"id": "opencode",
|
|
7213
7219
|
"role": "runtime",
|
|
7214
|
-
"version": "1.
|
|
7220
|
+
"version": "1.18.0",
|
|
7215
7221
|
"title": "OpenCode",
|
|
7216
7222
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
7217
7223
|
"tier": "core",
|
|
@@ -7415,7 +7421,7 @@ const runtimes = {
|
|
|
7415
7421
|
"pi": {
|
|
7416
7422
|
"id": "pi",
|
|
7417
7423
|
"role": "runtime",
|
|
7418
|
-
"version": "1.
|
|
7424
|
+
"version": "1.18.0",
|
|
7419
7425
|
"title": "pi",
|
|
7420
7426
|
"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.",
|
|
7421
7427
|
"tier": "core",
|
|
@@ -7485,7 +7491,7 @@ const runtimes = {
|
|
|
7485
7491
|
"qwen": {
|
|
7486
7492
|
"id": "qwen",
|
|
7487
7493
|
"role": "runtime",
|
|
7488
|
-
"version": "1.
|
|
7494
|
+
"version": "1.18.0",
|
|
7489
7495
|
"title": "Qwen Code",
|
|
7490
7496
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
7491
7497
|
"tier": "core",
|
|
@@ -7639,7 +7645,7 @@ const runtimes = {
|
|
|
7639
7645
|
"trae": {
|
|
7640
7646
|
"id": "trae",
|
|
7641
7647
|
"role": "runtime",
|
|
7642
|
-
"version": "1.
|
|
7648
|
+
"version": "1.18.0",
|
|
7643
7649
|
"title": "Trae IDE",
|
|
7644
7650
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
7645
7651
|
"tier": "core",
|
|
@@ -7738,7 +7744,7 @@ const runtimes = {
|
|
|
7738
7744
|
"vscode": {
|
|
7739
7745
|
"id": "vscode",
|
|
7740
7746
|
"role": "runtime",
|
|
7741
|
-
"version": "1.
|
|
7747
|
+
"version": "1.18.0",
|
|
7742
7748
|
"title": "VS Code",
|
|
7743
7749
|
"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).",
|
|
7744
7750
|
"tier": "core",
|
|
@@ -7796,7 +7802,7 @@ const runtimes = {
|
|
|
7796
7802
|
"windsurf": {
|
|
7797
7803
|
"id": "windsurf",
|
|
7798
7804
|
"role": "runtime",
|
|
7799
|
-
"version": "1.
|
|
7805
|
+
"version": "1.18.0",
|
|
7800
7806
|
"title": "Windsurf",
|
|
7801
7807
|
"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.",
|
|
7802
7808
|
"tier": "core",
|
|
@@ -7889,7 +7895,7 @@ const runtimes = {
|
|
|
7889
7895
|
"zcode": {
|
|
7890
7896
|
"id": "zcode",
|
|
7891
7897
|
"role": "runtime",
|
|
7892
|
-
"version": "1.
|
|
7898
|
+
"version": "1.18.0",
|
|
7893
7899
|
"title": "ZCode",
|
|
7894
7900
|
"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.",
|
|
7895
7901
|
"tier": "core",
|
|
@@ -32,6 +32,8 @@ const node_os_1 = __importDefault(require("node:os"));
|
|
|
32
32
|
const node_https_1 = __importDefault(require("node:https"));
|
|
33
33
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
35
|
+
const { resolveGsdHome } = require('./runtime-homes.cjs');
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
35
37
|
const shellSeam = require('./shell-command-projection.cjs');
|
|
36
38
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
37
39
|
const capValidator = require('./capability-validator.cjs');
|
|
@@ -984,7 +986,7 @@ async function resolveTarball(parsed, opts, gsdHome, hostVersion) {
|
|
|
984
986
|
async function resolveCapabilitySource(spec, opts = {}) {
|
|
985
987
|
const parsed = parseSpec(spec);
|
|
986
988
|
const hostVersion = opts.hostVersion ?? readHostVersion();
|
|
987
|
-
const gsdHome = opts.gsdHome
|
|
989
|
+
const gsdHome = opts.gsdHome || resolveGsdHome();
|
|
988
990
|
switch (parsed.kind) {
|
|
989
991
|
case 'local':
|
|
990
992
|
return resolveLocal(parsed, opts, gsdHome, hostVersion);
|