@opengsd/gsd-core 1.18.0 → 1.19.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 +2 -1
- package/.opencode/plugins/gsd-core.js +2 -3
- package/agents/gsd-code-fixer.compact.md +2 -2
- package/agents/gsd-code-fixer.md +4 -3
- package/agents/gsd-verifier.md +1 -1
- package/bin/install.js +422 -103
- package/gsd-core/bin/gsd-tools.cjs +106 -7
- package/gsd-core/bin/lib/agent-install-check.cjs +29 -3
- package/gsd-core/bin/lib/args-terminator.cjs +114 -0
- package/gsd-core/bin/lib/broken-windows.cjs +59 -1
- package/gsd-core/bin/lib/capability-lock.cjs +13 -2
- package/gsd-core/bin/lib/capability-registry.cjs +156 -74
- package/gsd-core/bin/lib/capability-state.cjs +14 -8
- package/gsd-core/bin/lib/capability-validator.cjs +17 -0
- package/gsd-core/bin/lib/config-loader.cjs +10 -0
- package/gsd-core/bin/lib/config.cjs +256 -58
- package/gsd-core/bin/lib/core-utils.cjs +34 -0
- package/gsd-core/bin/lib/decision-coverage-support.cjs +74 -0
- package/gsd-core/bin/lib/gate-context-drift.cjs +8 -3
- package/gsd-core/bin/lib/gate-decision-coverage-plan.cjs +6 -1
- package/gsd-core/bin/lib/gate-decision-coverage-verify.cjs +6 -1
- package/gsd-core/bin/lib/gate-evaluation-scope.cjs +134 -13
- package/gsd-core/bin/lib/gate-tdd-review-checkpoint.cjs +63 -22
- package/gsd-core/bin/lib/gate-ui-safety.cjs +23 -5
- package/gsd-core/bin/lib/git-info-exclude.cjs +57 -0
- package/gsd-core/bin/lib/health-diagnostic-rules/phase-structure.cjs +18 -3
- package/gsd-core/bin/lib/health-diagnostic-types.cjs +4 -0
- package/gsd-core/bin/lib/health-diagnostic.cjs +52 -1
- package/gsd-core/bin/lib/host-integration.cjs +13 -6
- package/gsd-core/bin/lib/init.cjs +65 -1
- package/gsd-core/bin/lib/install-engine.cjs +246 -32
- package/gsd-core/bin/lib/install-profiles.cjs +9 -4
- package/gsd-core/bin/lib/installer-migration-report.cjs +2 -0
- package/gsd-core/bin/lib/markdown-line-diff.cjs +147 -0
- package/gsd-core/bin/lib/markdown-sectionizer.cjs +113 -0
- package/gsd-core/bin/lib/milestone-lock.cjs +8 -1
- package/gsd-core/bin/lib/milestone-release-map.cjs +244 -0
- package/gsd-core/bin/lib/milestone-release-tags.cjs +440 -0
- package/gsd-core/bin/lib/milestone.cjs +43 -1
- package/gsd-core/bin/lib/model-catalog.cjs +8 -0
- package/gsd-core/bin/lib/normalize-test-command.cjs +67 -0
- package/gsd-core/bin/lib/phase-id.cjs +21 -4
- package/gsd-core/bin/lib/phase-lifecycle.cjs +37 -4
- package/gsd-core/bin/lib/phase.cjs +115 -26
- package/gsd-core/bin/lib/planning-snapshot.cjs +3 -1
- package/gsd-core/bin/lib/planning-workspace.cjs +18 -0
- package/gsd-core/bin/lib/pristine-baseline.cjs +11 -3
- package/gsd-core/bin/lib/read-only-git-env.cjs +58 -0
- package/gsd-core/bin/lib/review-lane-descriptor.cjs +35 -2
- package/gsd-core/bin/lib/review-lane-runner.cjs +33 -4
- package/gsd-core/bin/lib/roadmap-parser.cjs +12 -0
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +39 -2
- package/gsd-core/bin/lib/roadmap.cjs +33 -25
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +381 -14
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +8 -4
- package/gsd-core/bin/lib/runtime-hooks-surface.cjs +60 -16
- package/gsd-core/bin/lib/shell-command-projection.cjs +121 -16
- package/gsd-core/bin/lib/smart-entry.cjs +13 -0
- package/gsd-core/bin/lib/state-contract.cjs +29 -9
- package/gsd-core/bin/lib/state-document.cjs +12 -4
- package/gsd-core/bin/lib/state-transition.cjs +119 -24
- package/gsd-core/bin/lib/state.cjs +50 -28
- package/gsd-core/bin/lib/surface.cjs +9 -0
- package/gsd-core/bin/lib/task-command-router.cjs +5 -25
- package/gsd-core/bin/lib/task-content-resolution.cjs +46 -1
- package/gsd-core/bin/lib/verification.cjs +96 -9
- package/gsd-core/bin/lib/verify.cjs +2 -0
- package/gsd-core/bin/lib/worktree-safety.cjs +22 -1
- package/gsd-core/bin/shared/config-defaults.manifest.json +1 -0
- package/gsd-core/bin/shared/config-schema.manifest.json +1 -0
- package/gsd-core/references/git-integration.md +11 -0
- package/gsd-core/references/loop-hook-dispatch.md +13 -6
- package/gsd-core/references/planning-config.md +2 -0
- package/gsd-core/references/tdd.md +2 -2
- package/gsd-core/templates/DEBUG.md +16 -0
- package/gsd-core/templates/config.json +2 -1
- package/gsd-core/templates/verification-report.md +1 -1
- package/gsd-core/workflows/audit-fix.md +2 -1
- package/gsd-core/workflows/code-review/steps/structural-pre-pass.md +10 -1
- package/gsd-core/workflows/code-review.md +61 -7
- package/gsd-core/workflows/complete-milestone/steps/project-md-evolution-review.md +145 -0
- package/gsd-core/workflows/complete-milestone/steps/release-map.md +80 -0
- package/gsd-core/workflows/complete-milestone.md +37 -150
- package/gsd-core/workflows/diagnose-issues.md +29 -5
- package/gsd-core/workflows/discuss-phase/modes/power.md +1 -1
- package/gsd-core/workflows/discuss-phase-assumptions.md +33 -2
- package/gsd-core/workflows/discuss-phase-power.md +19 -2
- package/gsd-core/workflows/discuss-phase.md +6 -10
- package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +13 -7
- package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +7 -2
- package/gsd-core/workflows/execute-phase/steps/regression-gate-run.md +2 -1
- package/gsd-core/workflows/execute-phase/steps/verify-phase-goal.md +2 -2
- package/gsd-core/workflows/execute-phase/steps/wave-post-gate-hooks.md +11 -2
- package/gsd-core/workflows/execute-phase.md +9 -5
- package/gsd-core/workflows/health.md +2 -1
- package/gsd-core/workflows/import.md +1 -1
- package/gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md +2 -2
- package/gsd-core/workflows/plan-phase.md +13 -13
- package/gsd-core/workflows/quick/steps/plan-checker-loop.md +1 -1
- package/gsd-core/workflows/quick/steps/worktree-pre-dispatch-commit.md +8 -1
- package/gsd-core/workflows/quick-batch/steps/plan-checker-loop.md +2 -1
- package/gsd-core/workflows/quick.md +1 -1
- package/gsd-core/workflows/review.md +16 -13
- package/gsd-core/workflows/section-manifest.json +5 -0
- package/gsd-core/workflows/settings.md +1 -0
- package/gsd-core/workflows/ship.md +3 -4
- package/gsd-core/workflows/spec-phase.md +3 -6
- package/gsd-core/workflows/verify-work.md +4 -3
- package/hooks/dist/gsd-agent-isolation-guard.js +11 -1
- package/hooks/dist/gsd-cursor-subagent-start.js +6 -2
- package/hooks/dist/gsd-path-export.js +95 -0
- package/hooks/dist/gsd-secret-read-guard.js +172 -39
- package/hooks/dist/gsd-statusline.js +35 -2
- package/hooks/dist/gsd-windsurf-pre-write.js +28 -1
- package/hooks/dist/gsd-workflow-guard.js +1 -1
- package/hooks/dist/gsd-worktree-path-guard.js +28 -1
- package/hooks/dist/lib/isolation-sentinel.js +44 -0
- package/hooks/dist/managed-hooks-registry.cjs +1 -0
- package/hooks/gsd-agent-isolation-guard.js +11 -1
- package/hooks/gsd-cursor-subagent-start.js +6 -2
- package/hooks/gsd-path-export.js +95 -0
- package/hooks/gsd-secret-read-guard.js +172 -39
- package/hooks/gsd-statusline.js +35 -2
- package/hooks/gsd-windsurf-pre-write.js +28 -1
- package/hooks/gsd-workflow-guard.js +1 -1
- package/hooks/gsd-worktree-path-guard.js +28 -1
- package/hooks/hooks.json +1 -0
- package/hooks/lib/isolation-sentinel.js +44 -0
- package/hooks/managed-hooks-registry.cjs +1 -0
- package/package.json +13 -6
- package/pi/gsd.cjs +1047 -10
- package/pi/package-agents/gsd-advisor-researcher.md +113 -0
- package/pi/package-agents/gsd-ai-researcher.md +111 -0
- package/pi/package-agents/gsd-assumptions-analyzer.md +110 -0
- package/pi/package-agents/gsd-code-fixer.md +769 -0
- package/pi/package-agents/gsd-code-reviewer.md +402 -0
- package/pi/package-agents/gsd-codebase-mapper.md +850 -0
- package/pi/package-agents/gsd-debug-session-manager.md +416 -0
- package/pi/package-agents/gsd-debugger.md +1274 -0
- package/pi/package-agents/gsd-doc-classifier.md +269 -0
- package/pi/package-agents/gsd-doc-synthesizer.md +259 -0
- package/pi/package-agents/gsd-doc-verifier.md +212 -0
- package/pi/package-agents/gsd-doc-writer.md +626 -0
- package/pi/package-agents/gsd-dom-verifier.md +164 -0
- package/pi/package-agents/gsd-domain-researcher.md +144 -0
- package/pi/package-agents/gsd-eval-auditor.md +185 -0
- package/pi/package-agents/gsd-eval-planner.md +149 -0
- package/pi/package-agents/gsd-executor.md +894 -0
- package/pi/package-agents/gsd-framework-selector.md +159 -0
- package/pi/package-agents/gsd-integration-checker.md +476 -0
- package/pi/package-agents/gsd-intel-updater.md +338 -0
- package/pi/package-agents/gsd-mempalace-curator.md +49 -0
- package/pi/package-agents/gsd-nyquist-auditor.md +200 -0
- package/pi/package-agents/gsd-pattern-mapper.md +340 -0
- package/pi/package-agents/gsd-phase-researcher.md +897 -0
- package/pi/package-agents/gsd-plan-checker.md +1077 -0
- package/pi/package-agents/gsd-planner.md +1003 -0
- package/pi/package-agents/gsd-project-researcher.md +611 -0
- package/pi/package-agents/gsd-research-synthesizer.md +259 -0
- package/pi/package-agents/gsd-roadmapper.md +779 -0
- package/pi/package-agents/gsd-security-auditor.md +171 -0
- package/pi/package-agents/gsd-ui-auditor.md +581 -0
- package/pi/package-agents/gsd-ui-checker.md +417 -0
- package/pi/package-agents/gsd-ui-researcher.md +469 -0
- package/pi/package-agents/gsd-user-profiler.md +174 -0
- package/pi/package-agents/gsd-verifier.md +963 -0
- package/pi/package-agents/manifest.json +39 -0
- package/pi/package-skills/gsd-add-tests/SKILL.md +39 -0
- package/pi/package-skills/gsd-ai-integration-phase/SKILL.md +36 -0
- package/pi/package-skills/gsd-audit-fix/SKILL.md +34 -0
- package/pi/package-skills/gsd-audit-milestone/SKILL.md +40 -0
- package/pi/package-skills/gsd-audit-uat/SKILL.md +26 -0
- package/pi/package-skills/gsd-autonomous/SKILL.md +52 -0
- package/pi/package-skills/gsd-capture/SKILL.md +68 -0
- package/pi/package-skills/gsd-cleanup/SKILL.md +25 -0
- package/pi/package-skills/gsd-code-review/SKILL.md +71 -0
- package/pi/package-skills/gsd-complete-milestone/SKILL.md +147 -0
- package/pi/package-skills/gsd-config/SKILL.md +60 -0
- package/pi/package-skills/gsd-debug/SKILL.md +64 -0
- package/pi/package-skills/gsd-discuss-phase/SKILL.md +74 -0
- package/pi/package-skills/gsd-docs-update/SKILL.md +50 -0
- package/pi/package-skills/gsd-eval-review/SKILL.md +35 -0
- package/pi/package-skills/gsd-execute-phase/SKILL.md +62 -0
- package/pi/package-skills/gsd-explore/SKILL.md +26 -0
- package/pi/package-skills/gsd-extract-learnings/SKILL.md +25 -0
- package/pi/package-skills/gsd-fast/SKILL.md +33 -0
- package/pi/package-skills/gsd-forensics/SKILL.md +59 -0
- package/pi/package-skills/gsd-graphify/SKILL.md +210 -0
- package/pi/package-skills/gsd-health/SKILL.md +36 -0
- package/pi/package-skills/gsd-help/SKILL.md +37 -0
- package/pi/package-skills/gsd-import/SKILL.md +46 -0
- package/pi/package-skills/gsd-inbox/SKILL.md +42 -0
- package/pi/package-skills/gsd-ingest-docs/SKILL.md +43 -0
- package/pi/package-skills/gsd-manager/SKILL.md +46 -0
- package/pi/package-skills/gsd-map-codebase/SKILL.md +85 -0
- package/pi/package-skills/gsd-mempalace-capture/SKILL.md +111 -0
- package/pi/package-skills/gsd-mempalace-recall/SKILL.md +111 -0
- package/pi/package-skills/gsd-milestone-summary/SKILL.md +54 -0
- package/pi/package-skills/gsd-mvp-phase/SKILL.md +45 -0
- package/pi/package-skills/gsd-new-milestone/SKILL.md +49 -0
- package/pi/package-skills/gsd-new-project/SKILL.md +49 -0
- package/pi/package-skills/gsd-next/SKILL.md +34 -0
- package/pi/package-skills/gsd-ns-context/SKILL.md +31 -0
- package/pi/package-skills/gsd-ns-ideate/SKILL.md +30 -0
- package/pi/package-skills/gsd-ns-manage/SKILL.md +42 -0
- package/pi/package-skills/gsd-ns-project/SKILL.md +34 -0
- package/pi/package-skills/gsd-ns-review/SKILL.md +35 -0
- package/pi/package-skills/gsd-ns-workflow/SKILL.md +44 -0
- package/pi/package-skills/gsd-onboard/SKILL.md +46 -0
- package/pi/package-skills/gsd-pause-work/SKILL.md +48 -0
- package/pi/package-skills/gsd-phase/SKILL.md +61 -0
- package/pi/package-skills/gsd-plan-phase/SKILL.md +62 -0
- package/pi/package-skills/gsd-plan-review-convergence/SKILL.md +63 -0
- package/pi/package-skills/gsd-pr-branch/SKILL.md +31 -0
- package/pi/package-skills/gsd-profile-user/SKILL.md +48 -0
- package/pi/package-skills/gsd-progress/SKILL.md +51 -0
- package/pi/package-skills/gsd-quick/SKILL.md +179 -0
- package/pi/package-skills/gsd-quick-batch/SKILL.md +114 -0
- package/pi/package-skills/gsd-resume-work/SKILL.md +31 -0
- package/pi/package-skills/gsd-review/SKILL.md +50 -0
- package/pi/package-skills/gsd-review-backlog/SKILL.md +65 -0
- package/pi/package-skills/gsd-secure-phase/SKILL.md +37 -0
- package/pi/package-skills/gsd-settings/SKILL.md +30 -0
- package/pi/package-skills/gsd-ship/SKILL.md +27 -0
- package/pi/package-skills/gsd-sketch/SKILL.md +56 -0
- package/pi/package-skills/gsd-spec-phase/SKILL.md +63 -0
- package/pi/package-skills/gsd-spike/SKILL.md +53 -0
- package/pi/package-skills/gsd-stats/SKILL.md +22 -0
- package/pi/package-skills/gsd-surface/SKILL.md +177 -0
- package/pi/package-skills/gsd-thread/SKILL.md +29 -0
- package/pi/package-skills/gsd-ui-phase/SKILL.md +35 -0
- package/pi/package-skills/gsd-ui-review/SKILL.md +35 -0
- package/pi/package-skills/gsd-ultraplan-phase/SKILL.md +38 -0
- package/pi/package-skills/gsd-undo/SKILL.md +38 -0
- package/pi/package-skills/gsd-update/SKILL.md +51 -0
- package/pi/package-skills/gsd-validate-phase/SKILL.md +37 -0
- package/pi/package-skills/gsd-verify-work/SKILL.md +41 -0
- package/pi/package-skills/gsd-workspace/SKILL.md +57 -0
- package/pi/package-skills/gsd-workstreams/SKILL.md +73 -0
- package/scripts/build-hooks.js +4 -0
- package/scripts/command-contract-helpers.cjs +1 -1
- package/scripts/docs-guard-registry.cjs +20 -7
- package/scripts/gen-health-docs.cjs +13 -1
- package/scripts/gen-pi-package-skills.cjs +217 -0
- package/scripts/lib/macos-conformance-tier.generated.cjs +11 -1
- package/scripts/lib/platform-conformance-tier.generated.cjs +26 -1
- package/scripts/lint-docs-guard-registration.exempt-baseline.cjs +3 -3
- package/scripts/lint-retired-runtime-name.cjs +5 -0
- package/scripts/npm-audit-baseline.cjs +41 -7
- package/scripts/reviewed-or-maintainer-policy.cjs +181 -0
- package/scripts/select-docs-guards.cjs +1 -1
- package/scripts/self-test-report-policy.cjs +350 -0
- package/vscode/package.json +1 -1
- package/scripts/diagnose-validate-commit-in-tier.cjs +0 -270
- package/scripts/diagnose-validate-commit-phases.cjs +0 -348
- package/scripts/xtrace-phase-timing.cjs +0 -205
|
@@ -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.19.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.19.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",
|
|
@@ -263,7 +263,7 @@ const capabilities = {
|
|
|
263
263
|
"assumption-delta": {
|
|
264
264
|
"id": "assumption-delta",
|
|
265
265
|
"role": "feature",
|
|
266
|
-
"version": "1.
|
|
266
|
+
"version": "1.19.0",
|
|
267
267
|
"title": "Assumption-delta architecture checkpoint",
|
|
268
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.",
|
|
269
269
|
"tier": "full",
|
|
@@ -309,7 +309,7 @@ const capabilities = {
|
|
|
309
309
|
"audit": {
|
|
310
310
|
"id": "audit",
|
|
311
311
|
"role": "feature",
|
|
312
|
-
"version": "1.
|
|
312
|
+
"version": "1.19.0",
|
|
313
313
|
"title": "Audit",
|
|
314
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).",
|
|
315
315
|
"tier": "full",
|
|
@@ -346,7 +346,7 @@ const capabilities = {
|
|
|
346
346
|
"augment": {
|
|
347
347
|
"id": "augment",
|
|
348
348
|
"role": "runtime",
|
|
349
|
-
"version": "1.
|
|
349
|
+
"version": "1.19.0",
|
|
350
350
|
"title": "Augment Code",
|
|
351
351
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
352
352
|
"tier": "core",
|
|
@@ -464,7 +464,7 @@ const capabilities = {
|
|
|
464
464
|
"broken-windows": {
|
|
465
465
|
"id": "broken-windows",
|
|
466
466
|
"role": "feature",
|
|
467
|
-
"version": "1.
|
|
467
|
+
"version": "1.19.0",
|
|
468
468
|
"title": "Broken-windows ledger",
|
|
469
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).",
|
|
470
470
|
"tier": "full",
|
|
@@ -510,7 +510,7 @@ const capabilities = {
|
|
|
510
510
|
"claude": {
|
|
511
511
|
"id": "claude",
|
|
512
512
|
"role": "runtime",
|
|
513
|
-
"version": "1.
|
|
513
|
+
"version": "1.19.0",
|
|
514
514
|
"title": "Claude Code",
|
|
515
515
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
516
516
|
"tier": "core",
|
|
@@ -698,7 +698,7 @@ const capabilities = {
|
|
|
698
698
|
"claude-orchestration": {
|
|
699
699
|
"id": "claude-orchestration",
|
|
700
700
|
"role": "feature",
|
|
701
|
-
"version": "1.
|
|
701
|
+
"version": "1.19.0",
|
|
702
702
|
"title": "Claude orchestration (Workflow backend)",
|
|
703
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.",
|
|
704
704
|
"tier": "full",
|
|
@@ -772,7 +772,7 @@ const capabilities = {
|
|
|
772
772
|
"cline": {
|
|
773
773
|
"id": "cline",
|
|
774
774
|
"role": "runtime",
|
|
775
|
-
"version": "1.
|
|
775
|
+
"version": "1.19.0",
|
|
776
776
|
"title": "Cline",
|
|
777
777
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
778
778
|
"tier": "core",
|
|
@@ -866,7 +866,7 @@ const capabilities = {
|
|
|
866
866
|
"code-review": {
|
|
867
867
|
"id": "code-review",
|
|
868
868
|
"role": "feature",
|
|
869
|
-
"version": "1.
|
|
869
|
+
"version": "1.19.0",
|
|
870
870
|
"title": "Code review",
|
|
871
871
|
"description": "Source-file code review and review-fix workflow support for completed execution work.",
|
|
872
872
|
"tier": "full",
|
|
@@ -952,7 +952,7 @@ const capabilities = {
|
|
|
952
952
|
"codebuddy": {
|
|
953
953
|
"id": "codebuddy",
|
|
954
954
|
"role": "runtime",
|
|
955
|
-
"version": "1.
|
|
955
|
+
"version": "1.19.0",
|
|
956
956
|
"title": "CodeBuddy",
|
|
957
957
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
958
958
|
"tier": "core",
|
|
@@ -1074,7 +1074,7 @@ const capabilities = {
|
|
|
1074
1074
|
"coderabbit": {
|
|
1075
1075
|
"id": "coderabbit",
|
|
1076
1076
|
"role": "reviewer",
|
|
1077
|
-
"version": "1.
|
|
1077
|
+
"version": "1.19.0",
|
|
1078
1078
|
"title": "CodeRabbit",
|
|
1079
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).",
|
|
1080
1080
|
"tier": "full",
|
|
@@ -1126,7 +1126,7 @@ const capabilities = {
|
|
|
1126
1126
|
"codex": {
|
|
1127
1127
|
"id": "codex",
|
|
1128
1128
|
"role": "runtime",
|
|
1129
|
-
"version": "1.
|
|
1129
|
+
"version": "1.19.0",
|
|
1130
1130
|
"title": "OpenAI Codex CLI",
|
|
1131
1131
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
1132
1132
|
"tier": "core",
|
|
@@ -1313,7 +1313,7 @@ const capabilities = {
|
|
|
1313
1313
|
"copilot": {
|
|
1314
1314
|
"id": "copilot",
|
|
1315
1315
|
"role": "runtime",
|
|
1316
|
-
"version": "1.
|
|
1316
|
+
"version": "1.19.0",
|
|
1317
1317
|
"title": "GitHub Copilot",
|
|
1318
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.",
|
|
1319
1319
|
"tier": "core",
|
|
@@ -1415,7 +1415,7 @@ const capabilities = {
|
|
|
1415
1415
|
"cursor": {
|
|
1416
1416
|
"id": "cursor",
|
|
1417
1417
|
"role": "runtime",
|
|
1418
|
-
"version": "1.
|
|
1418
|
+
"version": "1.19.0",
|
|
1419
1419
|
"title": "Cursor",
|
|
1420
1420
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
1421
1421
|
"tier": "core",
|
|
@@ -1585,7 +1585,7 @@ const capabilities = {
|
|
|
1585
1585
|
"drift": {
|
|
1586
1586
|
"id": "drift",
|
|
1587
1587
|
"role": "feature",
|
|
1588
|
-
"version": "1.
|
|
1588
|
+
"version": "1.19.0",
|
|
1589
1589
|
"title": "Drift detection gates",
|
|
1590
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.",
|
|
1591
1591
|
"tier": "full",
|
|
@@ -1686,7 +1686,7 @@ const capabilities = {
|
|
|
1686
1686
|
"external-job": {
|
|
1687
1687
|
"id": "external-job",
|
|
1688
1688
|
"role": "feature",
|
|
1689
|
-
"version": "1.
|
|
1689
|
+
"version": "1.19.0",
|
|
1690
1690
|
"title": "Async external-job scheduler adapter",
|
|
1691
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).",
|
|
1692
1692
|
"tier": "full",
|
|
@@ -1769,7 +1769,7 @@ const capabilities = {
|
|
|
1769
1769
|
"gap-analysis": {
|
|
1770
1770
|
"id": "gap-analysis",
|
|
1771
1771
|
"role": "feature",
|
|
1772
|
-
"version": "1.
|
|
1772
|
+
"version": "1.19.0",
|
|
1773
1773
|
"title": "Post-planning gap analysis",
|
|
1774
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.",
|
|
1775
1775
|
"tier": "standard",
|
|
@@ -1810,7 +1810,7 @@ const capabilities = {
|
|
|
1810
1810
|
"graphify": {
|
|
1811
1811
|
"id": "graphify",
|
|
1812
1812
|
"role": "feature",
|
|
1813
|
-
"version": "1.
|
|
1813
|
+
"version": "1.19.0",
|
|
1814
1814
|
"title": "Knowledge graph",
|
|
1815
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.",
|
|
1816
1816
|
"tier": "full",
|
|
@@ -1851,7 +1851,7 @@ const capabilities = {
|
|
|
1851
1851
|
"hermes": {
|
|
1852
1852
|
"id": "hermes",
|
|
1853
1853
|
"role": "runtime",
|
|
1854
|
-
"version": "1.
|
|
1854
|
+
"version": "1.19.0",
|
|
1855
1855
|
"title": "Hermes Agent",
|
|
1856
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.",
|
|
1857
1857
|
"tier": "core",
|
|
@@ -1970,7 +1970,7 @@ const capabilities = {
|
|
|
1970
1970
|
"intel": {
|
|
1971
1971
|
"id": "intel",
|
|
1972
1972
|
"role": "feature",
|
|
1973
|
-
"version": "1.
|
|
1973
|
+
"version": "1.19.0",
|
|
1974
1974
|
"title": "Codebase intelligence",
|
|
1975
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`.",
|
|
1976
1976
|
"tier": "full",
|
|
@@ -2022,7 +2022,7 @@ const capabilities = {
|
|
|
2022
2022
|
"kilo": {
|
|
2023
2023
|
"id": "kilo",
|
|
2024
2024
|
"role": "runtime",
|
|
2025
|
-
"version": "1.
|
|
2025
|
+
"version": "1.19.0",
|
|
2026
2026
|
"title": "Kilo Code",
|
|
2027
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.",
|
|
2028
2028
|
"tier": "core",
|
|
@@ -2156,7 +2156,7 @@ const capabilities = {
|
|
|
2156
2156
|
"kimi": {
|
|
2157
2157
|
"id": "kimi",
|
|
2158
2158
|
"role": "runtime",
|
|
2159
|
-
"version": "1.
|
|
2159
|
+
"version": "1.19.0",
|
|
2160
2160
|
"title": "Kimi CLI",
|
|
2161
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.",
|
|
2162
2162
|
"tier": "core",
|
|
@@ -2266,7 +2266,7 @@ const capabilities = {
|
|
|
2266
2266
|
"kimi-code": {
|
|
2267
2267
|
"id": "kimi-code",
|
|
2268
2268
|
"role": "runtime",
|
|
2269
|
-
"version": "1.
|
|
2269
|
+
"version": "1.19.0",
|
|
2270
2270
|
"title": "Kimi Code CLI",
|
|
2271
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.",
|
|
2272
2272
|
"tier": "core",
|
|
@@ -2437,7 +2437,7 @@ const capabilities = {
|
|
|
2437
2437
|
"live-dom-uat": {
|
|
2438
2438
|
"id": "live-dom-uat",
|
|
2439
2439
|
"role": "feature",
|
|
2440
|
-
"version": "1.
|
|
2440
|
+
"version": "1.19.0",
|
|
2441
2441
|
"title": "Live-DOM UAT",
|
|
2442
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.",
|
|
2443
2443
|
"tier": "full",
|
|
@@ -2490,7 +2490,7 @@ const capabilities = {
|
|
|
2490
2490
|
"llama-cpp": {
|
|
2491
2491
|
"id": "llama-cpp",
|
|
2492
2492
|
"role": "reviewer",
|
|
2493
|
-
"version": "1.
|
|
2493
|
+
"version": "1.19.0",
|
|
2494
2494
|
"title": "llama.cpp",
|
|
2495
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).",
|
|
2496
2496
|
"tier": "full",
|
|
@@ -2556,7 +2556,7 @@ const capabilities = {
|
|
|
2556
2556
|
"lm-studio": {
|
|
2557
2557
|
"id": "lm-studio",
|
|
2558
2558
|
"role": "reviewer",
|
|
2559
|
-
"version": "1.
|
|
2559
|
+
"version": "1.19.0",
|
|
2560
2560
|
"title": "LM Studio",
|
|
2561
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).",
|
|
2562
2562
|
"tier": "full",
|
|
@@ -2622,7 +2622,7 @@ const capabilities = {
|
|
|
2622
2622
|
"mempalace": {
|
|
2623
2623
|
"id": "mempalace",
|
|
2624
2624
|
"role": "feature",
|
|
2625
|
-
"version": "1.
|
|
2625
|
+
"version": "1.19.0",
|
|
2626
2626
|
"title": "MemPalace memory",
|
|
2627
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.",
|
|
2628
2628
|
"tier": "full",
|
|
@@ -2796,7 +2796,7 @@ const capabilities = {
|
|
|
2796
2796
|
"nyquist": {
|
|
2797
2797
|
"id": "nyquist",
|
|
2798
2798
|
"role": "feature",
|
|
2799
|
-
"version": "1.
|
|
2799
|
+
"version": "1.19.0",
|
|
2800
2800
|
"title": "Nyquist validation",
|
|
2801
2801
|
"description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
|
|
2802
2802
|
"tier": "full",
|
|
@@ -2846,7 +2846,7 @@ const capabilities = {
|
|
|
2846
2846
|
"ollama": {
|
|
2847
2847
|
"id": "ollama",
|
|
2848
2848
|
"role": "reviewer",
|
|
2849
|
-
"version": "1.
|
|
2849
|
+
"version": "1.19.0",
|
|
2850
2850
|
"title": "Ollama",
|
|
2851
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.",
|
|
2852
2852
|
"tier": "full",
|
|
@@ -2912,7 +2912,7 @@ const capabilities = {
|
|
|
2912
2912
|
"opencode": {
|
|
2913
2913
|
"id": "opencode",
|
|
2914
2914
|
"role": "runtime",
|
|
2915
|
-
"version": "1.
|
|
2915
|
+
"version": "1.19.0",
|
|
2916
2916
|
"title": "OpenCode",
|
|
2917
2917
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
2918
2918
|
"tier": "core",
|
|
@@ -3116,7 +3116,7 @@ const capabilities = {
|
|
|
3116
3116
|
"pattern-mapper": {
|
|
3117
3117
|
"id": "pattern-mapper",
|
|
3118
3118
|
"role": "feature",
|
|
3119
|
-
"version": "1.
|
|
3119
|
+
"version": "1.19.0",
|
|
3120
3120
|
"title": "Pattern mapping",
|
|
3121
3121
|
"description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
|
|
3122
3122
|
"tier": "full",
|
|
@@ -3170,9 +3170,9 @@ const capabilities = {
|
|
|
3170
3170
|
"pi": {
|
|
3171
3171
|
"id": "pi",
|
|
3172
3172
|
"role": "runtime",
|
|
3173
|
-
"version": "1.
|
|
3173
|
+
"version": "1.19.0",
|
|
3174
3174
|
"title": "pi",
|
|
3175
|
-
"description": "pi (pi.dev) —
|
|
3175
|
+
"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.",
|
|
3176
3176
|
"tier": "core",
|
|
3177
3177
|
"requires": [],
|
|
3178
3178
|
"engines": {
|
|
@@ -3190,8 +3190,48 @@ const capabilities = {
|
|
|
3190
3190
|
"localConfigDir": ".pi",
|
|
3191
3191
|
"configFormat": "none",
|
|
3192
3192
|
"artifactLayout": {
|
|
3193
|
-
"global": [
|
|
3194
|
-
|
|
3193
|
+
"global": [
|
|
3194
|
+
{
|
|
3195
|
+
"kind": "skills",
|
|
3196
|
+
"destSubpath": "skills",
|
|
3197
|
+
"prefix": "gsd-",
|
|
3198
|
+
"nesting": "flat",
|
|
3199
|
+
"recursive": false,
|
|
3200
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
3201
|
+
},
|
|
3202
|
+
{
|
|
3203
|
+
"kind": "agents",
|
|
3204
|
+
"destSubpath": "agents",
|
|
3205
|
+
"prefix": "gsd-",
|
|
3206
|
+
"nesting": "flat",
|
|
3207
|
+
"recursive": false,
|
|
3208
|
+
"excludeSuffixes": [
|
|
3209
|
+
".compact.md"
|
|
3210
|
+
],
|
|
3211
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
3212
|
+
}
|
|
3213
|
+
],
|
|
3214
|
+
"local": [
|
|
3215
|
+
{
|
|
3216
|
+
"kind": "skills",
|
|
3217
|
+
"destSubpath": "skills",
|
|
3218
|
+
"prefix": "gsd-",
|
|
3219
|
+
"nesting": "flat",
|
|
3220
|
+
"recursive": false,
|
|
3221
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
3222
|
+
},
|
|
3223
|
+
{
|
|
3224
|
+
"kind": "agents",
|
|
3225
|
+
"destSubpath": "agents",
|
|
3226
|
+
"prefix": "gsd-",
|
|
3227
|
+
"nesting": "flat",
|
|
3228
|
+
"recursive": false,
|
|
3229
|
+
"excludeSuffixes": [
|
|
3230
|
+
".compact.md"
|
|
3231
|
+
],
|
|
3232
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
3233
|
+
}
|
|
3234
|
+
]
|
|
3195
3235
|
},
|
|
3196
3236
|
"triggerPrecedence": [
|
|
3197
3237
|
"skills",
|
|
@@ -3223,8 +3263,8 @@ const capabilities = {
|
|
|
3223
3263
|
"hookBus": "host",
|
|
3224
3264
|
"stateIO": "session-log-append",
|
|
3225
3265
|
"transport": "native-extension",
|
|
3226
|
-
"runtime": "
|
|
3227
|
-
"effortSurface": "
|
|
3266
|
+
"runtime": "node",
|
|
3267
|
+
"effortSurface": "argv"
|
|
3228
3268
|
},
|
|
3229
3269
|
"hostBehaviors": {
|
|
3230
3270
|
"nativePlugin": {
|
|
@@ -3233,6 +3273,7 @@ const capabilities = {
|
|
|
3233
3273
|
"source": "pi/gsd.cjs"
|
|
3234
3274
|
},
|
|
3235
3275
|
"pluginOnlyInstall": true,
|
|
3276
|
+
"contentRewriteProfile": "slash-lookahead-tilde-restore",
|
|
3236
3277
|
"sharedHooksDirName": "gsd-hooks"
|
|
3237
3278
|
}
|
|
3238
3279
|
}
|
|
@@ -3240,7 +3281,7 @@ const capabilities = {
|
|
|
3240
3281
|
"profile-pipeline": {
|
|
3241
3282
|
"id": "profile-pipeline",
|
|
3242
3283
|
"role": "feature",
|
|
3243
|
-
"version": "1.
|
|
3284
|
+
"version": "1.19.0",
|
|
3244
3285
|
"title": "Developer profiling pipeline",
|
|
3245
3286
|
"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.",
|
|
3246
3287
|
"tier": "full",
|
|
@@ -3317,7 +3358,7 @@ const capabilities = {
|
|
|
3317
3358
|
"qwen": {
|
|
3318
3359
|
"id": "qwen",
|
|
3319
3360
|
"role": "runtime",
|
|
3320
|
-
"version": "1.
|
|
3361
|
+
"version": "1.19.0",
|
|
3321
3362
|
"title": "Qwen Code",
|
|
3322
3363
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
3323
3364
|
"tier": "core",
|
|
@@ -3471,7 +3512,7 @@ const capabilities = {
|
|
|
3471
3512
|
"refactor-trigger": {
|
|
3472
3513
|
"id": "refactor-trigger",
|
|
3473
3514
|
"role": "feature",
|
|
3474
|
-
"version": "1.
|
|
3515
|
+
"version": "1.19.0",
|
|
3475
3516
|
"title": "Complexity-triggered refactor",
|
|
3476
3517
|
"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).",
|
|
3477
3518
|
"tier": "full",
|
|
@@ -3538,7 +3579,7 @@ const capabilities = {
|
|
|
3538
3579
|
"research": {
|
|
3539
3580
|
"id": "research",
|
|
3540
3581
|
"role": "feature",
|
|
3541
|
-
"version": "1.
|
|
3582
|
+
"version": "1.19.0",
|
|
3542
3583
|
"title": "Phase research",
|
|
3543
3584
|
"description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
|
|
3544
3585
|
"tier": "standard",
|
|
@@ -3590,7 +3631,7 @@ const capabilities = {
|
|
|
3590
3631
|
"schema-gate": {
|
|
3591
3632
|
"id": "schema-gate",
|
|
3592
3633
|
"role": "feature",
|
|
3593
|
-
"version": "1.
|
|
3634
|
+
"version": "1.19.0",
|
|
3594
3635
|
"title": "Schema push detection gate",
|
|
3595
3636
|
"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.",
|
|
3596
3637
|
"tier": "full",
|
|
@@ -3636,7 +3677,7 @@ const capabilities = {
|
|
|
3636
3677
|
"security": {
|
|
3637
3678
|
"id": "security",
|
|
3638
3679
|
"role": "feature",
|
|
3639
|
-
"version": "1.
|
|
3680
|
+
"version": "1.19.0",
|
|
3640
3681
|
"title": "Security enforcement",
|
|
3641
3682
|
"description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
|
|
3642
3683
|
"tier": "full",
|
|
@@ -3735,7 +3776,7 @@ const capabilities = {
|
|
|
3735
3776
|
"tdd": {
|
|
3736
3777
|
"id": "tdd",
|
|
3737
3778
|
"role": "feature",
|
|
3738
|
-
"version": "1.
|
|
3779
|
+
"version": "1.19.0",
|
|
3739
3780
|
"title": "Test-driven development",
|
|
3740
3781
|
"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.",
|
|
3741
3782
|
"tier": "full",
|
|
@@ -3788,7 +3829,7 @@ const capabilities = {
|
|
|
3788
3829
|
"trae": {
|
|
3789
3830
|
"id": "trae",
|
|
3790
3831
|
"role": "runtime",
|
|
3791
|
-
"version": "1.
|
|
3832
|
+
"version": "1.19.0",
|
|
3792
3833
|
"title": "Trae IDE",
|
|
3793
3834
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
3794
3835
|
"tier": "core",
|
|
@@ -3887,7 +3928,7 @@ const capabilities = {
|
|
|
3887
3928
|
"ui": {
|
|
3888
3929
|
"id": "ui",
|
|
3889
3930
|
"role": "feature",
|
|
3890
|
-
"version": "1.
|
|
3931
|
+
"version": "1.19.0",
|
|
3891
3932
|
"title": "UI design contracts",
|
|
3892
3933
|
"description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
|
|
3893
3934
|
"tier": "full",
|
|
@@ -3987,7 +4028,7 @@ const capabilities = {
|
|
|
3987
4028
|
"vscode": {
|
|
3988
4029
|
"id": "vscode",
|
|
3989
4030
|
"role": "runtime",
|
|
3990
|
-
"version": "1.
|
|
4031
|
+
"version": "1.19.0",
|
|
3991
4032
|
"title": "VS Code",
|
|
3992
4033
|
"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).",
|
|
3993
4034
|
"tier": "core",
|
|
@@ -4045,7 +4086,7 @@ const capabilities = {
|
|
|
4045
4086
|
"windsurf": {
|
|
4046
4087
|
"id": "windsurf",
|
|
4047
4088
|
"role": "runtime",
|
|
4048
|
-
"version": "1.
|
|
4089
|
+
"version": "1.19.0",
|
|
4049
4090
|
"title": "Windsurf",
|
|
4050
4091
|
"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.",
|
|
4051
4092
|
"tier": "core",
|
|
@@ -4138,7 +4179,7 @@ const capabilities = {
|
|
|
4138
4179
|
"zcode": {
|
|
4139
4180
|
"id": "zcode",
|
|
4140
4181
|
"role": "runtime",
|
|
4141
|
-
"version": "1.
|
|
4182
|
+
"version": "1.19.0",
|
|
4142
4183
|
"title": "ZCode",
|
|
4143
4184
|
"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.",
|
|
4144
4185
|
"tier": "core",
|
|
@@ -5534,7 +5575,7 @@ const runtimes = {
|
|
|
5534
5575
|
"antigravity": {
|
|
5535
5576
|
"id": "antigravity",
|
|
5536
5577
|
"role": "runtime",
|
|
5537
|
-
"version": "1.
|
|
5578
|
+
"version": "1.19.0",
|
|
5538
5579
|
"title": "Antigravity",
|
|
5539
5580
|
"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.",
|
|
5540
5581
|
"tier": "core",
|
|
@@ -5702,7 +5743,7 @@ const runtimes = {
|
|
|
5702
5743
|
"augment": {
|
|
5703
5744
|
"id": "augment",
|
|
5704
5745
|
"role": "runtime",
|
|
5705
|
-
"version": "1.
|
|
5746
|
+
"version": "1.19.0",
|
|
5706
5747
|
"title": "Augment Code",
|
|
5707
5748
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
5708
5749
|
"tier": "core",
|
|
@@ -5820,7 +5861,7 @@ const runtimes = {
|
|
|
5820
5861
|
"claude": {
|
|
5821
5862
|
"id": "claude",
|
|
5822
5863
|
"role": "runtime",
|
|
5823
|
-
"version": "1.
|
|
5864
|
+
"version": "1.19.0",
|
|
5824
5865
|
"title": "Claude Code",
|
|
5825
5866
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
5826
5867
|
"tier": "core",
|
|
@@ -6008,7 +6049,7 @@ const runtimes = {
|
|
|
6008
6049
|
"cline": {
|
|
6009
6050
|
"id": "cline",
|
|
6010
6051
|
"role": "runtime",
|
|
6011
|
-
"version": "1.
|
|
6052
|
+
"version": "1.19.0",
|
|
6012
6053
|
"title": "Cline",
|
|
6013
6054
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
6014
6055
|
"tier": "core",
|
|
@@ -6102,7 +6143,7 @@ const runtimes = {
|
|
|
6102
6143
|
"codebuddy": {
|
|
6103
6144
|
"id": "codebuddy",
|
|
6104
6145
|
"role": "runtime",
|
|
6105
|
-
"version": "1.
|
|
6146
|
+
"version": "1.19.0",
|
|
6106
6147
|
"title": "CodeBuddy",
|
|
6107
6148
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6108
6149
|
"tier": "core",
|
|
@@ -6224,7 +6265,7 @@ const runtimes = {
|
|
|
6224
6265
|
"codex": {
|
|
6225
6266
|
"id": "codex",
|
|
6226
6267
|
"role": "runtime",
|
|
6227
|
-
"version": "1.
|
|
6268
|
+
"version": "1.19.0",
|
|
6228
6269
|
"title": "OpenAI Codex CLI",
|
|
6229
6270
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
6230
6271
|
"tier": "core",
|
|
@@ -6411,7 +6452,7 @@ const runtimes = {
|
|
|
6411
6452
|
"copilot": {
|
|
6412
6453
|
"id": "copilot",
|
|
6413
6454
|
"role": "runtime",
|
|
6414
|
-
"version": "1.
|
|
6455
|
+
"version": "1.19.0",
|
|
6415
6456
|
"title": "GitHub Copilot",
|
|
6416
6457
|
"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.",
|
|
6417
6458
|
"tier": "core",
|
|
@@ -6513,7 +6554,7 @@ const runtimes = {
|
|
|
6513
6554
|
"cursor": {
|
|
6514
6555
|
"id": "cursor",
|
|
6515
6556
|
"role": "runtime",
|
|
6516
|
-
"version": "1.
|
|
6557
|
+
"version": "1.19.0",
|
|
6517
6558
|
"title": "Cursor",
|
|
6518
6559
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
6519
6560
|
"tier": "core",
|
|
@@ -6683,7 +6724,7 @@ const runtimes = {
|
|
|
6683
6724
|
"hermes": {
|
|
6684
6725
|
"id": "hermes",
|
|
6685
6726
|
"role": "runtime",
|
|
6686
|
-
"version": "1.
|
|
6727
|
+
"version": "1.19.0",
|
|
6687
6728
|
"title": "Hermes Agent",
|
|
6688
6729
|
"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.",
|
|
6689
6730
|
"tier": "core",
|
|
@@ -6802,7 +6843,7 @@ const runtimes = {
|
|
|
6802
6843
|
"kilo": {
|
|
6803
6844
|
"id": "kilo",
|
|
6804
6845
|
"role": "runtime",
|
|
6805
|
-
"version": "1.
|
|
6846
|
+
"version": "1.19.0",
|
|
6806
6847
|
"title": "Kilo Code",
|
|
6807
6848
|
"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.",
|
|
6808
6849
|
"tier": "core",
|
|
@@ -6936,7 +6977,7 @@ const runtimes = {
|
|
|
6936
6977
|
"kimi": {
|
|
6937
6978
|
"id": "kimi",
|
|
6938
6979
|
"role": "runtime",
|
|
6939
|
-
"version": "1.
|
|
6980
|
+
"version": "1.19.0",
|
|
6940
6981
|
"title": "Kimi CLI",
|
|
6941
6982
|
"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.",
|
|
6942
6983
|
"tier": "core",
|
|
@@ -7046,7 +7087,7 @@ const runtimes = {
|
|
|
7046
7087
|
"kimi-code": {
|
|
7047
7088
|
"id": "kimi-code",
|
|
7048
7089
|
"role": "runtime",
|
|
7049
|
-
"version": "1.
|
|
7090
|
+
"version": "1.19.0",
|
|
7050
7091
|
"title": "Kimi Code CLI",
|
|
7051
7092
|
"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.",
|
|
7052
7093
|
"tier": "core",
|
|
@@ -7217,7 +7258,7 @@ const runtimes = {
|
|
|
7217
7258
|
"opencode": {
|
|
7218
7259
|
"id": "opencode",
|
|
7219
7260
|
"role": "runtime",
|
|
7220
|
-
"version": "1.
|
|
7261
|
+
"version": "1.19.0",
|
|
7221
7262
|
"title": "OpenCode",
|
|
7222
7263
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
7223
7264
|
"tier": "core",
|
|
@@ -7421,9 +7462,9 @@ const runtimes = {
|
|
|
7421
7462
|
"pi": {
|
|
7422
7463
|
"id": "pi",
|
|
7423
7464
|
"role": "runtime",
|
|
7424
|
-
"version": "1.
|
|
7465
|
+
"version": "1.19.0",
|
|
7425
7466
|
"title": "pi",
|
|
7426
|
-
"description": "pi (pi.dev) —
|
|
7467
|
+
"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.",
|
|
7427
7468
|
"tier": "core",
|
|
7428
7469
|
"requires": [],
|
|
7429
7470
|
"engines": {
|
|
@@ -7441,8 +7482,48 @@ const runtimes = {
|
|
|
7441
7482
|
"localConfigDir": ".pi",
|
|
7442
7483
|
"configFormat": "none",
|
|
7443
7484
|
"artifactLayout": {
|
|
7444
|
-
"global": [
|
|
7445
|
-
|
|
7485
|
+
"global": [
|
|
7486
|
+
{
|
|
7487
|
+
"kind": "skills",
|
|
7488
|
+
"destSubpath": "skills",
|
|
7489
|
+
"prefix": "gsd-",
|
|
7490
|
+
"nesting": "flat",
|
|
7491
|
+
"recursive": false,
|
|
7492
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
7493
|
+
},
|
|
7494
|
+
{
|
|
7495
|
+
"kind": "agents",
|
|
7496
|
+
"destSubpath": "agents",
|
|
7497
|
+
"prefix": "gsd-",
|
|
7498
|
+
"nesting": "flat",
|
|
7499
|
+
"recursive": false,
|
|
7500
|
+
"excludeSuffixes": [
|
|
7501
|
+
".compact.md"
|
|
7502
|
+
],
|
|
7503
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
7504
|
+
}
|
|
7505
|
+
],
|
|
7506
|
+
"local": [
|
|
7507
|
+
{
|
|
7508
|
+
"kind": "skills",
|
|
7509
|
+
"destSubpath": "skills",
|
|
7510
|
+
"prefix": "gsd-",
|
|
7511
|
+
"nesting": "flat",
|
|
7512
|
+
"recursive": false,
|
|
7513
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
7514
|
+
},
|
|
7515
|
+
{
|
|
7516
|
+
"kind": "agents",
|
|
7517
|
+
"destSubpath": "agents",
|
|
7518
|
+
"prefix": "gsd-",
|
|
7519
|
+
"nesting": "flat",
|
|
7520
|
+
"recursive": false,
|
|
7521
|
+
"excludeSuffixes": [
|
|
7522
|
+
".compact.md"
|
|
7523
|
+
],
|
|
7524
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
7525
|
+
}
|
|
7526
|
+
]
|
|
7446
7527
|
},
|
|
7447
7528
|
"triggerPrecedence": [
|
|
7448
7529
|
"skills",
|
|
@@ -7474,8 +7555,8 @@ const runtimes = {
|
|
|
7474
7555
|
"hookBus": "host",
|
|
7475
7556
|
"stateIO": "session-log-append",
|
|
7476
7557
|
"transport": "native-extension",
|
|
7477
|
-
"runtime": "
|
|
7478
|
-
"effortSurface": "
|
|
7558
|
+
"runtime": "node",
|
|
7559
|
+
"effortSurface": "argv"
|
|
7479
7560
|
},
|
|
7480
7561
|
"hostBehaviors": {
|
|
7481
7562
|
"nativePlugin": {
|
|
@@ -7484,6 +7565,7 @@ const runtimes = {
|
|
|
7484
7565
|
"source": "pi/gsd.cjs"
|
|
7485
7566
|
},
|
|
7486
7567
|
"pluginOnlyInstall": true,
|
|
7568
|
+
"contentRewriteProfile": "slash-lookahead-tilde-restore",
|
|
7487
7569
|
"sharedHooksDirName": "gsd-hooks"
|
|
7488
7570
|
}
|
|
7489
7571
|
}
|
|
@@ -7491,7 +7573,7 @@ const runtimes = {
|
|
|
7491
7573
|
"qwen": {
|
|
7492
7574
|
"id": "qwen",
|
|
7493
7575
|
"role": "runtime",
|
|
7494
|
-
"version": "1.
|
|
7576
|
+
"version": "1.19.0",
|
|
7495
7577
|
"title": "Qwen Code",
|
|
7496
7578
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
7497
7579
|
"tier": "core",
|
|
@@ -7645,7 +7727,7 @@ const runtimes = {
|
|
|
7645
7727
|
"trae": {
|
|
7646
7728
|
"id": "trae",
|
|
7647
7729
|
"role": "runtime",
|
|
7648
|
-
"version": "1.
|
|
7730
|
+
"version": "1.19.0",
|
|
7649
7731
|
"title": "Trae IDE",
|
|
7650
7732
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
7651
7733
|
"tier": "core",
|
|
@@ -7744,7 +7826,7 @@ const runtimes = {
|
|
|
7744
7826
|
"vscode": {
|
|
7745
7827
|
"id": "vscode",
|
|
7746
7828
|
"role": "runtime",
|
|
7747
|
-
"version": "1.
|
|
7829
|
+
"version": "1.19.0",
|
|
7748
7830
|
"title": "VS Code",
|
|
7749
7831
|
"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).",
|
|
7750
7832
|
"tier": "core",
|
|
@@ -7802,7 +7884,7 @@ const runtimes = {
|
|
|
7802
7884
|
"windsurf": {
|
|
7803
7885
|
"id": "windsurf",
|
|
7804
7886
|
"role": "runtime",
|
|
7805
|
-
"version": "1.
|
|
7887
|
+
"version": "1.19.0",
|
|
7806
7888
|
"title": "Windsurf",
|
|
7807
7889
|
"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.",
|
|
7808
7890
|
"tier": "core",
|
|
@@ -7895,7 +7977,7 @@ const runtimes = {
|
|
|
7895
7977
|
"zcode": {
|
|
7896
7978
|
"id": "zcode",
|
|
7897
7979
|
"role": "runtime",
|
|
7898
|
-
"version": "1.
|
|
7980
|
+
"version": "1.19.0",
|
|
7899
7981
|
"title": "ZCode",
|
|
7900
7982
|
"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.",
|
|
7901
7983
|
"tier": "core",
|