Conversation
Treat an unusable ANTIGRAVITY_CLI_PATH as authoritative so background refreshes cannot discover and launch a different agy. Preserve other providers' lookup behavior and simplify the final optional fallback. Adopt the scoped override fix from #3689, with synthetic red-to-green regressions, documentation, and the 0.64.1 release note. Document current CLI-only quota behavior separately from desktop-free OAuth setup (#3146). Co-authored-by: hhh2210 <hzy2210@gmail.com>
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed September 22, 2026, 1:32 AM ET / 05:32 UTC. ClawSweeper reviewWhat this changesThe branch makes explicit Antigravity CLI paths authoritative, adds resolver regression coverage, and clarifies CLI discovery and OAuth login documentation. Merge readiness✅ Ready for maintainer review The scoped fix remains useful: current main and v0.64.0 still allow invalid overrides to fall through. No actionable patch defect was found, and the owner explicitly adopts the documented compatibility change. Priority: P2 Review scores
Verification
How this fits togetherCodexBar resolves the Antigravity executable before fetching usage through an existing local CLI server or launching a CLI process. Environment overrides and automatic discovery determine which executable that refresh can use. flowchart TD
A[Usage refresh] --> B{Explicit CLI path set?}
B -->|Yes| C{Executable usable?}
C -->|No| D[Skip CLI source]
C -->|Yes| F[Fetch CLI quota]
B -->|No| E[Automatic executable discovery]
E --> F
F --> G[Usage result]
Before mergeNone. Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Retain the narrowly scoped authoritative override guard, its recovery guidance, and the existing account and executable-identity protections. Do we have a high-confidence way to reproduce the issue? Yes, from source: on pinned main, an invalid explicit path plus an available ambient agy reaches fallback discovery. The new regression fixtures model that path; this read-only review did not execute it. Is this the best way to solve the issue? Yes. The provider-specific early return implements the owner's chosen override contract without changing other providers or duplicating the shared discovery pipeline. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against b99a91694d78. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
Treat an unusable ANTIGRAVITY_CLI_PATH as authoritative so background refreshes cannot discover and launch a different agy. Preserve other providers' lookup behavior and simplify the final optional fallback. Adopt the scoped override fix from #3689, with synthetic red-to-green regressions, documentation, and the 0.64.1 release note. Document current CLI-only quota behavior separately from desktop-free OAuth setup (#3146). Co-authored-by: hhh2210 <hzy2210@gmail.com> (cherry picked from commit b275fcd)
Treat an unusable ANTIGRAVITY_CLI_PATH as authoritative so background refreshes cannot discover and launch a different agy. Preserve other providers' lookup behavior and simplify the final optional fallback. Adopt the scoped override fix from #3689, with synthetic red-to-green regressions, documentation, and the 0.64.1 release note. Document current CLI-only quota behavior separately from desktop-free OAuth setup (#3146). Co-authored-by: hhh2210 <hzy2210@gmail.com> (cherry picked from commit b275fcd)
An unusable
ANTIGRAVITY_CLI_PATHcould fall through to anotheragyand launch it during a background refresh. Antigravity now treats any explicitly set override as authoritative: an empty, missing, or non-executable target stops CLI discovery. Unsetting the variable restores normal discovery; other providers retain their existing behavior.Adopts the override fix and resolver coverage from @hhh2210's #3689. The shared resolver's final optional return is simplified without changing behavior, keeping production code net negative. Documentation separates CLI-only quota refresh from Add Account's OAuth-client requirement. The broader diagnostic-category change from #3689 is not adopted, and saved-account credential staging remains unresolved.
Verification
CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --jobs 2 --filter AntigravityBinaryLocatorTests— 3 tests, 4 failed assertions across all invalid-override cases; both positive-control tests passed.CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --jobs 2 --filter 'Antigravity|PathBuilderTests|ArkcliBinaryLocatorTests|KiroBinaryLocatorTests|ProviderArchitectureGatekeeperTests'—572 tests in 45 suites passed; portable target:18 tests in 3 suites passed; 2 opt-in screenshot tests skipped, 0 failures. Includes the override regression, fallback controls, Antigravity warm/account guards, and architecture gatekeeper.make check— passed;Found 0 violations, 0 serious in 2548 files.git diff --check— passed.Synthetic fixtures only; no live accounts, browser cookies, Keychain reads, or running app relaunches. Full sharded tests were excluded for the shared triage host.
Production:
1 file changed, 8 insertions(+), 9 deletions(-)(net -1). Tests:2 files changed, 114 insertions(+), 1 deletion(-)(net +113).Closes #3689
Refs #3780
Refs #3662
Refs #3146