You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out from #929 (which ships codex-only architect support). The Gemini CLI is retired 2026-06-18 (#778); its successor is Google's Antigravity CLI (agy), already used by Codev's consult lane. This issue tracks bringing agy to parity with claude/codex as a Codev architect.
Why it was deferred (the hard part)
agy has no system-prompt / model-instructions channel for injecting the architect role out-of-band, unlike the other harnesses:
claude --append-system-prompt, codex -c model_instructions_file=, gemini (retired) GEMINI_SYSTEM_MD.
agy's only per-session channel is --prompt-interactive "<role>", which puts the architect role in the first user turn — visible (agy "answers" it) and weaker / less durable than a system prompt over a long session.
Other channels are unsuitable: the workspace AGENTS.md clobbers the committed file; the global ~/.gemini customizations root pollutes every agy session and races across architects.
Shipping a degraded architect was judged worse than none, so 929 went codex-only and this was split out. Validating role-holding quality is the crux of this issue.
agy binary resolution already solved for consult: resolveAgyBin() / isRealAgyCli() / agyRespondsToVersion() in packages/codev/src/commands/consult/index.ts (guards against launching the Antigravity IDE launcher symlink instead of the headless CLI). Extract to a shared module and reuse.
agy reads AGENTS.md natively (codex-like) — so no context/settings file is needed for project context; only the architect role needs a channel.
Role injection via the first-turn prompt (no system-prompt flag). Empirically validate role-holding — if poor, investigate framing the role as config, or wait for agy to add a system-prompt mechanism.
Binary resolution via the extracted resolveAgyBin guard.
Resume deferred: buildResume → null (fresh launch). agy supports --continue / --conversation for a later resume-parity pass.
resolveBinary? seam on HarnessProvider, applied at all architect executable-determination sites (no-Tower architect.ts, main + sibling launch in tower-instances.ts, reconnect / auto-restart in tower-terminals.ts).
afx architect (no-Tower), afx workspace start (clean + stale-Claude-.jsonl-present → no crash-loop, no --resume), and afx workspace add-architect all launch the real agy CLI (not the IDE) with the role applied.
afx send single-line / multi-line (>3) / --interrupt / while-streaming deliver on agy's TUI (add a per-harness submit strategy if flaky).
Follow-up from #929 / #1059
Split out from #929 (which ships codex-only architect support). The Gemini CLI is retired 2026-06-18 (#778); its successor is Google's Antigravity CLI (
agy), already used by Codev'sconsultlane. This issue tracks bringingagyto parity withclaude/codexas a Codev architect.Why it was deferred (the hard part)
agy has no system-prompt / model-instructions channel for injecting the architect role out-of-band, unlike the other harnesses:
--append-system-prompt, codex-c model_instructions_file=, gemini (retired)GEMINI_SYSTEM_MD.--prompt-interactive "<role>", which puts the architect role in the first user turn — visible (agy "answers" it) and weaker / less durable than a system prompt over a long session.AGENTS.mdclobbers the committed file; the global~/.geminicustomizations root pollutes every agy session and races across architects.Shipping a degraded architect was judged worse than none, so 929 went codex-only and this was split out. Validating role-holding quality is the crux of this issue.
What's already in place (reuse, don't rebuild)
HarnessProvider,agent-farm/utils/harness.ts) including the engine-neutralbuildResumecrash-loop fix from Support codex and gemini CLIs as architects (PIR #929) #1059 — a newAGY_HARNESSplugs in here.resolveAgyBin()/isRealAgyCli()/agyRespondsToVersion()inpackages/codev/src/commands/consult/index.ts(guards against launching the Antigravity IDE launcher symlink instead of the headless CLI). Extract to a shared module and reuse.AGENTS.mdnatively (codex-like) — so no context/settings file is needed for project context; only the architect role needs a channel.Scope (MVP)
AGY_HARNESS(keyedagy) selectable via.codev/config.json(shell.architect: "agy …"/shell.architectHarness: "agy").agy --dangerously-skip-permissions --prompt-interactive "<role>".resolveAgyBinguard.buildResume→ null (fresh launch). agy supports--continue/--conversationfor a later resume-parity pass.resolveBinary?seam onHarnessProvider, applied at all architect executable-determination sites (no-Towerarchitect.ts, main + sibling launch intower-instances.ts, reconnect / auto-restart intower-terminals.ts).doctoraffirms agy as a supported architect.resolveBinarysubstitution incl. the reconnect path, harness detection.arch.mdarchitect-harness subsection.Acceptance criteria
afx architect(no-Tower),afx workspace start(clean + stale-Claude-.jsonl-present → no crash-loop, no--resume), andafx workspace add-architectall launch the real agy CLI (not the IDE) with the role applied.afx sendsingle-line / multi-line (>3) /--interrupt/ while-streaming deliver on agy's TUI (add a per-harness submit strategy if flaky).CODEV_ARCHITECT_NAMEaffinity.Recommended protocol
PIR — needs running-app validation of role-injection quality at the
dev-approvalgate (the reason this was split out).References
codexas an architect #929 — codex-only architect support (this is the deferred agy half)codexas an architect #929 (harness seam + crash-loop fix to build on)