v0.9.0 — Gemini-CLI host removal (host-scope reduction)
Minor — host-scope reduction. Drops standalone Gemini CLI from supported hosts. Keeps Claude Code + Antigravity (Gemini-in-Antigravity is a different surface — IDE-level integration, not standalone CLI). Triggered by ROADMAP item #15. Paired with agentic-harness v2.4.0 (doc-only on the harness side).
Why this shape
In practice the operator (one person) runs Claude Code + Antigravity. Standalone Gemini CLI was added defensively in v0.1.0 but never grew into the workflow; the Gemini usage that does happen lives inside Antigravity's IDE-level integration. Plan #7a part 1 (memory skill scaffold, shipped 2026-05-16) was the first new skill that opted out of the three-host scope from day 1; v0.9.0 sweeps the rest of the toolkit to match.
Decision rationale + 4 load-bearing assumptions with re-audit triggers in the new ADR 0006 — Gemini CLI host removal. ADRs 0001 + 0002 also get amendments (preserve original text + audit trail per the convention established by ADR 0004's 2026-05-16 external-review-handoff amendment).
What's new
Added
- ADR 0006 — full host-scope-reduction rationale (1652 words). 4 load-bearing assumptions with re-audit triggers (Antigravity covers Gemini use cases; operators distinguish toolkit-managed vs unmanaged; backup-not-hard-delete pattern; Gemini-CLI successor doesn't ship within ~6 months).
- Legacy
.agents/skills/+.gemini/agents/auto-cleanup primitive ininstall.sh+install.ps1. Detects pre-existing toolkit-managed legacy entries; prompts operator with N default; on opt-in moves (not hard-deletes) to timestamped backups per the pre-push hook backup convention. Non-interactive stdin auto-defaults to N. New--no-legacy-cleanup/-NoLegacyCleanupflag for CI / scripted installs. - Validator
REMOVED_HOSTSdict — actionable error message pointing operators at the v0.9.0 CHANGELOG when a manifest still listsgemini-cli.require_supported_hosts()surfaces removed-host errors before unknown-host errors. - Smoke install negative-existence assertions —
.agents/+.gemini/MUST NOT exist after install. Two new automated tests:--no-legacy-cleanupflag suppression + validator-rejects-gemini-cli with v0.9.0 message. - ADR amendments: 0001 + 0002 — preserve original text + audit trail.
- MemoryVault parent design Document History row 8 noting the fleet-wide sweep is done.
Changed
- Every customization manifest now ships with
supported_hosts: [claude-code, antigravity]: 4 skills + 1 agent + 1 bundle + AGENTS.md schema example. - Validator
HOST_ENUMtightened:{claude-code, antigravity, gemini-cli}→{claude-code, antigravity}. - Installer dispatch arms in
install_skill/install_hook/install_agentdropped thegemini-clicase-arms. Per-Host-Paths.mdQuick Reference table dropped the 3rd column.- All reference + how-to + tutorial + ADR + MemoryVault design docs swept (~12 wiki files).
README.mdmermaid diagram dropped.agents/skills/box; version bumpedv0.8.1 → v0.9.0.
Removed
- Standalone Gemini CLI host support entirely.
.agents/skills/+.gemini/agents/install destinations.
Internal
- First dogfood-driven host-scope reduction in toolkit history. 7-task plan, 5 toolkit commits (
e1b477e+5af1a59+b216043+13109fa+7a4162f+ this CHANGELOG commit03d404d). - Defense-in-depth against regressions: validator's REMOVED_HOSTS dict catches manifest re-additions; smoke-install negative-existence assertions catch installer dispatch re-additions; new test catches flag-plumbing regressions.
- Operators with pre-v0.9.0 installs see the interactive cleanup prompt at next install. Backup directories accumulate at
.agents/skills.agent-toolkit-bak.<ts>/if operator opts in repeatedly; GC recipe documented in ADR 0006 + Installer CLI reference.
Migration
If you have a pre-v0.9.0 install:
- Run
bash install.sh <target-project>. The legacy-cleanup prompt fires if.agents/skills/<known-name>/or.gemini/agents/<known-name>.mdexist from a prior install. - Opt in (Y) to move legacy paths to timestamped backups.
- Or pass
--no-legacy-cleanupto suppress entirely; manually delete viarm -rf .agents/skills/(and.gemini/agents/) when you're ready.