bin/install.js and the SDK already treat Antigravity as a distinct runtime with config dir ~/.gemini/antigravity, env var ANTIGRAVITY_CONFIG_DIR, and CLI flag --antigravity. get-shit-done/workflows/update.md did not — so /gsd-update invoked from an Antigravity install classified the runtime as base Gemini, because: - RUNTIME_DIRS listed "gemini:.gemini" with no antigravity entry, so the scan matched ~/.gemini before ever looking for ~/.gemini/antigravity. - The PREFERRED_RUNTIME env-var ladder checked GEMINI_CONFIG_DIR but not ANTIGRAVITY_CONFIG_DIR. - The local-scope scan loops at lines 101 and 590 listed .gemini with no .gemini/antigravity sibling. - The ENV_RUNTIME_DIRS append block ignored ANTIGRAVITY_CONFIG_DIR. - The path-to-runtime classification bullets only mapped /.gemini/ -> gemini, with no /.gemini/antigravity/ -> antigravity branch. Every list is now updated so the more-specific antigravity entry precedes the base gemini entry, matching the installer at bin/install.js (lines 396-404, 1745-1749, 6175, 6475). tests/bug-3608-antigravity-update-runtime-classification.test.cjs is the structural regression guard. It parses the RUNTIME_DIRS bash array out of update.md and asserts the antigravity entry is present and ordered before gemini, asserts the env-var ladder checks ANTIGRAVITY_CONFIG_DIR before GEMINI_CONFIG_DIR, asserts every `for dir in ...` scan loop that mentions .gemini also lists .gemini/antigravity ordered before it, and asserts the path-classification prose bullet lists antigravity before gemini. Per CONTRIBUTING.md: the test uses readFileSync on a .md file annotated `// allow-test-rule: source-text-is-the-product` because the bash blocks inside update.md ARE the deployed program — the agent loads update.md and runs them as-written. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
714 B
714 B
type, issue
| type | issue |
|---|---|
| Fixed | 3608 |
/gsd-update invoked from Antigravity now resolves the correct runtime instead of collapsing into base Gemini — get-shit-done/workflows/update.md now models antigravity as a first-class runtime everywhere it lists candidate dirs / env vars / classification rules. RUNTIME_DIRS, the PREFERRED_RUNTIME env-var ladder, the local-scope scan loops, the ENV_RUNTIME_DIRS env push, and the path-to-runtime classification bullets all list antigravity:.gemini/antigravity (and ANTIGRAVITY_CONFIG_DIR) before the base Gemini entry so the more-specific match wins. Adds tests/bug-3608-antigravity-update-runtime-classification.test.cjs as a structural regression guard.