Context
The Fleet onboarding audit for #15048 exposed a stale harness boundary. Neo still tracks .gemini/settings.template.json, but that file began as a Gemini CLI workspace MCP configuration in October 2025. Google transitioned consumer Gemini CLI to Antigravity CLI and stopped serving Google AI Pro/Ultra/free consumer requests on 2026-06-18 (Google's announcement); enterprise/API-key access remains a separate supported path.
A read-only audit of installed Antigravity 2.2.1 found the current Desktop authority at ~/.gemini/config/mcp_config.json. The old ~/.gemini/antigravity/mcp_config.json is a compatibility symlink, ~/.gemini/antigravity-ide/mcp_config.json is stale pre-migration state, and --user-data-dir isolates Electron UI data—not the language-server/config root. Google's current Antigravity codelab independently names ~/.gemini/config/mcp_config.json (MCP section).
The Problem
Active repository substrate still teaches or enforces the retired Gemini CLI workspace shape:
.gemini/settings.template.json contains MCP server definitions and names GEMINI.md;
.gitignore and .npmignore explicitly re-include that template;
AGENTS_STARTUP.md tells both Gemini CLI and Antigravity to load context through the retired template;
check-identity-facts.mjs requires it as a machine-facing identity surface;
StdioIdentityResolver.mjs says Gemini identity arrives through .gemini/settings.json;
- the
debugging-antigravity skill treats workspace .gemini/settings.json and an old global path as the Antigravity configuration model;
- active tooling docs mix Gemini CLI and Antigravity paths.
This is not harmless archaeology. It already caused a new Fleet ticket to prescribe the wrong Antigravity bootstrap until the operator corrected it. A future maintainer can repeat the same mistake because the stale file and skill present themselves as current authority.
The Architectural Reality
- The
.gemini/ directory itself remains valid for Antigravity concepts/artifacts; only the workspace settings template is retired.
- Antigravity Desktop's current global MCP authority is version/product-specific. The installed 2.2.1 bundle uses a home-relative Gemini root and
config/mcp_config.json; --user-data-dir does not relocate it.
- Antigravity CLI and Desktop may expose different config paths. Active docs must name the product/version boundary or point to a resolver/probe; one historical path cannot be declared universal.
- Historical blog posts, release notes, and archived examples may retain “Gemini CLI” as history. Active instructions/config/diagnostics may not present it as Neo's current consumer harness.
#15048 owns per-resident Antigravity config-root isolation. This ticket removes stale substrate; it does not invent the Fleet adapter.
The Fix
- Delete
.gemini/settings.template.json and its .gitignore re-include rule.
- Remove the template from
check-identity-facts.mjs; preserve the real current Antigravity fact surfaces instead of replacing it with another machine-local file.
- Correct
StdioIdentityResolver.mjs documentation so Antigravity identity is attributed to its MCP process environment/global config, not a Gemini workspace settings file.
- Rewrite the active
debugging-antigravity skill around Antigravity 2.x evidence:
- current global MCP authority;
--user-data-dir isolates UI state only;
- compatibility/stale path distinctions;
- no unproven workspace-settings or twin-language-server claim.
- Correct
AGENTS_STARTUP.md to the current Antigravity context-loading contract, independent of the retired template.
- Refresh
.gemini/concepts/worktree-bootstrap.md: it currently names the removed ai/scripts/bootstrapWorktree.mjs path, parent-directory symlinking, and obsolete --install / --build-all flags. Preserve the concept only with the current granular bootstrap contract.
- Sweep active tooling documentation and examples. Separate current Antigravity Desktop/CLI guidance from historical/enterprise Gemini CLI; remove instructions that tell current users to edit
.gemini/settings.json.
- Add a retired-primitive guard covering active config/skill/tooling surfaces so the workspace MCP path cannot silently return.
Contract Ledger
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
.gemini/settings.template.json |
git history + Google product transition |
removed; never used for Antigravity onboarding |
none |
active docs point to current product contracts |
absence guard |
| Antigravity Desktop MCP path |
installed bundle + current Google codelab |
describe current global ~/.gemini/config/mcp_config.json and version/probe caveat |
fail as unknown after product drift; never guess workspace config |
debugging skill + tooling docs |
bundle strings/path migration audit |
| identity-env docs |
StdioIdentityResolver transport contract |
identity arrives through the spawned MCP environment |
missing identity still fails closed |
source JSDoc |
comment/contract lint |
| retired-surface guard |
active config/docs/skills inventory |
reject reintroduction of current Antigravity → .gemini/settings.json guidance |
historical/archived prose excluded |
guard JSDoc |
positive + negative fixtures |
Decision Record impact
aligned-with ADR 0018's machine-facing fact-coherence discipline and ADR 0020's external-harness reality. No ADR amendment is required.
Acceptance Criteria
Out of Scope
Deleting the entire .gemini/ directory · rewriting historical blog/release archaeology · enterprise Gemini CLI support · implementing the per-resident Antigravity Fleet adapter (#15048) · changing Antigravity itself.
Avoided Traps
- Do not replace one hardcoded stale Antigravity path with another universal claim.
- Do not delete Antigravity concepts/artifact ingestion with the workspace template.
- Do not preserve incorrect active docs merely because Gemini CLI still exists for enterprise/API-key users.
- Do not carry the unverified twin-language-server explanation forward without a current reproducer.
Related
Fleet bootstrap #15048 · Fleet launch coverage #14972 · prior Antigravity hardening #10195 · identity fact coherence #12244.
Origin Session ID: de713f27-0e82-4960-b4c6-f281e0c36449
Retrieval Hint: query_raw_memories("Gemini CLI retired workspace settings Antigravity 2.2.1 config mcp_config")
Context
The Fleet onboarding audit for
#15048exposed a stale harness boundary. Neo still tracks.gemini/settings.template.json, but that file began as a Gemini CLI workspace MCP configuration in October 2025. Google transitioned consumer Gemini CLI to Antigravity CLI and stopped serving Google AI Pro/Ultra/free consumer requests on 2026-06-18 (Google's announcement); enterprise/API-key access remains a separate supported path.A read-only audit of installed Antigravity 2.2.1 found the current Desktop authority at
~/.gemini/config/mcp_config.json. The old~/.gemini/antigravity/mcp_config.jsonis a compatibility symlink,~/.gemini/antigravity-ide/mcp_config.jsonis stale pre-migration state, and--user-data-dirisolates Electron UI data—not the language-server/config root. Google's current Antigravity codelab independently names~/.gemini/config/mcp_config.json(MCP section).The Problem
Active repository substrate still teaches or enforces the retired Gemini CLI workspace shape:
.gemini/settings.template.jsoncontains MCP server definitions and namesGEMINI.md;.gitignoreand.npmignoreexplicitly re-include that template;AGENTS_STARTUP.mdtells both Gemini CLI and Antigravity to load context through the retired template;check-identity-facts.mjsrequires it as a machine-facing identity surface;StdioIdentityResolver.mjssays Gemini identity arrives through.gemini/settings.json;debugging-antigravityskill treats workspace.gemini/settings.jsonand an old global path as the Antigravity configuration model;This is not harmless archaeology. It already caused a new Fleet ticket to prescribe the wrong Antigravity bootstrap until the operator corrected it. A future maintainer can repeat the same mistake because the stale file and skill present themselves as current authority.
The Architectural Reality
.gemini/directory itself remains valid for Antigravity concepts/artifacts; only the workspace settings template is retired.config/mcp_config.json;--user-data-dirdoes not relocate it.#15048owns per-resident Antigravity config-root isolation. This ticket removes stale substrate; it does not invent the Fleet adapter.The Fix
.gemini/settings.template.jsonand its.gitignorere-include rule.check-identity-facts.mjs; preserve the real current Antigravity fact surfaces instead of replacing it with another machine-local file.StdioIdentityResolver.mjsdocumentation so Antigravity identity is attributed to its MCP process environment/global config, not a Gemini workspace settings file.debugging-antigravityskill around Antigravity 2.x evidence:--user-data-dirisolates UI state only;AGENTS_STARTUP.mdto the current Antigravity context-loading contract, independent of the retired template..gemini/concepts/worktree-bootstrap.md: it currently names the removedai/scripts/bootstrapWorktree.mjspath, parent-directory symlinking, and obsolete--install/--build-allflags. Preserve the concept only with the current granular bootstrap contract..gemini/settings.json.Contract Ledger
.gemini/settings.template.json~/.gemini/config/mcp_config.jsonand version/probe caveatStdioIdentityResolvertransport contract.gemini/settings.jsonguidanceDecision Record impact
aligned-with ADR 0018's machine-facing fact-coherence discipline and ADR 0020's external-harness reality. No ADR amendment is required.
Acceptance Criteria
.gemini/settings.template.jsonplus its.gitignoreand.npmignoreexceptions are removed..gemini/settings.jsonfor Antigravity.AGENTS_STARTUP.mdnames the current Antigravity context-loading mechanism without the retired template..gemini/concepts/worktree-bootstrap.mdmatches the currentai/scripts/migrations/bootstrapWorktree.mjsgranular-link contract and supported flags, or is removed if Antigravity 2.x no longer consumes it.check-identity-facts.mjsno longer treats the retired template as a current fact surface.StdioIdentityResolver.mjsdescribes the current Antigravity identity/config boundary.debugging-antigravityskill contains only re-proven Antigravity 2.x claims and names--user-data-diras UI-profile-only..gemini/settings.jsonpath.git diff --checkpass.Out of Scope
Deleting the entire
.gemini/directory · rewriting historical blog/release archaeology · enterprise Gemini CLI support · implementing the per-resident Antigravity Fleet adapter (#15048) · changing Antigravity itself.Avoided Traps
Related
Fleet bootstrap
#15048· Fleet launch coverage#14972· prior Antigravity hardening#10195· identity fact coherence#12244.Origin Session ID: de713f27-0e82-4960-b4c6-f281e0c36449
Retrieval Hint:
query_raw_memories("Gemini CLI retired workspace settings Antigravity 2.2.1 config mcp_config")