@opengsd/gsd-core 1.18.0 → 1.20.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 +7 -7
- package/agents/gsd-code-fixer.md +13 -7
- package/agents/gsd-code-reviewer.compact.md +49 -8
- package/agents/gsd-code-reviewer.md +53 -14
- package/agents/gsd-executor.md +8 -4
- package/agents/gsd-verifier.md +1 -1
- package/bin/install.js +422 -103
- package/commands/gsd/update.md +5 -2
- package/gsd-core/bin/gsd-tools.cjs +179 -30
- 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-lifecycle.cjs +1 -12
- package/gsd-core/bin/lib/capability-lock.cjs +13 -2
- package/gsd-core/bin/lib/capability-registry.cjs +376 -103
- package/gsd-core/bin/lib/capability-state.cjs +14 -8
- package/gsd-core/bin/lib/capability-validator.cjs +32 -0
- package/gsd-core/bin/lib/commands.cjs +27 -17
- package/gsd-core/bin/lib/config-loader.cjs +13 -3
- package/gsd-core/bin/lib/config.cjs +256 -58
- package/gsd-core/bin/lib/core-utils.cjs +45 -0
- package/gsd-core/bin/lib/decision-coverage-support.cjs +74 -0
- package/gsd-core/bin/lib/frontmatter.cjs +21 -3
- package/gsd-core/bin/lib/gate-api-coverage-verify-pre.cjs +2 -2
- package/gsd-core/bin/lib/gate-context-drift.cjs +9 -4
- 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-phase-context.cjs +7 -8
- package/gsd-core/bin/lib/gate-schema-drift.cjs +1 -1
- 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 +52 -0
- package/gsd-core/bin/lib/health-diagnostic-rules/phase-structure.cjs +31 -12
- package/gsd-core/bin/lib/health-diagnostic-rules/roadmap-disk-consistency.cjs +9 -7
- package/gsd-core/bin/lib/health-diagnostic-rules/state-consistency.cjs +3 -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 +245 -68
- 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/io.cjs +6 -0
- package/gsd-core/bin/lib/markdown-line-diff.cjs +147 -0
- package/gsd-core/bin/lib/markdown-sectionizer.cjs +147 -1
- package/gsd-core/bin/lib/markdown-table.cjs +23 -0
- package/gsd-core/bin/lib/mcp-server.cjs +8 -5
- 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 +61 -51
- 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-entry-grammar.cjs +119 -0
- package/gsd-core/bin/lib/phase-id-display.cjs +2 -0
- package/gsd-core/bin/lib/phase-id.cjs +629 -38
- package/gsd-core/bin/lib/phase-lifecycle.cjs +12 -44
- package/gsd-core/bin/lib/phase-locator.cjs +328 -19
- package/gsd-core/bin/lib/phase.cjs +3066 -653
- package/gsd-core/bin/lib/planning-document.cjs +26 -5
- package/gsd-core/bin/lib/planning-inspect.cjs +27 -35
- package/gsd-core/bin/lib/planning-snapshot.cjs +15 -8
- package/gsd-core/bin/lib/planning-workspace.cjs +21 -3
- package/gsd-core/bin/lib/pristine-baseline.cjs +11 -3
- package/gsd-core/bin/lib/read-only-git-env.cjs +79 -0
- package/gsd-core/bin/lib/refactor-trigger-command-router.cjs +2 -2
- package/gsd-core/bin/lib/review-lane-descriptor.cjs +57 -2
- package/gsd-core/bin/lib/review-lane-invocation.cjs +125 -18
- package/gsd-core/bin/lib/review-lane-runner.cjs +33 -4
- package/gsd-core/bin/lib/reviewer-step-dispatch.cjs +11 -9
- package/gsd-core/bin/lib/roadmap-parser.cjs +735 -137
- package/gsd-core/bin/lib/roadmap-progress.cjs +136 -0
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +47 -7
- package/gsd-core/bin/lib/roadmap.cjs +383 -123
- 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 +151 -19
- package/gsd-core/bin/lib/smart-entry.cjs +35 -11
- package/gsd-core/bin/lib/state-contract.cjs +39 -15
- package/gsd-core/bin/lib/state-document.cjs +344 -27
- package/gsd-core/bin/lib/state-transition.cjs +156 -32
- package/gsd-core/bin/lib/state.cjs +527 -186
- 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/template.cjs +2 -2
- package/gsd-core/bin/lib/validate.cjs +3 -2
- package/gsd-core/bin/lib/vendor/re2js.cjs +863 -577
- package/gsd-core/bin/lib/vendor/re2js.d.cts +284 -219
- package/gsd-core/bin/lib/verification.cjs +96 -9
- package/gsd-core/bin/lib/verify.cjs +4 -2
- package/gsd-core/bin/lib/workstream-inventory.cjs +26 -20
- 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/bin/verify-reapply-patches.cjs +411 -10
- package/gsd-core/references/cicd-review-patterns.md +45 -0
- package/gsd-core/references/git-integration.md +11 -0
- package/gsd-core/references/loop-hook-dispatch.md +13 -6
- package/gsd-core/references/necessity-review.md +48 -0
- 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-fix.md +46 -5
- package/gsd-core/workflows/code-review.md +64 -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 +10 -6
- package/gsd-core/workflows/execute-plan.md +1 -1
- 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/steps/stall-detection-helpers.md +13 -9
- package/gsd-core/workflows/plan-phase.md +14 -14
- package/gsd-core/workflows/pr-branch.md +2 -0
- 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/reapply-patches.md +104 -0
- package/gsd-core/workflows/review.md +70 -154
- package/gsd-core/workflows/section-manifest.json +5 -0
- package/gsd-core/workflows/secure-phase.md +1 -1
- package/gsd-core/workflows/settings-advanced.md +57 -9
- package/gsd-core/workflows/settings.md +1 -0
- package/gsd-core/workflows/ship.md +15 -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-graphify-update.sh +6 -0
- 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 +37 -3
- package/hooks/dist/gsd-windsurf-pre-write.js +29 -2
- package/hooks/dist/gsd-workflow-guard.js +3 -2
- package/hooks/dist/gsd-worktree-path-guard.js +29 -2
- package/hooks/dist/lib/git-probe.js +16 -0
- 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-graphify-update.sh +6 -0
- package/hooks/gsd-path-export.js +95 -0
- package/hooks/gsd-secret-read-guard.js +172 -39
- package/hooks/gsd-statusline.js +37 -3
- package/hooks/gsd-windsurf-pre-write.js +29 -2
- package/hooks/gsd-workflow-guard.js +3 -2
- package/hooks/gsd-worktree-path-guard.js +29 -2
- package/hooks/hooks.json +1 -0
- package/hooks/lib/git-probe.js +16 -0
- package/hooks/lib/isolation-sentinel.js +44 -0
- package/hooks/managed-hooks-registry.cjs +1 -0
- package/package.json +15 -8
- 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 +774 -0
- package/pi/package-agents/gsd-code-reviewer.md +441 -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 +898 -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 +54 -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/ci-next-health.cjs +246 -23
- package/scripts/command-contract-helpers.cjs +1 -1
- package/scripts/docs-guard-registry.cjs +22 -7
- package/scripts/gen-features.cjs +14 -2
- package/scripts/gen-health-docs.cjs +13 -1
- package/scripts/gen-pi-package-skills.cjs +217 -0
- package/scripts/lib/drift-scan.cjs +27 -0
- package/scripts/lib/macos-conformance-tier.generated.cjs +17 -1
- package/scripts/lib/platform-conformance-tier.generated.cjs +37 -1
- package/scripts/lint-docs-guard-registration.exempt-baseline.cjs +3 -3
- package/scripts/lint-phase-enumeration-drift.cjs +8 -4
- package/scripts/lint-retired-runtime-name.cjs +5 -0
- package/scripts/lint-roadmap-progress-drift.cjs +421 -0
- package/scripts/mutation-matrix.cjs +23 -1
- 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/scripts/sync-next-version.cjs +38 -6
- package/skills/gsd-update/SKILL.md +5 -2
- 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.20.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.20.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",
|
|
@@ -237,6 +237,8 @@ const capabilities = {
|
|
|
237
237
|
"evidenceClass": "source-grounded",
|
|
238
238
|
"requiresBinaries": [],
|
|
239
239
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.antigravity",
|
|
240
|
+
"contextWindowTokens": null,
|
|
241
|
+
"contextWindowConfigKey": "review.context_window_tokens.antigravity",
|
|
240
242
|
"modelConfigKey": "review.models.agy",
|
|
241
243
|
"effortConfigKey": null,
|
|
242
244
|
"defaultEffort": null,
|
|
@@ -251,7 +253,12 @@ const capabilities = {
|
|
|
251
253
|
"review.max_prompt_tokens_per_reviewer.antigravity": {
|
|
252
254
|
"type": "number",
|
|
253
255
|
"default": -1,
|
|
254
|
-
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel
|
|
256
|
+
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\". Keyed on the reviewer slug `antigravity`, not the `agy` binary alias used by review.models.agy."
|
|
257
|
+
},
|
|
258
|
+
"review.context_window_tokens.antigravity": {
|
|
259
|
+
"type": "number",
|
|
260
|
+
"default": -1,
|
|
261
|
+
"description": "Context window in tokens used to derive the default prompt cap for the antigravity reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
255
262
|
},
|
|
256
263
|
"review.timeouts.antigravity": {
|
|
257
264
|
"type": "number",
|
|
@@ -263,7 +270,7 @@ const capabilities = {
|
|
|
263
270
|
"assumption-delta": {
|
|
264
271
|
"id": "assumption-delta",
|
|
265
272
|
"role": "feature",
|
|
266
|
-
"version": "1.
|
|
273
|
+
"version": "1.20.0",
|
|
267
274
|
"title": "Assumption-delta architecture checkpoint",
|
|
268
275
|
"description": "Rarely-firing advisory checkpoint that triggers when a phase makes something plural, optional, or chosen that used to be singular, required, or derived. Surfaces one identity-model question (promote the new general representation to primary, or add it alongside?) so a silent primary-key drift does not accumulate into a later user-facing bug. Non-blocking; fires only on a detected signal.",
|
|
269
276
|
"tier": "full",
|
|
@@ -309,7 +316,7 @@ const capabilities = {
|
|
|
309
316
|
"audit": {
|
|
310
317
|
"id": "audit",
|
|
311
318
|
"role": "feature",
|
|
312
|
-
"version": "1.
|
|
319
|
+
"version": "1.20.0",
|
|
313
320
|
"title": "Audit",
|
|
314
321
|
"description": "Open-artifact audit and UAT-gap audit for milestone close gates; exposes `gsd-tools audit-uat` (cross-phase UAT outstanding items) and `gsd-tools audit-open` (structured open-artifact scan across debug, tasks, threads, todos, seeds, UAT, verification, context-questions).",
|
|
315
322
|
"tier": "full",
|
|
@@ -346,7 +353,7 @@ const capabilities = {
|
|
|
346
353
|
"augment": {
|
|
347
354
|
"id": "augment",
|
|
348
355
|
"role": "runtime",
|
|
349
|
-
"version": "1.
|
|
356
|
+
"version": "1.20.0",
|
|
350
357
|
"title": "Augment Code",
|
|
351
358
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
352
359
|
"tier": "core",
|
|
@@ -464,7 +471,7 @@ const capabilities = {
|
|
|
464
471
|
"broken-windows": {
|
|
465
472
|
"id": "broken-windows",
|
|
466
473
|
"role": "feature",
|
|
467
|
-
"version": "1.
|
|
474
|
+
"version": "1.20.0",
|
|
468
475
|
"title": "Broken-windows ledger",
|
|
469
476
|
"description": "Cross-phase defect register accumulating stubs, TODOs, skipped tests, unrun verifies, and unmet truths into .planning/WINDOWS.md. When enforcement is enabled, it blocks /gsd-ship while any window is open unless explicitly waived with a recorded reason. Operationalizes GSD's no-defer discipline as a tracked artifact (issue #1950).",
|
|
470
477
|
"tier": "full",
|
|
@@ -510,7 +517,7 @@ const capabilities = {
|
|
|
510
517
|
"claude": {
|
|
511
518
|
"id": "claude",
|
|
512
519
|
"role": "runtime",
|
|
513
|
-
"version": "1.
|
|
520
|
+
"version": "1.20.0",
|
|
514
521
|
"title": "Claude Code",
|
|
515
522
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
516
523
|
"tier": "core",
|
|
@@ -667,6 +674,8 @@ const capabilities = {
|
|
|
667
674
|
"evidenceClass": "source-grounded",
|
|
668
675
|
"requiresBinaries": [],
|
|
669
676
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.claude",
|
|
677
|
+
"contextWindowTokens": 200000,
|
|
678
|
+
"contextWindowConfigKey": "review.context_window_tokens.claude",
|
|
670
679
|
"modelConfigKey": "review.models.claude",
|
|
671
680
|
"effortConfigKey": "review.effort.claude",
|
|
672
681
|
"defaultEffort": "high",
|
|
@@ -681,7 +690,12 @@ const capabilities = {
|
|
|
681
690
|
"review.max_prompt_tokens_per_reviewer.claude": {
|
|
682
691
|
"type": "number",
|
|
683
692
|
"default": -1,
|
|
684
|
-
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel
|
|
693
|
+
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
694
|
+
},
|
|
695
|
+
"review.context_window_tokens.claude": {
|
|
696
|
+
"type": "number",
|
|
697
|
+
"default": -1,
|
|
698
|
+
"description": "Context window in tokens used to derive the default prompt cap for the claude reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 200000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
685
699
|
},
|
|
686
700
|
"review.timeouts.claude": {
|
|
687
701
|
"type": "number",
|
|
@@ -698,7 +712,7 @@ const capabilities = {
|
|
|
698
712
|
"claude-orchestration": {
|
|
699
713
|
"id": "claude-orchestration",
|
|
700
714
|
"role": "feature",
|
|
701
|
-
"version": "1.
|
|
715
|
+
"version": "1.20.0",
|
|
702
716
|
"title": "Claude orchestration (Workflow backend)",
|
|
703
717
|
"description": "Default-off, BETA, claude-only capability that adopts Claude Code's Workflow tool (the engine behind /effort ultracode) as an optional parallel-execution backend for the GSD loop. When 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
718
|
"tier": "full",
|
|
@@ -772,7 +786,7 @@ const capabilities = {
|
|
|
772
786
|
"cline": {
|
|
773
787
|
"id": "cline",
|
|
774
788
|
"role": "runtime",
|
|
775
|
-
"version": "1.
|
|
789
|
+
"version": "1.20.0",
|
|
776
790
|
"title": "Cline",
|
|
777
791
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
778
792
|
"tier": "core",
|
|
@@ -866,7 +880,7 @@ const capabilities = {
|
|
|
866
880
|
"code-review": {
|
|
867
881
|
"id": "code-review",
|
|
868
882
|
"role": "feature",
|
|
869
|
-
"version": "1.
|
|
883
|
+
"version": "1.20.0",
|
|
870
884
|
"title": "Code review",
|
|
871
885
|
"description": "Source-file code review and review-fix workflow support for completed execution work.",
|
|
872
886
|
"tier": "full",
|
|
@@ -952,7 +966,7 @@ const capabilities = {
|
|
|
952
966
|
"codebuddy": {
|
|
953
967
|
"id": "codebuddy",
|
|
954
968
|
"role": "runtime",
|
|
955
|
-
"version": "1.
|
|
969
|
+
"version": "1.20.0",
|
|
956
970
|
"title": "CodeBuddy",
|
|
957
971
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
958
972
|
"tier": "core",
|
|
@@ -1074,7 +1088,7 @@ const capabilities = {
|
|
|
1074
1088
|
"coderabbit": {
|
|
1075
1089
|
"id": "coderabbit",
|
|
1076
1090
|
"role": "reviewer",
|
|
1077
|
-
"version": "1.
|
|
1091
|
+
"version": "1.20.0",
|
|
1078
1092
|
"title": "CodeRabbit",
|
|
1079
1093
|
"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
1094
|
"tier": "full",
|
|
@@ -1110,6 +1124,8 @@ const capabilities = {
|
|
|
1110
1124
|
"evidenceClass": "diff-only",
|
|
1111
1125
|
"requiresBinaries": [],
|
|
1112
1126
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.coderabbit",
|
|
1127
|
+
"contextWindowTokens": null,
|
|
1128
|
+
"contextWindowConfigKey": null,
|
|
1113
1129
|
"modelConfigKey": null,
|
|
1114
1130
|
"effortConfigKey": null,
|
|
1115
1131
|
"defaultEffort": null,
|
|
@@ -1119,14 +1135,14 @@ const capabilities = {
|
|
|
1119
1135
|
"review.max_prompt_tokens_per_reviewer.coderabbit": {
|
|
1120
1136
|
"type": "number",
|
|
1121
1137
|
"default": -1,
|
|
1122
|
-
"description": "Prompt-token budget for the CodeRabbit reviewer lane. Unset is -1, a sentinel
|
|
1138
|
+
"description": "Prompt-token budget for the CodeRabbit reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
1123
1139
|
}
|
|
1124
1140
|
}
|
|
1125
1141
|
},
|
|
1126
1142
|
"codex": {
|
|
1127
1143
|
"id": "codex",
|
|
1128
1144
|
"role": "runtime",
|
|
1129
|
-
"version": "1.
|
|
1145
|
+
"version": "1.20.0",
|
|
1130
1146
|
"title": "OpenAI Codex CLI",
|
|
1131
1147
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
1132
1148
|
"tier": "core",
|
|
@@ -1282,6 +1298,8 @@ const capabilities = {
|
|
|
1282
1298
|
"evidenceClass": "source-grounded",
|
|
1283
1299
|
"requiresBinaries": [],
|
|
1284
1300
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.codex",
|
|
1301
|
+
"contextWindowTokens": 272000,
|
|
1302
|
+
"contextWindowConfigKey": "review.context_window_tokens.codex",
|
|
1285
1303
|
"modelConfigKey": "review.models.codex",
|
|
1286
1304
|
"effortConfigKey": "review.effort.codex",
|
|
1287
1305
|
"defaultEffort": "high",
|
|
@@ -1296,7 +1314,12 @@ const capabilities = {
|
|
|
1296
1314
|
"review.max_prompt_tokens_per_reviewer.codex": {
|
|
1297
1315
|
"type": "number",
|
|
1298
1316
|
"default": -1,
|
|
1299
|
-
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel
|
|
1317
|
+
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
1318
|
+
},
|
|
1319
|
+
"review.context_window_tokens.codex": {
|
|
1320
|
+
"type": "number",
|
|
1321
|
+
"default": -1,
|
|
1322
|
+
"description": "Context window in tokens used to derive the default prompt cap for the codex reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 272000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
1300
1323
|
},
|
|
1301
1324
|
"review.timeouts.codex": {
|
|
1302
1325
|
"type": "number",
|
|
@@ -1313,7 +1336,7 @@ const capabilities = {
|
|
|
1313
1336
|
"copilot": {
|
|
1314
1337
|
"id": "copilot",
|
|
1315
1338
|
"role": "runtime",
|
|
1316
|
-
"version": "1.
|
|
1339
|
+
"version": "1.20.0",
|
|
1317
1340
|
"title": "GitHub Copilot",
|
|
1318
1341
|
"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
1342
|
"tier": "core",
|
|
@@ -1415,7 +1438,7 @@ const capabilities = {
|
|
|
1415
1438
|
"cursor": {
|
|
1416
1439
|
"id": "cursor",
|
|
1417
1440
|
"role": "runtime",
|
|
1418
|
-
"version": "1.
|
|
1441
|
+
"version": "1.20.0",
|
|
1419
1442
|
"title": "Cursor",
|
|
1420
1443
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
1421
1444
|
"tier": "core",
|
|
@@ -1564,6 +1587,8 @@ const capabilities = {
|
|
|
1564
1587
|
"evidenceClass": "source-grounded",
|
|
1565
1588
|
"requiresBinaries": [],
|
|
1566
1589
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.cursor",
|
|
1590
|
+
"contextWindowTokens": null,
|
|
1591
|
+
"contextWindowConfigKey": "review.context_window_tokens.cursor",
|
|
1567
1592
|
"modelConfigKey": "review.models.cursor",
|
|
1568
1593
|
"effortConfigKey": null,
|
|
1569
1594
|
"defaultEffort": null,
|
|
@@ -1578,14 +1603,19 @@ const capabilities = {
|
|
|
1578
1603
|
"review.max_prompt_tokens_per_reviewer.cursor": {
|
|
1579
1604
|
"type": "number",
|
|
1580
1605
|
"default": -1,
|
|
1581
|
-
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel
|
|
1606
|
+
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
1607
|
+
},
|
|
1608
|
+
"review.context_window_tokens.cursor": {
|
|
1609
|
+
"type": "number",
|
|
1610
|
+
"default": -1,
|
|
1611
|
+
"description": "Context window in tokens used to derive the default prompt cap for the cursor reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
1582
1612
|
}
|
|
1583
1613
|
}
|
|
1584
1614
|
},
|
|
1585
1615
|
"drift": {
|
|
1586
1616
|
"id": "drift",
|
|
1587
1617
|
"role": "feature",
|
|
1588
|
-
"version": "1.
|
|
1618
|
+
"version": "1.20.0",
|
|
1589
1619
|
"title": "Drift detection gates",
|
|
1590
1620
|
"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
1621
|
"tier": "full",
|
|
@@ -1686,7 +1716,7 @@ const capabilities = {
|
|
|
1686
1716
|
"external-job": {
|
|
1687
1717
|
"id": "external-job",
|
|
1688
1718
|
"role": "feature",
|
|
1689
|
-
"version": "1.
|
|
1719
|
+
"version": "1.20.0",
|
|
1690
1720
|
"title": "Async external-job scheduler adapter",
|
|
1691
1721
|
"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
1722
|
"tier": "full",
|
|
@@ -1769,7 +1799,7 @@ const capabilities = {
|
|
|
1769
1799
|
"gap-analysis": {
|
|
1770
1800
|
"id": "gap-analysis",
|
|
1771
1801
|
"role": "feature",
|
|
1772
|
-
"version": "1.
|
|
1802
|
+
"version": "1.20.0",
|
|
1773
1803
|
"title": "Post-planning gap analysis",
|
|
1774
1804
|
"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
1805
|
"tier": "standard",
|
|
@@ -1810,7 +1840,7 @@ const capabilities = {
|
|
|
1810
1840
|
"graphify": {
|
|
1811
1841
|
"id": "graphify",
|
|
1812
1842
|
"role": "feature",
|
|
1813
|
-
"version": "1.
|
|
1843
|
+
"version": "1.20.0",
|
|
1814
1844
|
"title": "Knowledge graph",
|
|
1815
1845
|
"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
1846
|
"tier": "full",
|
|
@@ -1851,7 +1881,7 @@ const capabilities = {
|
|
|
1851
1881
|
"hermes": {
|
|
1852
1882
|
"id": "hermes",
|
|
1853
1883
|
"role": "runtime",
|
|
1854
|
-
"version": "1.
|
|
1884
|
+
"version": "1.20.0",
|
|
1855
1885
|
"title": "Hermes Agent",
|
|
1856
1886
|
"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
1887
|
"tier": "core",
|
|
@@ -1970,7 +2000,7 @@ const capabilities = {
|
|
|
1970
2000
|
"intel": {
|
|
1971
2001
|
"id": "intel",
|
|
1972
2002
|
"role": "feature",
|
|
1973
|
-
"version": "1.
|
|
2003
|
+
"version": "1.20.0",
|
|
1974
2004
|
"title": "Codebase intelligence",
|
|
1975
2005
|
"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
2006
|
"tier": "full",
|
|
@@ -2022,7 +2052,7 @@ const capabilities = {
|
|
|
2022
2052
|
"kilo": {
|
|
2023
2053
|
"id": "kilo",
|
|
2024
2054
|
"role": "runtime",
|
|
2025
|
-
"version": "1.
|
|
2055
|
+
"version": "1.20.0",
|
|
2026
2056
|
"title": "Kilo Code",
|
|
2027
2057
|
"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
2058
|
"tier": "core",
|
|
@@ -2156,7 +2186,7 @@ const capabilities = {
|
|
|
2156
2186
|
"kimi": {
|
|
2157
2187
|
"id": "kimi",
|
|
2158
2188
|
"role": "runtime",
|
|
2159
|
-
"version": "1.
|
|
2189
|
+
"version": "1.20.0",
|
|
2160
2190
|
"title": "Kimi CLI",
|
|
2161
2191
|
"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
2192
|
"tier": "core",
|
|
@@ -2266,7 +2296,7 @@ const capabilities = {
|
|
|
2266
2296
|
"kimi-code": {
|
|
2267
2297
|
"id": "kimi-code",
|
|
2268
2298
|
"role": "runtime",
|
|
2269
|
-
"version": "1.
|
|
2299
|
+
"version": "1.20.0",
|
|
2270
2300
|
"title": "Kimi Code CLI",
|
|
2271
2301
|
"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
2302
|
"tier": "core",
|
|
@@ -2411,6 +2441,8 @@ const capabilities = {
|
|
|
2411
2441
|
"evidenceClass": "source-grounded",
|
|
2412
2442
|
"requiresBinaries": [],
|
|
2413
2443
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.kimi-code",
|
|
2444
|
+
"contextWindowTokens": 262144,
|
|
2445
|
+
"contextWindowConfigKey": "review.context_window_tokens.kimi-code",
|
|
2414
2446
|
"modelConfigKey": "review.models.kimi-code",
|
|
2415
2447
|
"effortConfigKey": null,
|
|
2416
2448
|
"defaultEffort": null,
|
|
@@ -2425,7 +2457,12 @@ const capabilities = {
|
|
|
2425
2457
|
"review.max_prompt_tokens_per_reviewer.kimi-code": {
|
|
2426
2458
|
"type": "number",
|
|
2427
2459
|
"default": -1,
|
|
2428
|
-
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel
|
|
2460
|
+
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
2461
|
+
},
|
|
2462
|
+
"review.context_window_tokens.kimi-code": {
|
|
2463
|
+
"type": "number",
|
|
2464
|
+
"default": -1,
|
|
2465
|
+
"description": "Context window in tokens used to derive the default prompt cap for the kimi-code reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 262144 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
2429
2466
|
},
|
|
2430
2467
|
"review.timeouts.kimi-code": {
|
|
2431
2468
|
"type": "number",
|
|
@@ -2437,7 +2474,7 @@ const capabilities = {
|
|
|
2437
2474
|
"live-dom-uat": {
|
|
2438
2475
|
"id": "live-dom-uat",
|
|
2439
2476
|
"role": "feature",
|
|
2440
|
-
"version": "1.
|
|
2477
|
+
"version": "1.20.0",
|
|
2441
2478
|
"title": "Live-DOM UAT",
|
|
2442
2479
|
"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
2480
|
"tier": "full",
|
|
@@ -2490,7 +2527,7 @@ const capabilities = {
|
|
|
2490
2527
|
"llama-cpp": {
|
|
2491
2528
|
"id": "llama-cpp",
|
|
2492
2529
|
"role": "reviewer",
|
|
2493
|
-
"version": "1.
|
|
2530
|
+
"version": "1.20.0",
|
|
2494
2531
|
"title": "llama.cpp",
|
|
2495
2532
|
"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
2533
|
"tier": "full",
|
|
@@ -2525,6 +2562,8 @@ const capabilities = {
|
|
|
2525
2562
|
"evidenceClass": "source-grounded",
|
|
2526
2563
|
"requiresBinaries": [],
|
|
2527
2564
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.llama_cpp",
|
|
2565
|
+
"contextWindowTokens": null,
|
|
2566
|
+
"contextWindowConfigKey": "review.context_window_tokens.llama_cpp",
|
|
2528
2567
|
"modelConfigKey": "review.models.llama_cpp",
|
|
2529
2568
|
"effortConfigKey": null,
|
|
2530
2569
|
"defaultEffort": null,
|
|
@@ -2544,7 +2583,12 @@ const capabilities = {
|
|
|
2544
2583
|
"review.max_prompt_tokens_per_reviewer.llama_cpp": {
|
|
2545
2584
|
"type": "number",
|
|
2546
2585
|
"default": -1,
|
|
2547
|
-
"description": "Prompt-token budget for the llama.cpp reviewer lane. Unset is -1, a sentinel
|
|
2586
|
+
"description": "Prompt-token budget for the llama.cpp reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
2587
|
+
},
|
|
2588
|
+
"review.context_window_tokens.llama_cpp": {
|
|
2589
|
+
"type": "number",
|
|
2590
|
+
"default": -1,
|
|
2591
|
+
"description": "Context window in tokens used to derive the default prompt cap for the llama_cpp reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
2548
2592
|
},
|
|
2549
2593
|
"review.timeouts.llama_cpp": {
|
|
2550
2594
|
"type": "number",
|
|
@@ -2556,7 +2600,7 @@ const capabilities = {
|
|
|
2556
2600
|
"lm-studio": {
|
|
2557
2601
|
"id": "lm-studio",
|
|
2558
2602
|
"role": "reviewer",
|
|
2559
|
-
"version": "1.
|
|
2603
|
+
"version": "1.20.0",
|
|
2560
2604
|
"title": "LM Studio",
|
|
2561
2605
|
"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
2606
|
"tier": "full",
|
|
@@ -2591,6 +2635,8 @@ const capabilities = {
|
|
|
2591
2635
|
"evidenceClass": "source-grounded",
|
|
2592
2636
|
"requiresBinaries": [],
|
|
2593
2637
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.lm_studio",
|
|
2638
|
+
"contextWindowTokens": null,
|
|
2639
|
+
"contextWindowConfigKey": "review.context_window_tokens.lm_studio",
|
|
2594
2640
|
"modelConfigKey": "review.models.lm_studio",
|
|
2595
2641
|
"effortConfigKey": null,
|
|
2596
2642
|
"defaultEffort": null,
|
|
@@ -2610,7 +2656,12 @@ const capabilities = {
|
|
|
2610
2656
|
"review.max_prompt_tokens_per_reviewer.lm_studio": {
|
|
2611
2657
|
"type": "number",
|
|
2612
2658
|
"default": -1,
|
|
2613
|
-
"description": "Prompt-token budget for the LM Studio reviewer lane. Unset is -1, a sentinel
|
|
2659
|
+
"description": "Prompt-token budget for the LM Studio reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
2660
|
+
},
|
|
2661
|
+
"review.context_window_tokens.lm_studio": {
|
|
2662
|
+
"type": "number",
|
|
2663
|
+
"default": -1,
|
|
2664
|
+
"description": "Context window in tokens used to derive the default prompt cap for the lm_studio reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
2614
2665
|
},
|
|
2615
2666
|
"review.timeouts.lm_studio": {
|
|
2616
2667
|
"type": "number",
|
|
@@ -2622,7 +2673,7 @@ const capabilities = {
|
|
|
2622
2673
|
"mempalace": {
|
|
2623
2674
|
"id": "mempalace",
|
|
2624
2675
|
"role": "feature",
|
|
2625
|
-
"version": "1.
|
|
2676
|
+
"version": "1.20.0",
|
|
2626
2677
|
"title": "MemPalace memory",
|
|
2627
2678
|
"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
2679
|
"tier": "full",
|
|
@@ -2796,7 +2847,7 @@ const capabilities = {
|
|
|
2796
2847
|
"nyquist": {
|
|
2797
2848
|
"id": "nyquist",
|
|
2798
2849
|
"role": "feature",
|
|
2799
|
-
"version": "1.
|
|
2850
|
+
"version": "1.20.0",
|
|
2800
2851
|
"title": "Nyquist validation",
|
|
2801
2852
|
"description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
|
|
2802
2853
|
"tier": "full",
|
|
@@ -2846,7 +2897,7 @@ const capabilities = {
|
|
|
2846
2897
|
"ollama": {
|
|
2847
2898
|
"id": "ollama",
|
|
2848
2899
|
"role": "reviewer",
|
|
2849
|
-
"version": "1.
|
|
2900
|
+
"version": "1.20.0",
|
|
2850
2901
|
"title": "Ollama",
|
|
2851
2902
|
"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
2903
|
"tier": "full",
|
|
@@ -2881,6 +2932,8 @@ const capabilities = {
|
|
|
2881
2932
|
"evidenceClass": "source-grounded",
|
|
2882
2933
|
"requiresBinaries": [],
|
|
2883
2934
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.ollama",
|
|
2935
|
+
"contextWindowTokens": null,
|
|
2936
|
+
"contextWindowConfigKey": "review.context_window_tokens.ollama",
|
|
2884
2937
|
"modelConfigKey": "review.models.ollama",
|
|
2885
2938
|
"effortConfigKey": null,
|
|
2886
2939
|
"defaultEffort": null,
|
|
@@ -2900,7 +2953,12 @@ const capabilities = {
|
|
|
2900
2953
|
"review.max_prompt_tokens_per_reviewer.ollama": {
|
|
2901
2954
|
"type": "number",
|
|
2902
2955
|
"default": -1,
|
|
2903
|
-
"description": "Prompt-token budget for the Ollama reviewer lane. Unset is -1, a sentinel
|
|
2956
|
+
"description": "Prompt-token budget for the Ollama reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
2957
|
+
},
|
|
2958
|
+
"review.context_window_tokens.ollama": {
|
|
2959
|
+
"type": "number",
|
|
2960
|
+
"default": -1,
|
|
2961
|
+
"description": "Context window in tokens used to derive the default prompt cap for the ollama reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
2904
2962
|
},
|
|
2905
2963
|
"review.timeouts.ollama": {
|
|
2906
2964
|
"type": "number",
|
|
@@ -2912,7 +2970,7 @@ const capabilities = {
|
|
|
2912
2970
|
"opencode": {
|
|
2913
2971
|
"id": "opencode",
|
|
2914
2972
|
"role": "runtime",
|
|
2915
|
-
"version": "1.
|
|
2973
|
+
"version": "1.20.0",
|
|
2916
2974
|
"title": "OpenCode",
|
|
2917
2975
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
2918
2976
|
"tier": "core",
|
|
@@ -3085,6 +3143,8 @@ const capabilities = {
|
|
|
3085
3143
|
"evidenceClass": "source-grounded",
|
|
3086
3144
|
"requiresBinaries": [],
|
|
3087
3145
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.opencode",
|
|
3146
|
+
"contextWindowTokens": null,
|
|
3147
|
+
"contextWindowConfigKey": "review.context_window_tokens.opencode",
|
|
3088
3148
|
"modelConfigKey": "review.models.opencode",
|
|
3089
3149
|
"effortConfigKey": "review.effort.opencode",
|
|
3090
3150
|
"defaultEffort": "high",
|
|
@@ -3099,7 +3159,12 @@ const capabilities = {
|
|
|
3099
3159
|
"review.max_prompt_tokens_per_reviewer.opencode": {
|
|
3100
3160
|
"type": "number",
|
|
3101
3161
|
"default": -1,
|
|
3102
|
-
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel
|
|
3162
|
+
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
3163
|
+
},
|
|
3164
|
+
"review.context_window_tokens.opencode": {
|
|
3165
|
+
"type": "number",
|
|
3166
|
+
"default": -1,
|
|
3167
|
+
"description": "Context window in tokens used to derive the default prompt cap for the opencode reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
3103
3168
|
},
|
|
3104
3169
|
"review.timeouts.opencode": {
|
|
3105
3170
|
"type": "number",
|
|
@@ -3116,7 +3181,7 @@ const capabilities = {
|
|
|
3116
3181
|
"pattern-mapper": {
|
|
3117
3182
|
"id": "pattern-mapper",
|
|
3118
3183
|
"role": "feature",
|
|
3119
|
-
"version": "1.
|
|
3184
|
+
"version": "1.20.0",
|
|
3120
3185
|
"title": "Pattern mapping",
|
|
3121
3186
|
"description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
|
|
3122
3187
|
"tier": "full",
|
|
@@ -3170,9 +3235,9 @@ const capabilities = {
|
|
|
3170
3235
|
"pi": {
|
|
3171
3236
|
"id": "pi",
|
|
3172
3237
|
"role": "runtime",
|
|
3173
|
-
"version": "1.
|
|
3238
|
+
"version": "1.20.0",
|
|
3174
3239
|
"title": "pi",
|
|
3175
|
-
"description": "pi (pi.dev) —
|
|
3240
|
+
"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
3241
|
"tier": "core",
|
|
3177
3242
|
"requires": [],
|
|
3178
3243
|
"engines": {
|
|
@@ -3190,8 +3255,48 @@ const capabilities = {
|
|
|
3190
3255
|
"localConfigDir": ".pi",
|
|
3191
3256
|
"configFormat": "none",
|
|
3192
3257
|
"artifactLayout": {
|
|
3193
|
-
"global": [
|
|
3194
|
-
|
|
3258
|
+
"global": [
|
|
3259
|
+
{
|
|
3260
|
+
"kind": "skills",
|
|
3261
|
+
"destSubpath": "skills",
|
|
3262
|
+
"prefix": "gsd-",
|
|
3263
|
+
"nesting": "flat",
|
|
3264
|
+
"recursive": false,
|
|
3265
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
3266
|
+
},
|
|
3267
|
+
{
|
|
3268
|
+
"kind": "agents",
|
|
3269
|
+
"destSubpath": "agents",
|
|
3270
|
+
"prefix": "gsd-",
|
|
3271
|
+
"nesting": "flat",
|
|
3272
|
+
"recursive": false,
|
|
3273
|
+
"excludeSuffixes": [
|
|
3274
|
+
".compact.md"
|
|
3275
|
+
],
|
|
3276
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
3277
|
+
}
|
|
3278
|
+
],
|
|
3279
|
+
"local": [
|
|
3280
|
+
{
|
|
3281
|
+
"kind": "skills",
|
|
3282
|
+
"destSubpath": "skills",
|
|
3283
|
+
"prefix": "gsd-",
|
|
3284
|
+
"nesting": "flat",
|
|
3285
|
+
"recursive": false,
|
|
3286
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
3287
|
+
},
|
|
3288
|
+
{
|
|
3289
|
+
"kind": "agents",
|
|
3290
|
+
"destSubpath": "agents",
|
|
3291
|
+
"prefix": "gsd-",
|
|
3292
|
+
"nesting": "flat",
|
|
3293
|
+
"recursive": false,
|
|
3294
|
+
"excludeSuffixes": [
|
|
3295
|
+
".compact.md"
|
|
3296
|
+
],
|
|
3297
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
3298
|
+
}
|
|
3299
|
+
]
|
|
3195
3300
|
},
|
|
3196
3301
|
"triggerPrecedence": [
|
|
3197
3302
|
"skills",
|
|
@@ -3223,8 +3328,8 @@ const capabilities = {
|
|
|
3223
3328
|
"hookBus": "host",
|
|
3224
3329
|
"stateIO": "session-log-append",
|
|
3225
3330
|
"transport": "native-extension",
|
|
3226
|
-
"runtime": "
|
|
3227
|
-
"effortSurface": "
|
|
3331
|
+
"runtime": "node",
|
|
3332
|
+
"effortSurface": "argv"
|
|
3228
3333
|
},
|
|
3229
3334
|
"hostBehaviors": {
|
|
3230
3335
|
"nativePlugin": {
|
|
@@ -3233,6 +3338,7 @@ const capabilities = {
|
|
|
3233
3338
|
"source": "pi/gsd.cjs"
|
|
3234
3339
|
},
|
|
3235
3340
|
"pluginOnlyInstall": true,
|
|
3341
|
+
"contentRewriteProfile": "slash-lookahead-tilde-restore",
|
|
3236
3342
|
"sharedHooksDirName": "gsd-hooks"
|
|
3237
3343
|
}
|
|
3238
3344
|
}
|
|
@@ -3240,7 +3346,7 @@ const capabilities = {
|
|
|
3240
3346
|
"profile-pipeline": {
|
|
3241
3347
|
"id": "profile-pipeline",
|
|
3242
3348
|
"role": "feature",
|
|
3243
|
-
"version": "1.
|
|
3349
|
+
"version": "1.20.0",
|
|
3244
3350
|
"title": "Developer profiling pipeline",
|
|
3245
3351
|
"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
3352
|
"tier": "full",
|
|
@@ -3317,7 +3423,7 @@ const capabilities = {
|
|
|
3317
3423
|
"qwen": {
|
|
3318
3424
|
"id": "qwen",
|
|
3319
3425
|
"role": "runtime",
|
|
3320
|
-
"version": "1.
|
|
3426
|
+
"version": "1.20.0",
|
|
3321
3427
|
"title": "Qwen Code",
|
|
3322
3428
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
3323
3429
|
"tier": "core",
|
|
@@ -3455,6 +3561,8 @@ const capabilities = {
|
|
|
3455
3561
|
"evidenceClass": "source-grounded",
|
|
3456
3562
|
"requiresBinaries": [],
|
|
3457
3563
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.qwen",
|
|
3564
|
+
"contextWindowTokens": 131072,
|
|
3565
|
+
"contextWindowConfigKey": "review.context_window_tokens.qwen",
|
|
3458
3566
|
"modelConfigKey": null,
|
|
3459
3567
|
"effortConfigKey": null,
|
|
3460
3568
|
"defaultEffort": null,
|
|
@@ -3464,14 +3572,19 @@ const capabilities = {
|
|
|
3464
3572
|
"review.max_prompt_tokens_per_reviewer.qwen": {
|
|
3465
3573
|
"type": "number",
|
|
3466
3574
|
"default": -1,
|
|
3467
|
-
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel
|
|
3575
|
+
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
3576
|
+
},
|
|
3577
|
+
"review.context_window_tokens.qwen": {
|
|
3578
|
+
"type": "number",
|
|
3579
|
+
"default": -1,
|
|
3580
|
+
"description": "Context window in tokens used to derive the default prompt cap for the qwen reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 131072 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
3468
3581
|
}
|
|
3469
3582
|
}
|
|
3470
3583
|
},
|
|
3471
3584
|
"refactor-trigger": {
|
|
3472
3585
|
"id": "refactor-trigger",
|
|
3473
3586
|
"role": "feature",
|
|
3474
|
-
"version": "1.
|
|
3587
|
+
"version": "1.20.0",
|
|
3475
3588
|
"title": "Complexity-triggered refactor",
|
|
3476
3589
|
"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
3590
|
"tier": "full",
|
|
@@ -3538,7 +3651,7 @@ const capabilities = {
|
|
|
3538
3651
|
"research": {
|
|
3539
3652
|
"id": "research",
|
|
3540
3653
|
"role": "feature",
|
|
3541
|
-
"version": "1.
|
|
3654
|
+
"version": "1.20.0",
|
|
3542
3655
|
"title": "Phase research",
|
|
3543
3656
|
"description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
|
|
3544
3657
|
"tier": "standard",
|
|
@@ -3590,7 +3703,7 @@ const capabilities = {
|
|
|
3590
3703
|
"schema-gate": {
|
|
3591
3704
|
"id": "schema-gate",
|
|
3592
3705
|
"role": "feature",
|
|
3593
|
-
"version": "1.
|
|
3706
|
+
"version": "1.20.0",
|
|
3594
3707
|
"title": "Schema push detection gate",
|
|
3595
3708
|
"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
3709
|
"tier": "full",
|
|
@@ -3636,7 +3749,7 @@ const capabilities = {
|
|
|
3636
3749
|
"security": {
|
|
3637
3750
|
"id": "security",
|
|
3638
3751
|
"role": "feature",
|
|
3639
|
-
"version": "1.
|
|
3752
|
+
"version": "1.20.0",
|
|
3640
3753
|
"title": "Security enforcement",
|
|
3641
3754
|
"description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
|
|
3642
3755
|
"tier": "full",
|
|
@@ -3735,7 +3848,7 @@ const capabilities = {
|
|
|
3735
3848
|
"tdd": {
|
|
3736
3849
|
"id": "tdd",
|
|
3737
3850
|
"role": "feature",
|
|
3738
|
-
"version": "1.
|
|
3851
|
+
"version": "1.20.0",
|
|
3739
3852
|
"title": "Test-driven development",
|
|
3740
3853
|
"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
3854
|
"tier": "full",
|
|
@@ -3788,7 +3901,7 @@ const capabilities = {
|
|
|
3788
3901
|
"trae": {
|
|
3789
3902
|
"id": "trae",
|
|
3790
3903
|
"role": "runtime",
|
|
3791
|
-
"version": "1.
|
|
3904
|
+
"version": "1.20.0",
|
|
3792
3905
|
"title": "Trae IDE",
|
|
3793
3906
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
3794
3907
|
"tier": "core",
|
|
@@ -3887,7 +4000,7 @@ const capabilities = {
|
|
|
3887
4000
|
"ui": {
|
|
3888
4001
|
"id": "ui",
|
|
3889
4002
|
"role": "feature",
|
|
3890
|
-
"version": "1.
|
|
4003
|
+
"version": "1.20.0",
|
|
3891
4004
|
"title": "UI design contracts",
|
|
3892
4005
|
"description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
|
|
3893
4006
|
"tier": "full",
|
|
@@ -3987,7 +4100,7 @@ const capabilities = {
|
|
|
3987
4100
|
"vscode": {
|
|
3988
4101
|
"id": "vscode",
|
|
3989
4102
|
"role": "runtime",
|
|
3990
|
-
"version": "1.
|
|
4103
|
+
"version": "1.20.0",
|
|
3991
4104
|
"title": "VS Code",
|
|
3992
4105
|
"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
4106
|
"tier": "core",
|
|
@@ -4045,7 +4158,7 @@ const capabilities = {
|
|
|
4045
4158
|
"windsurf": {
|
|
4046
4159
|
"id": "windsurf",
|
|
4047
4160
|
"role": "runtime",
|
|
4048
|
-
"version": "1.
|
|
4161
|
+
"version": "1.20.0",
|
|
4049
4162
|
"title": "Windsurf",
|
|
4050
4163
|
"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
4164
|
"tier": "core",
|
|
@@ -4138,7 +4251,7 @@ const capabilities = {
|
|
|
4138
4251
|
"zcode": {
|
|
4139
4252
|
"id": "zcode",
|
|
4140
4253
|
"role": "runtime",
|
|
4141
|
-
"version": "1.
|
|
4254
|
+
"version": "1.20.0",
|
|
4142
4255
|
"title": "ZCode",
|
|
4143
4256
|
"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
4257
|
"tier": "core",
|
|
@@ -4890,11 +5003,13 @@ const configKeys = {
|
|
|
4890
5003
|
"workflow.api_coverage_gate": "ai-integration",
|
|
4891
5004
|
"review.models.agy": "antigravity",
|
|
4892
5005
|
"review.max_prompt_tokens_per_reviewer.antigravity": "antigravity",
|
|
5006
|
+
"review.context_window_tokens.antigravity": "antigravity",
|
|
4893
5007
|
"review.timeouts.antigravity": "antigravity",
|
|
4894
5008
|
"workflow.assumption_delta": "assumption-delta",
|
|
4895
5009
|
"workflow.windows_enforce": "broken-windows",
|
|
4896
5010
|
"review.models.claude": "claude",
|
|
4897
5011
|
"review.max_prompt_tokens_per_reviewer.claude": "claude",
|
|
5012
|
+
"review.context_window_tokens.claude": "claude",
|
|
4898
5013
|
"review.timeouts.claude": "claude",
|
|
4899
5014
|
"review.effort.claude": "claude",
|
|
4900
5015
|
"claude_orchestration.enabled": "claude-orchestration",
|
|
@@ -4906,10 +5021,12 @@ const configKeys = {
|
|
|
4906
5021
|
"review.max_prompt_tokens_per_reviewer.coderabbit": "coderabbit",
|
|
4907
5022
|
"review.models.codex": "codex",
|
|
4908
5023
|
"review.max_prompt_tokens_per_reviewer.codex": "codex",
|
|
5024
|
+
"review.context_window_tokens.codex": "codex",
|
|
4909
5025
|
"review.timeouts.codex": "codex",
|
|
4910
5026
|
"review.effort.codex": "codex",
|
|
4911
5027
|
"review.models.cursor": "cursor",
|
|
4912
5028
|
"review.max_prompt_tokens_per_reviewer.cursor": "cursor",
|
|
5029
|
+
"review.context_window_tokens.cursor": "cursor",
|
|
4913
5030
|
"workflow.drift_threshold": "drift",
|
|
4914
5031
|
"workflow.drift_action": "drift",
|
|
4915
5032
|
"workflow.schema_drift_gate": "drift",
|
|
@@ -4926,15 +5043,18 @@ const configKeys = {
|
|
|
4926
5043
|
"intel.enabled": "intel",
|
|
4927
5044
|
"review.models.kimi-code": "kimi-code",
|
|
4928
5045
|
"review.max_prompt_tokens_per_reviewer.kimi-code": "kimi-code",
|
|
5046
|
+
"review.context_window_tokens.kimi-code": "kimi-code",
|
|
4929
5047
|
"review.timeouts.kimi-code": "kimi-code",
|
|
4930
5048
|
"workflow.live_dom_uat": "live-dom-uat",
|
|
4931
5049
|
"review.models.llama_cpp": "llama-cpp",
|
|
4932
5050
|
"review.llama_cpp_host": "llama-cpp",
|
|
4933
5051
|
"review.max_prompt_tokens_per_reviewer.llama_cpp": "llama-cpp",
|
|
5052
|
+
"review.context_window_tokens.llama_cpp": "llama-cpp",
|
|
4934
5053
|
"review.timeouts.llama_cpp": "llama-cpp",
|
|
4935
5054
|
"review.models.lm_studio": "lm-studio",
|
|
4936
5055
|
"review.lm_studio_host": "lm-studio",
|
|
4937
5056
|
"review.max_prompt_tokens_per_reviewer.lm_studio": "lm-studio",
|
|
5057
|
+
"review.context_window_tokens.lm_studio": "lm-studio",
|
|
4938
5058
|
"review.timeouts.lm_studio": "lm-studio",
|
|
4939
5059
|
"mempalace.enabled": "mempalace",
|
|
4940
5060
|
"mempalace.memory_mode": "mempalace",
|
|
@@ -4950,14 +5070,17 @@ const configKeys = {
|
|
|
4950
5070
|
"review.models.ollama": "ollama",
|
|
4951
5071
|
"review.ollama_host": "ollama",
|
|
4952
5072
|
"review.max_prompt_tokens_per_reviewer.ollama": "ollama",
|
|
5073
|
+
"review.context_window_tokens.ollama": "ollama",
|
|
4953
5074
|
"review.timeouts.ollama": "ollama",
|
|
4954
5075
|
"review.models.opencode": "opencode",
|
|
4955
5076
|
"review.max_prompt_tokens_per_reviewer.opencode": "opencode",
|
|
5077
|
+
"review.context_window_tokens.opencode": "opencode",
|
|
4956
5078
|
"review.timeouts.opencode": "opencode",
|
|
4957
5079
|
"review.effort.opencode": "opencode",
|
|
4958
5080
|
"workflow.pattern_mapper": "pattern-mapper",
|
|
4959
5081
|
"profile-pipeline.enabled": "profile-pipeline",
|
|
4960
5082
|
"review.max_prompt_tokens_per_reviewer.qwen": "qwen",
|
|
5083
|
+
"review.context_window_tokens.qwen": "qwen",
|
|
4961
5084
|
"refactor.trigger_enabled": "refactor-trigger",
|
|
4962
5085
|
"refactor.complexity_threshold": "refactor-trigger",
|
|
4963
5086
|
"refactor.complexity_jump_delta": "refactor-trigger",
|
|
@@ -4997,7 +5120,13 @@ const configSchema = {
|
|
|
4997
5120
|
"owner": "antigravity",
|
|
4998
5121
|
"type": "number",
|
|
4999
5122
|
"default": -1,
|
|
5000
|
-
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel
|
|
5123
|
+
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\". Keyed on the reviewer slug `antigravity`, not the `agy` binary alias used by review.models.agy."
|
|
5124
|
+
},
|
|
5125
|
+
"review.context_window_tokens.antigravity": {
|
|
5126
|
+
"owner": "antigravity",
|
|
5127
|
+
"type": "number",
|
|
5128
|
+
"default": -1,
|
|
5129
|
+
"description": "Context window in tokens used to derive the default prompt cap for the antigravity reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5001
5130
|
},
|
|
5002
5131
|
"review.timeouts.antigravity": {
|
|
5003
5132
|
"owner": "antigravity",
|
|
@@ -5027,7 +5156,13 @@ const configSchema = {
|
|
|
5027
5156
|
"owner": "claude",
|
|
5028
5157
|
"type": "number",
|
|
5029
5158
|
"default": -1,
|
|
5030
|
-
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel
|
|
5159
|
+
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5160
|
+
},
|
|
5161
|
+
"review.context_window_tokens.claude": {
|
|
5162
|
+
"owner": "claude",
|
|
5163
|
+
"type": "number",
|
|
5164
|
+
"default": -1,
|
|
5165
|
+
"description": "Context window in tokens used to derive the default prompt cap for the claude reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 200000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
5031
5166
|
},
|
|
5032
5167
|
"review.timeouts.claude": {
|
|
5033
5168
|
"owner": "claude",
|
|
@@ -5095,7 +5230,7 @@ const configSchema = {
|
|
|
5095
5230
|
"owner": "coderabbit",
|
|
5096
5231
|
"type": "number",
|
|
5097
5232
|
"default": -1,
|
|
5098
|
-
"description": "Prompt-token budget for the CodeRabbit reviewer lane. Unset is -1, a sentinel
|
|
5233
|
+
"description": "Prompt-token budget for the CodeRabbit reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5099
5234
|
},
|
|
5100
5235
|
"review.models.codex": {
|
|
5101
5236
|
"owner": "codex",
|
|
@@ -5107,7 +5242,13 @@ const configSchema = {
|
|
|
5107
5242
|
"owner": "codex",
|
|
5108
5243
|
"type": "number",
|
|
5109
5244
|
"default": -1,
|
|
5110
|
-
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel
|
|
5245
|
+
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5246
|
+
},
|
|
5247
|
+
"review.context_window_tokens.codex": {
|
|
5248
|
+
"owner": "codex",
|
|
5249
|
+
"type": "number",
|
|
5250
|
+
"default": -1,
|
|
5251
|
+
"description": "Context window in tokens used to derive the default prompt cap for the codex reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 272000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
5111
5252
|
},
|
|
5112
5253
|
"review.timeouts.codex": {
|
|
5113
5254
|
"owner": "codex",
|
|
@@ -5131,7 +5272,13 @@ const configSchema = {
|
|
|
5131
5272
|
"owner": "cursor",
|
|
5132
5273
|
"type": "number",
|
|
5133
5274
|
"default": -1,
|
|
5134
|
-
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel
|
|
5275
|
+
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5276
|
+
},
|
|
5277
|
+
"review.context_window_tokens.cursor": {
|
|
5278
|
+
"owner": "cursor",
|
|
5279
|
+
"type": "number",
|
|
5280
|
+
"default": -1,
|
|
5281
|
+
"description": "Context window in tokens used to derive the default prompt cap for the cursor reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5135
5282
|
},
|
|
5136
5283
|
"workflow.drift_threshold": {
|
|
5137
5284
|
"owner": "drift",
|
|
@@ -5238,7 +5385,13 @@ const configSchema = {
|
|
|
5238
5385
|
"owner": "kimi-code",
|
|
5239
5386
|
"type": "number",
|
|
5240
5387
|
"default": -1,
|
|
5241
|
-
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel
|
|
5388
|
+
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5389
|
+
},
|
|
5390
|
+
"review.context_window_tokens.kimi-code": {
|
|
5391
|
+
"owner": "kimi-code",
|
|
5392
|
+
"type": "number",
|
|
5393
|
+
"default": -1,
|
|
5394
|
+
"description": "Context window in tokens used to derive the default prompt cap for the kimi-code reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 262144 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
5242
5395
|
},
|
|
5243
5396
|
"review.timeouts.kimi-code": {
|
|
5244
5397
|
"owner": "kimi-code",
|
|
@@ -5268,7 +5421,13 @@ const configSchema = {
|
|
|
5268
5421
|
"owner": "llama-cpp",
|
|
5269
5422
|
"type": "number",
|
|
5270
5423
|
"default": -1,
|
|
5271
|
-
"description": "Prompt-token budget for the llama.cpp reviewer lane. Unset is -1, a sentinel
|
|
5424
|
+
"description": "Prompt-token budget for the llama.cpp reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5425
|
+
},
|
|
5426
|
+
"review.context_window_tokens.llama_cpp": {
|
|
5427
|
+
"owner": "llama-cpp",
|
|
5428
|
+
"type": "number",
|
|
5429
|
+
"default": -1,
|
|
5430
|
+
"description": "Context window in tokens used to derive the default prompt cap for the llama_cpp reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5272
5431
|
},
|
|
5273
5432
|
"review.timeouts.llama_cpp": {
|
|
5274
5433
|
"owner": "llama-cpp",
|
|
@@ -5292,7 +5451,13 @@ const configSchema = {
|
|
|
5292
5451
|
"owner": "lm-studio",
|
|
5293
5452
|
"type": "number",
|
|
5294
5453
|
"default": -1,
|
|
5295
|
-
"description": "Prompt-token budget for the LM Studio reviewer lane. Unset is -1, a sentinel
|
|
5454
|
+
"description": "Prompt-token budget for the LM Studio reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5455
|
+
},
|
|
5456
|
+
"review.context_window_tokens.lm_studio": {
|
|
5457
|
+
"owner": "lm-studio",
|
|
5458
|
+
"type": "number",
|
|
5459
|
+
"default": -1,
|
|
5460
|
+
"description": "Context window in tokens used to derive the default prompt cap for the lm_studio reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5296
5461
|
},
|
|
5297
5462
|
"review.timeouts.lm_studio": {
|
|
5298
5463
|
"owner": "lm-studio",
|
|
@@ -5387,7 +5552,13 @@ const configSchema = {
|
|
|
5387
5552
|
"owner": "ollama",
|
|
5388
5553
|
"type": "number",
|
|
5389
5554
|
"default": -1,
|
|
5390
|
-
"description": "Prompt-token budget for the Ollama reviewer lane. Unset is -1, a sentinel
|
|
5555
|
+
"description": "Prompt-token budget for the Ollama reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5556
|
+
},
|
|
5557
|
+
"review.context_window_tokens.ollama": {
|
|
5558
|
+
"owner": "ollama",
|
|
5559
|
+
"type": "number",
|
|
5560
|
+
"default": -1,
|
|
5561
|
+
"description": "Context window in tokens used to derive the default prompt cap for the ollama reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5391
5562
|
},
|
|
5392
5563
|
"review.timeouts.ollama": {
|
|
5393
5564
|
"owner": "ollama",
|
|
@@ -5405,7 +5576,13 @@ const configSchema = {
|
|
|
5405
5576
|
"owner": "opencode",
|
|
5406
5577
|
"type": "number",
|
|
5407
5578
|
"default": -1,
|
|
5408
|
-
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel
|
|
5579
|
+
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5580
|
+
},
|
|
5581
|
+
"review.context_window_tokens.opencode": {
|
|
5582
|
+
"owner": "opencode",
|
|
5583
|
+
"type": "number",
|
|
5584
|
+
"default": -1,
|
|
5585
|
+
"description": "Context window in tokens used to derive the default prompt cap for the opencode reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5409
5586
|
},
|
|
5410
5587
|
"review.timeouts.opencode": {
|
|
5411
5588
|
"owner": "opencode",
|
|
@@ -5435,7 +5612,13 @@ const configSchema = {
|
|
|
5435
5612
|
"owner": "qwen",
|
|
5436
5613
|
"type": "number",
|
|
5437
5614
|
"default": -1,
|
|
5438
|
-
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel
|
|
5615
|
+
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
5616
|
+
},
|
|
5617
|
+
"review.context_window_tokens.qwen": {
|
|
5618
|
+
"owner": "qwen",
|
|
5619
|
+
"type": "number",
|
|
5620
|
+
"default": -1,
|
|
5621
|
+
"description": "Context window in tokens used to derive the default prompt cap for the qwen reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 131072 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
5439
5622
|
},
|
|
5440
5623
|
"refactor.trigger_enabled": {
|
|
5441
5624
|
"owner": "refactor-trigger",
|
|
@@ -5534,7 +5717,7 @@ const runtimes = {
|
|
|
5534
5717
|
"antigravity": {
|
|
5535
5718
|
"id": "antigravity",
|
|
5536
5719
|
"role": "runtime",
|
|
5537
|
-
"version": "1.
|
|
5720
|
+
"version": "1.20.0",
|
|
5538
5721
|
"title": "Antigravity",
|
|
5539
5722
|
"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
5723
|
"tier": "core",
|
|
@@ -5676,6 +5859,8 @@ const runtimes = {
|
|
|
5676
5859
|
"evidenceClass": "source-grounded",
|
|
5677
5860
|
"requiresBinaries": [],
|
|
5678
5861
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.antigravity",
|
|
5862
|
+
"contextWindowTokens": null,
|
|
5863
|
+
"contextWindowConfigKey": "review.context_window_tokens.antigravity",
|
|
5679
5864
|
"modelConfigKey": "review.models.agy",
|
|
5680
5865
|
"effortConfigKey": null,
|
|
5681
5866
|
"defaultEffort": null,
|
|
@@ -5690,7 +5875,12 @@ const runtimes = {
|
|
|
5690
5875
|
"review.max_prompt_tokens_per_reviewer.antigravity": {
|
|
5691
5876
|
"type": "number",
|
|
5692
5877
|
"default": -1,
|
|
5693
|
-
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel
|
|
5878
|
+
"description": "Prompt-token budget for the Antigravity reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\". Keyed on the reviewer slug `antigravity`, not the `agy` binary alias used by review.models.agy."
|
|
5879
|
+
},
|
|
5880
|
+
"review.context_window_tokens.antigravity": {
|
|
5881
|
+
"type": "number",
|
|
5882
|
+
"default": -1,
|
|
5883
|
+
"description": "Context window in tokens used to derive the default prompt cap for the antigravity reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
5694
5884
|
},
|
|
5695
5885
|
"review.timeouts.antigravity": {
|
|
5696
5886
|
"type": "number",
|
|
@@ -5702,7 +5892,7 @@ const runtimes = {
|
|
|
5702
5892
|
"augment": {
|
|
5703
5893
|
"id": "augment",
|
|
5704
5894
|
"role": "runtime",
|
|
5705
|
-
"version": "1.
|
|
5895
|
+
"version": "1.20.0",
|
|
5706
5896
|
"title": "Augment Code",
|
|
5707
5897
|
"description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
5708
5898
|
"tier": "core",
|
|
@@ -5820,7 +6010,7 @@ const runtimes = {
|
|
|
5820
6010
|
"claude": {
|
|
5821
6011
|
"id": "claude",
|
|
5822
6012
|
"role": "runtime",
|
|
5823
|
-
"version": "1.
|
|
6013
|
+
"version": "1.20.0",
|
|
5824
6014
|
"title": "Claude Code",
|
|
5825
6015
|
"description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
|
|
5826
6016
|
"tier": "core",
|
|
@@ -5977,6 +6167,8 @@ const runtimes = {
|
|
|
5977
6167
|
"evidenceClass": "source-grounded",
|
|
5978
6168
|
"requiresBinaries": [],
|
|
5979
6169
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.claude",
|
|
6170
|
+
"contextWindowTokens": 200000,
|
|
6171
|
+
"contextWindowConfigKey": "review.context_window_tokens.claude",
|
|
5980
6172
|
"modelConfigKey": "review.models.claude",
|
|
5981
6173
|
"effortConfigKey": "review.effort.claude",
|
|
5982
6174
|
"defaultEffort": "high",
|
|
@@ -5991,7 +6183,12 @@ const runtimes = {
|
|
|
5991
6183
|
"review.max_prompt_tokens_per_reviewer.claude": {
|
|
5992
6184
|
"type": "number",
|
|
5993
6185
|
"default": -1,
|
|
5994
|
-
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel
|
|
6186
|
+
"description": "Prompt-token budget for the Claude reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
6187
|
+
},
|
|
6188
|
+
"review.context_window_tokens.claude": {
|
|
6189
|
+
"type": "number",
|
|
6190
|
+
"default": -1,
|
|
6191
|
+
"description": "Context window in tokens used to derive the default prompt cap for the claude reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 200000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
5995
6192
|
},
|
|
5996
6193
|
"review.timeouts.claude": {
|
|
5997
6194
|
"type": "number",
|
|
@@ -6008,7 +6205,7 @@ const runtimes = {
|
|
|
6008
6205
|
"cline": {
|
|
6009
6206
|
"id": "cline",
|
|
6010
6207
|
"role": "runtime",
|
|
6011
|
-
"version": "1.
|
|
6208
|
+
"version": "1.20.0",
|
|
6012
6209
|
"title": "Cline",
|
|
6013
6210
|
"description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
|
|
6014
6211
|
"tier": "core",
|
|
@@ -6102,7 +6299,7 @@ const runtimes = {
|
|
|
6102
6299
|
"codebuddy": {
|
|
6103
6300
|
"id": "codebuddy",
|
|
6104
6301
|
"role": "runtime",
|
|
6105
|
-
"version": "1.
|
|
6302
|
+
"version": "1.20.0",
|
|
6106
6303
|
"title": "CodeBuddy",
|
|
6107
6304
|
"description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
6108
6305
|
"tier": "core",
|
|
@@ -6224,7 +6421,7 @@ const runtimes = {
|
|
|
6224
6421
|
"codex": {
|
|
6225
6422
|
"id": "codex",
|
|
6226
6423
|
"role": "runtime",
|
|
6227
|
-
"version": "1.
|
|
6424
|
+
"version": "1.20.0",
|
|
6228
6425
|
"title": "OpenAI Codex CLI",
|
|
6229
6426
|
"description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
|
|
6230
6427
|
"tier": "core",
|
|
@@ -6380,6 +6577,8 @@ const runtimes = {
|
|
|
6380
6577
|
"evidenceClass": "source-grounded",
|
|
6381
6578
|
"requiresBinaries": [],
|
|
6382
6579
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.codex",
|
|
6580
|
+
"contextWindowTokens": 272000,
|
|
6581
|
+
"contextWindowConfigKey": "review.context_window_tokens.codex",
|
|
6383
6582
|
"modelConfigKey": "review.models.codex",
|
|
6384
6583
|
"effortConfigKey": "review.effort.codex",
|
|
6385
6584
|
"defaultEffort": "high",
|
|
@@ -6394,7 +6593,12 @@ const runtimes = {
|
|
|
6394
6593
|
"review.max_prompt_tokens_per_reviewer.codex": {
|
|
6395
6594
|
"type": "number",
|
|
6396
6595
|
"default": -1,
|
|
6397
|
-
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel
|
|
6596
|
+
"description": "Prompt-token budget for the Codex reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
6597
|
+
},
|
|
6598
|
+
"review.context_window_tokens.codex": {
|
|
6599
|
+
"type": "number",
|
|
6600
|
+
"default": -1,
|
|
6601
|
+
"description": "Context window in tokens used to derive the default prompt cap for the codex reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 272000 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
6398
6602
|
},
|
|
6399
6603
|
"review.timeouts.codex": {
|
|
6400
6604
|
"type": "number",
|
|
@@ -6411,7 +6615,7 @@ const runtimes = {
|
|
|
6411
6615
|
"copilot": {
|
|
6412
6616
|
"id": "copilot",
|
|
6413
6617
|
"role": "runtime",
|
|
6414
|
-
"version": "1.
|
|
6618
|
+
"version": "1.20.0",
|
|
6415
6619
|
"title": "GitHub Copilot",
|
|
6416
6620
|
"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
6621
|
"tier": "core",
|
|
@@ -6513,7 +6717,7 @@ const runtimes = {
|
|
|
6513
6717
|
"cursor": {
|
|
6514
6718
|
"id": "cursor",
|
|
6515
6719
|
"role": "runtime",
|
|
6516
|
-
"version": "1.
|
|
6720
|
+
"version": "1.20.0",
|
|
6517
6721
|
"title": "Cursor",
|
|
6518
6722
|
"description": "Cursor IDE — skills-only workflow surface; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
|
|
6519
6723
|
"tier": "core",
|
|
@@ -6662,6 +6866,8 @@ const runtimes = {
|
|
|
6662
6866
|
"evidenceClass": "source-grounded",
|
|
6663
6867
|
"requiresBinaries": [],
|
|
6664
6868
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.cursor",
|
|
6869
|
+
"contextWindowTokens": null,
|
|
6870
|
+
"contextWindowConfigKey": "review.context_window_tokens.cursor",
|
|
6665
6871
|
"modelConfigKey": "review.models.cursor",
|
|
6666
6872
|
"effortConfigKey": null,
|
|
6667
6873
|
"defaultEffort": null,
|
|
@@ -6676,14 +6882,19 @@ const runtimes = {
|
|
|
6676
6882
|
"review.max_prompt_tokens_per_reviewer.cursor": {
|
|
6677
6883
|
"type": "number",
|
|
6678
6884
|
"default": -1,
|
|
6679
|
-
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel
|
|
6885
|
+
"description": "Prompt-token budget for the Cursor reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
6886
|
+
},
|
|
6887
|
+
"review.context_window_tokens.cursor": {
|
|
6888
|
+
"type": "number",
|
|
6889
|
+
"default": -1,
|
|
6890
|
+
"description": "Context window in tokens used to derive the default prompt cap for the cursor reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
6680
6891
|
}
|
|
6681
6892
|
}
|
|
6682
6893
|
},
|
|
6683
6894
|
"hermes": {
|
|
6684
6895
|
"id": "hermes",
|
|
6685
6896
|
"role": "runtime",
|
|
6686
|
-
"version": "1.
|
|
6897
|
+
"version": "1.20.0",
|
|
6687
6898
|
"title": "Hermes Agent",
|
|
6688
6899
|
"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
6900
|
"tier": "core",
|
|
@@ -6802,7 +7013,7 @@ const runtimes = {
|
|
|
6802
7013
|
"kilo": {
|
|
6803
7014
|
"id": "kilo",
|
|
6804
7015
|
"role": "runtime",
|
|
6805
|
-
"version": "1.
|
|
7016
|
+
"version": "1.20.0",
|
|
6806
7017
|
"title": "Kilo Code",
|
|
6807
7018
|
"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
7019
|
"tier": "core",
|
|
@@ -6936,7 +7147,7 @@ const runtimes = {
|
|
|
6936
7147
|
"kimi": {
|
|
6937
7148
|
"id": "kimi",
|
|
6938
7149
|
"role": "runtime",
|
|
6939
|
-
"version": "1.
|
|
7150
|
+
"version": "1.20.0",
|
|
6940
7151
|
"title": "Kimi CLI",
|
|
6941
7152
|
"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
7153
|
"tier": "core",
|
|
@@ -7046,7 +7257,7 @@ const runtimes = {
|
|
|
7046
7257
|
"kimi-code": {
|
|
7047
7258
|
"id": "kimi-code",
|
|
7048
7259
|
"role": "runtime",
|
|
7049
|
-
"version": "1.
|
|
7260
|
+
"version": "1.20.0",
|
|
7050
7261
|
"title": "Kimi Code CLI",
|
|
7051
7262
|
"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
7263
|
"tier": "core",
|
|
@@ -7191,6 +7402,8 @@ const runtimes = {
|
|
|
7191
7402
|
"evidenceClass": "source-grounded",
|
|
7192
7403
|
"requiresBinaries": [],
|
|
7193
7404
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.kimi-code",
|
|
7405
|
+
"contextWindowTokens": 262144,
|
|
7406
|
+
"contextWindowConfigKey": "review.context_window_tokens.kimi-code",
|
|
7194
7407
|
"modelConfigKey": "review.models.kimi-code",
|
|
7195
7408
|
"effortConfigKey": null,
|
|
7196
7409
|
"defaultEffort": null,
|
|
@@ -7205,7 +7418,12 @@ const runtimes = {
|
|
|
7205
7418
|
"review.max_prompt_tokens_per_reviewer.kimi-code": {
|
|
7206
7419
|
"type": "number",
|
|
7207
7420
|
"default": -1,
|
|
7208
|
-
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel
|
|
7421
|
+
"description": "Prompt-token budget for the Kimi Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
7422
|
+
},
|
|
7423
|
+
"review.context_window_tokens.kimi-code": {
|
|
7424
|
+
"type": "number",
|
|
7425
|
+
"default": -1,
|
|
7426
|
+
"description": "Context window in tokens used to derive the default prompt cap for the kimi-code reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 262144 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
7209
7427
|
},
|
|
7210
7428
|
"review.timeouts.kimi-code": {
|
|
7211
7429
|
"type": "number",
|
|
@@ -7217,7 +7435,7 @@ const runtimes = {
|
|
|
7217
7435
|
"opencode": {
|
|
7218
7436
|
"id": "opencode",
|
|
7219
7437
|
"role": "runtime",
|
|
7220
|
-
"version": "1.
|
|
7438
|
+
"version": "1.20.0",
|
|
7221
7439
|
"title": "OpenCode",
|
|
7222
7440
|
"description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
|
|
7223
7441
|
"tier": "core",
|
|
@@ -7390,6 +7608,8 @@ const runtimes = {
|
|
|
7390
7608
|
"evidenceClass": "source-grounded",
|
|
7391
7609
|
"requiresBinaries": [],
|
|
7392
7610
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.opencode",
|
|
7611
|
+
"contextWindowTokens": null,
|
|
7612
|
+
"contextWindowConfigKey": "review.context_window_tokens.opencode",
|
|
7393
7613
|
"modelConfigKey": "review.models.opencode",
|
|
7394
7614
|
"effortConfigKey": "review.effort.opencode",
|
|
7395
7615
|
"defaultEffort": "high",
|
|
@@ -7404,7 +7624,12 @@ const runtimes = {
|
|
|
7404
7624
|
"review.max_prompt_tokens_per_reviewer.opencode": {
|
|
7405
7625
|
"type": "number",
|
|
7406
7626
|
"default": -1,
|
|
7407
|
-
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel
|
|
7627
|
+
"description": "Prompt-token budget for the OpenCode reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
7628
|
+
},
|
|
7629
|
+
"review.context_window_tokens.opencode": {
|
|
7630
|
+
"type": "number",
|
|
7631
|
+
"default": -1,
|
|
7632
|
+
"description": "Context window in tokens used to derive the default prompt cap for the opencode reviewer lane at 65% of the window. Unset is -1: use none (no declared window, so no derived cap); 0 disables the derived cap; a positive number overrides the window."
|
|
7408
7633
|
},
|
|
7409
7634
|
"review.timeouts.opencode": {
|
|
7410
7635
|
"type": "number",
|
|
@@ -7421,9 +7646,9 @@ const runtimes = {
|
|
|
7421
7646
|
"pi": {
|
|
7422
7647
|
"id": "pi",
|
|
7423
7648
|
"role": "runtime",
|
|
7424
|
-
"version": "1.
|
|
7649
|
+
"version": "1.20.0",
|
|
7425
7650
|
"title": "pi",
|
|
7426
|
-
"description": "pi (pi.dev) —
|
|
7651
|
+
"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
7652
|
"tier": "core",
|
|
7428
7653
|
"requires": [],
|
|
7429
7654
|
"engines": {
|
|
@@ -7441,8 +7666,48 @@ const runtimes = {
|
|
|
7441
7666
|
"localConfigDir": ".pi",
|
|
7442
7667
|
"configFormat": "none",
|
|
7443
7668
|
"artifactLayout": {
|
|
7444
|
-
"global": [
|
|
7445
|
-
|
|
7669
|
+
"global": [
|
|
7670
|
+
{
|
|
7671
|
+
"kind": "skills",
|
|
7672
|
+
"destSubpath": "skills",
|
|
7673
|
+
"prefix": "gsd-",
|
|
7674
|
+
"nesting": "flat",
|
|
7675
|
+
"recursive": false,
|
|
7676
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
7677
|
+
},
|
|
7678
|
+
{
|
|
7679
|
+
"kind": "agents",
|
|
7680
|
+
"destSubpath": "agents",
|
|
7681
|
+
"prefix": "gsd-",
|
|
7682
|
+
"nesting": "flat",
|
|
7683
|
+
"recursive": false,
|
|
7684
|
+
"excludeSuffixes": [
|
|
7685
|
+
".compact.md"
|
|
7686
|
+
],
|
|
7687
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
7688
|
+
}
|
|
7689
|
+
],
|
|
7690
|
+
"local": [
|
|
7691
|
+
{
|
|
7692
|
+
"kind": "skills",
|
|
7693
|
+
"destSubpath": "skills",
|
|
7694
|
+
"prefix": "gsd-",
|
|
7695
|
+
"nesting": "flat",
|
|
7696
|
+
"recursive": false,
|
|
7697
|
+
"converter": "convertClaudeCommandToPiSkill"
|
|
7698
|
+
},
|
|
7699
|
+
{
|
|
7700
|
+
"kind": "agents",
|
|
7701
|
+
"destSubpath": "agents",
|
|
7702
|
+
"prefix": "gsd-",
|
|
7703
|
+
"nesting": "flat",
|
|
7704
|
+
"recursive": false,
|
|
7705
|
+
"excludeSuffixes": [
|
|
7706
|
+
".compact.md"
|
|
7707
|
+
],
|
|
7708
|
+
"converter": "convertClaudeAgentToPiAgent"
|
|
7709
|
+
}
|
|
7710
|
+
]
|
|
7446
7711
|
},
|
|
7447
7712
|
"triggerPrecedence": [
|
|
7448
7713
|
"skills",
|
|
@@ -7474,8 +7739,8 @@ const runtimes = {
|
|
|
7474
7739
|
"hookBus": "host",
|
|
7475
7740
|
"stateIO": "session-log-append",
|
|
7476
7741
|
"transport": "native-extension",
|
|
7477
|
-
"runtime": "
|
|
7478
|
-
"effortSurface": "
|
|
7742
|
+
"runtime": "node",
|
|
7743
|
+
"effortSurface": "argv"
|
|
7479
7744
|
},
|
|
7480
7745
|
"hostBehaviors": {
|
|
7481
7746
|
"nativePlugin": {
|
|
@@ -7484,6 +7749,7 @@ const runtimes = {
|
|
|
7484
7749
|
"source": "pi/gsd.cjs"
|
|
7485
7750
|
},
|
|
7486
7751
|
"pluginOnlyInstall": true,
|
|
7752
|
+
"contentRewriteProfile": "slash-lookahead-tilde-restore",
|
|
7487
7753
|
"sharedHooksDirName": "gsd-hooks"
|
|
7488
7754
|
}
|
|
7489
7755
|
}
|
|
@@ -7491,7 +7757,7 @@ const runtimes = {
|
|
|
7491
7757
|
"qwen": {
|
|
7492
7758
|
"id": "qwen",
|
|
7493
7759
|
"role": "runtime",
|
|
7494
|
-
"version": "1.
|
|
7760
|
+
"version": "1.20.0",
|
|
7495
7761
|
"title": "Qwen Code",
|
|
7496
7762
|
"description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
|
|
7497
7763
|
"tier": "core",
|
|
@@ -7629,6 +7895,8 @@ const runtimes = {
|
|
|
7629
7895
|
"evidenceClass": "source-grounded",
|
|
7630
7896
|
"requiresBinaries": [],
|
|
7631
7897
|
"promptBudgetKey": "review.max_prompt_tokens_per_reviewer.qwen",
|
|
7898
|
+
"contextWindowTokens": 131072,
|
|
7899
|
+
"contextWindowConfigKey": "review.context_window_tokens.qwen",
|
|
7632
7900
|
"modelConfigKey": null,
|
|
7633
7901
|
"effortConfigKey": null,
|
|
7634
7902
|
"defaultEffort": null,
|
|
@@ -7638,14 +7906,19 @@ const runtimes = {
|
|
|
7638
7906
|
"review.max_prompt_tokens_per_reviewer.qwen": {
|
|
7639
7907
|
"type": "number",
|
|
7640
7908
|
"default": -1,
|
|
7641
|
-
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel
|
|
7909
|
+
"description": "Prompt-token budget for the Qwen Code reviewer lane. Unset is -1, a sentinel that inherits the global cap and then the lane's context-window default; 0 is a legitimate value meaning \"no prompt cap for this lane\", so it cannot double as \"not configured\"."
|
|
7910
|
+
},
|
|
7911
|
+
"review.context_window_tokens.qwen": {
|
|
7912
|
+
"type": "number",
|
|
7913
|
+
"default": -1,
|
|
7914
|
+
"description": "Context window in tokens used to derive the default prompt cap for the qwen reviewer lane at 65% of the window. Unset is -1: use the lane's declared window of 131072 tokens; 0 disables the derived cap; a positive number overrides the window."
|
|
7642
7915
|
}
|
|
7643
7916
|
}
|
|
7644
7917
|
},
|
|
7645
7918
|
"trae": {
|
|
7646
7919
|
"id": "trae",
|
|
7647
7920
|
"role": "runtime",
|
|
7648
|
-
"version": "1.
|
|
7921
|
+
"version": "1.20.0",
|
|
7649
7922
|
"title": "Trae IDE",
|
|
7650
7923
|
"description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
|
|
7651
7924
|
"tier": "core",
|
|
@@ -7744,7 +8017,7 @@ const runtimes = {
|
|
|
7744
8017
|
"vscode": {
|
|
7745
8018
|
"id": "vscode",
|
|
7746
8019
|
"role": "runtime",
|
|
7747
|
-
"version": "1.
|
|
8020
|
+
"version": "1.20.0",
|
|
7748
8021
|
"title": "VS Code",
|
|
7749
8022
|
"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
8023
|
"tier": "core",
|
|
@@ -7802,7 +8075,7 @@ const runtimes = {
|
|
|
7802
8075
|
"windsurf": {
|
|
7803
8076
|
"id": "windsurf",
|
|
7804
8077
|
"role": "runtime",
|
|
7805
|
-
"version": "1.
|
|
8078
|
+
"version": "1.20.0",
|
|
7806
8079
|
"title": "Windsurf",
|
|
7807
8080
|
"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
8081
|
"tier": "core",
|
|
@@ -7895,7 +8168,7 @@ const runtimes = {
|
|
|
7895
8168
|
"zcode": {
|
|
7896
8169
|
"id": "zcode",
|
|
7897
8170
|
"role": "runtime",
|
|
7898
|
-
"version": "1.
|
|
8171
|
+
"version": "1.20.0",
|
|
7899
8172
|
"title": "ZCode",
|
|
7900
8173
|
"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
8174
|
"tier": "core",
|