Promptą sugeneravo, po kapotu sub-agentui (pirmą kart paskaičiau) :D
▎ Using Opus 4.8 (from .claude/settings.json) · /model
❯ You are a senior platform engineer in MPRO (/home/darius/MPRO), running as root. CLEAN context. USER DIRECTIVE 2026-06-29 (authoritative): "remove gemini, leave only antigravity in naming." Execute the gemini->antigravity naming retirement SAFELY, REVERSIBLY, proving each step. Caveman-full output. SUPREME values: satya (verify each change; never claim done unproven), ahimsa (REVERSIBLE via git/systemctl; NEVER restart the PM2 daemon; NEVER reboot; never break a working route). ASCII-only in code. No backticks in any git commit -m (they run as bash substitution). Use MPRO_SCOPE_GATE_BYPASS=1 for commits.
CONTEXT (grounded, do not re-discover):
- The NEW antigravity bridge is LIVE: tools/autonomous/antigravity-bridge.js + systemd unit mpro-antigravity.service (active, enabled, 0 restarts). It is the agy task runner that REPLACES gemini. It accepts recipients {gemini, antigravity, agy, ag} and polls the postbox + DB queue.
- The DEPRECATED gemini bridge = tools/autonomous/gemini-bridge-launcher.js, running as TWO live PM2 node processes: PID 1250733 (user darius) + PID 2971074 (user root), PM2 app name GeminiBridge. They already route gemini->agy and DUPLICATE the new bridge (race + double-process risk). They must become single-owner = mpro-antigravity.
- agy is currently QUOTA-BLOCKED (RESOURCE_EXHAUSTED 429, resets ~114h) so you canNOT get a live agy answer now - prove route COVERAGE structurally (the bridge queries the right recipients), not via a live model answer.
- PM2 is WEDGED (pm2 restart/delete can no-op - always verify). The PM2 healer resurrects entries from core/ecosystem.config.js - so RENAME the ecosystem entry BEFORE stopping the processes (no GeminiBridge entry left to resurrect).
- Host is RAM-starved (swap full) - stopping the 2 duplicate launchers REDUCES load (good). Keep changes lean.
DO NOT TOUCH: docs/_archive/ (frozen history), historical docs/reports, tools/eidos/win-leftover-baseline.json, the hooks, tools/safety/, the kimi/grok review layer, or the other bridges' code. If you must edit a C51/protected file (core/ecosystem.config.js), it is USER-AUTHORIZED for this rename - proceed carefully + reversibly; record an integrity note if a guard demands it.
EXECUTE IN TIERS (prove + commit each; revert the tier if it breaks):
TIER A - remove dead Windows-only gemini helpers (verify-then-remove, zero runtime risk):
Files: tools/autonomous/ask-gemini.ps1, gemini-activity-monitor.ps1, gemini-ide-active.ps1, gemini-ide-idle.ps1, gemini-status.ps1, gemini-switch-account.ps1, restart-gemini-bridge.ps1, restart-gemini.ps1, find-gemini-monitors.ps1, gemini-health-state.json, gemini-bridge.ps1.
For EACH: grep -rIl the filename across the repo (exclude node_modules/.git/_archive) to confirm no LIVE .js/.json caller depends on it (.ps1 cannot run on this Linux box). Then git rm it. If something LIVE references one, keep it + report instead.
TIER B - rename config naming gemini->antigravity (reversible, PM2 wedged = no live churn):
1. core/ecosystem.config.js: the GeminiBridge entry (~line 438, comment "Antigravity CTO Agent"): rename name 'GeminiBridge'->'AntigravityBridge', script 'gemini-bridge-launcher.js'->'antigravity-bridge.js', and the log file paths gemini-bridge-*.log->antigravity-bridge-*.log. Keep it otherwise intact. (User-authorized C51 edit.)
2. config/service-registry.json + config/dependency-graph.json: repoint gemini-bridge-launcher -> antigravity-bridge (and GeminiBridge->AntigravityBridge naming) where they describe THIS service. Do not break JSON.
Verify: node -e "require('./core/ecosystem.config.js')" loads clean; JSON.parse both config files clean.
TIER C - single-owner cutover (stop the duplicate launchers AFTER the rename):
1. FIRST verify the new mpro-antigravity bridge covers the gemini DB route: read tools/autonomous/antigravity-bridge.js (sed/grep, do NOT full-Read) - confirm it queries pending tasks for recipient 'gemini' (the canonical token create-agent-task normalizes antigravity/ag->gemini to) in BOTH postbox and DB queue. If it does NOT query 'gemini' in the DB path, ADD 'gemini' to its recipient query so no gemini-addressed task is orphaned (small, reversible edit; run its test: node node_modules/jest-cli/bin/jest.js tools/autonomous/antigravity-bridge.test.js --no-coverage --forceExit must stay green; add a test if you change routing).
2. THEN stop the two launchers: pm2 stop GeminiBridge (verify it actually stopped - check restart_time/status; pm2 may no-op). If pm2 stop no-ops, kill the child PIDs directly: kill 1250733 2971074 (these are the launcher children, NOT the PM2 daemon - allowed). Confirm both PIDs gone (ps). Confirm mpro-antigravity is still active and is now the sole consumer.
3. THEN git rm tools/autonomous/gemini-bridge-launcher.js (now that nothing runs it + ecosystem points at antigravity-bridge.js). Verify no LIVE .js requires it first.
REVERT path if a route breaks: git checkout the files + pm2 start GeminiBridge (or node gemini-bridge-launcher.js).
TIER D - first-class antigravity naming + monitor cleanup:
1. tools/autonomous/lib/create-agent-task.js: add 'antigravity' to VALID_AGENTS as a first-class accepted recipient (so a task to 'antigravity' no longer warns/normalizes-as-an-alias). Keep 'gemini' working (back-compat). Run any create-agent-task test green.
2. tools/autonomous/antigravity-monitor.js: replace gemini naming (STATUS_FILE 'gemini-ide-status.json'->'antigravity-ide-status.json', agent:'gemini'->'antigravity', instance_id 'gemini_ide'->'antigravity_ide') AND fix the Windows backslash path bug on ~line 30 (the path uses literal backslashes '/home/darius/MPRO\\tools\\autonomous\\...' - make it a proper POSIX path via path.join(__dirname, ...)). node -c it.
AFTER all tiers:
- Commit each tier (or a clean batched commit per tier) with conventional messages (no backticks; end body with a line: Co-Authored-By: Claude Opus 4.8 <[el. paštas paslėptas]>). Capture each commit short hash (git rev-parse --short HEAD).
- Update the ledger: node -e "const t=require('./tools/eidos/task-ledger.js');let L=t.loadLedger();L=t.setStatus(L,'GEMINI-RETIRE-NAMING','verified','<what was removed/renamed + commit hashes + single-owner proof>');t.saveLedger(L)".
- Write a summary to /home/darius/MPRO/.tmp/gemini-retire-done.json.
FINAL MESSAGE = data: per tier - exactly what files were removed/renamed (with the verify-then-remove caller-grep evidence), the ecosystem/service-registry/dependency-graph edits, the single-owner cutover proof (old PIDs gone + mpro-antigravity still active + route-coverage confirmed), the create-agent-task + monitor edits, every commit hash, and the ledger status. Flag anything you could NOT safely remove (kept + why). Satya: do not claim a file removed or a route covered without the grep/ps/test proof.