Skip to content

Fix Antigravity Gemini icon lanes and exhausted bar fill - #1631

Merged
steipete merged 6 commits into
steipete:mainfrom
Zihao-Qi:codex/antigravity-gemini-icon-lanes
Jun 19, 2026
Merged

Fix Antigravity Gemini icon lanes and exhausted bar fill#1631
steipete merged 6 commits into
steipete:mainfrom
Zihao-Qi:codex/antigravity-gemini-icon-lanes

Conversation

@Zihao-Qi

@Zihao-Qi Zihao-Qi commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Show Antigravity Gemini session on the compact icon's top lane and Gemini weekly on the bottom lane.
  • Never borrow a missing Gemini cadence from Claude + GPT quota-summary rows.
  • Use only current quota-summary buckets for compact icon lanes; legacy model-quota snapshots intentionally render unknown.
  • Render fractional values that round to 0% or 100% as fully empty or full.
  • Preserve Warp's real exhausted bonus percentage when its lanes render inside a merged icon.

Review and proof

  • Exact affected Antigravity, Warp, progress, and animation matrix: 27 tests passed.
  • make check: format and lint clean.
  • Original feature whole-branch autoreview: clean, confidence 0.82; exact Warp delta review: clean, confidence 0.83.
  • Latest whole-branch review's only finding requested legacy Antigravity fallback; rejected per the explicit newest quota-summary-only contract.
  • A broader accidental filter ran 4,354 repository tests; 13 unrelated full-suite issues remain outside this patch. Exact affected suites above are green.

Exact candidate: 26eb9d03529982f0856f8ef8f1c74551df8f7c2d

Screenshots

Antigravity compact icon quota lanes Antigravity usage before Antigravity usage after

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6038b529d6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/CodexBar/IconRemainingResolver.swift Outdated
@clawsweeper

clawsweeper Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codex review: needs changes before merge. Reviewed June 19, 2026, 3:29 AM ET / 07:29 UTC.

Summary
The branch maps Antigravity compact icon lanes to current Gemini quota-summary session/weekly buckets, rounds usage-bar edge fills, separates provider lane resolution from merged-icon rendering style, and adds focused tests plus release-note text.

Reproducibility: yes. Source inspection gives a high-confidence path: enable merged icons and highest-usage selection, feed Antigravity quota-summary data with Claude/GPT high and Gemini low, and the provider can be selected by one lane while the icon renders another.

Review metrics: 2 noteworthy metrics.

  • Changed Surface: 7 files, +383/-35. The patch is modest but spans icon resolution, merged status-item rendering, progress-bar drawing, tests, and release-note text.
  • Pending Checks: 4 macOS test shards pending. The remaining macOS Swift test shards should finish before merge even though completed lint, Linux builds, and GitGuardian checks passed.

Merge readiness
Overall: 🦐 gold shrimp
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🦐 gold shrimp
Result: needs maintainer review before merge.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Fix the highest-usage Antigravity merged-icon mismatch and add a focused regression test.
  • [P2] Wait for the pending macOS Swift test shards to finish before merge.

Risk before merge

  • [P1] Merged highest-usage mode can select Antigravity because a Claude/GPT quota-summary bucket is close to its limit, then render low Gemini session/weekly lanes because the PR makes compact Antigravity icons Gemini-focused.
  • [P1] The maintainer-accepted current-quota-only behavior remains compatibility-sensitive for legacy, IDE, or OAuth snapshots because compact icon lanes become unknown when no quota-summary rows are present.
  • [P1] Four macOS Swift test shards were still pending at review time, so final CI signal was not complete.

Maintainer options:

  1. Align Highest-Usage Ranking (recommended)
    Update the highest-usage merged-icon path so Antigravity is ranked by the same Gemini quota-summary session/weekly lanes that the compact icon renders, with a focused regression test for Claude/GPT-high and Gemini-low data.
  2. Accept The Mismatch Explicitly
    Merge only if maintainers intentionally want highest-usage provider switching to consider Claude/GPT quota-summary rows even when the selected Antigravity compact icon renders Gemini lanes.
  3. Pause For Metric Policy
    Hold the PR if maintainers want a broader decision about whether Antigravity menu-bar metrics should represent Gemini-only compact lanes or all Antigravity quota pools.
Copy recommended automerge instruction
@clawsweeper automerge

Special instructions:
Fix the merged highest-usage Antigravity path so provider selection uses the same Gemini quota-summary session/weekly lanes that the compact icon renders, and add a focused test where Claude/GPT is high but Gemini is low.

Next step before merge

  • [P2] A narrow repair can align Antigravity highest-usage provider selection with the lanes rendered by the merged compact icon and add focused coverage.

Security
Cleared: The diff changes Swift UI/resolver logic, tests, and release-note text without adding dependencies, broadening secret access, or changing build/release permissions.

Review findings

  • [P2] Keep highest-usage selection aligned with rendered lanes — Sources/CodexBar/StatusItemController+Animation.swift:256
Review details

Best possible solution:

Keep the maintainer-approved current quota-summary-only Antigravity compact icon contract, but align merged highest-usage provider selection with the same rendered Gemini lanes before merge.

Do we have a high-confidence way to reproduce the issue?

Yes. Source inspection gives a high-confidence path: enable merged icons and highest-usage selection, feed Antigravity quota-summary data with Claude/GPT high and Gemini low, and the provider can be selected by one lane while the icon renders another.

Is this the best way to solve the issue?

No. The quota-summary mapping, Warp fix, and progress-fill rounding are narrow, but the highest-usage merged-icon path still needs to use the same Antigravity lanes it renders or render the selected high-usage lane.

Full review comments:

  • [P2] Keep highest-usage selection aligned with rendered lanes — Sources/CodexBar/StatusItemController+Animation.swift:256
    With menuBarShowsHighestUsage, primaryProviderForUnifiedIcon() still picks the provider using providerWithHighestUsage() and MenuBarMetricWindowResolver, which can rank Antigravity by a high Claude/GPT quota-summary bucket. Passing resolverStyle here then renders only Antigravity's Gemini session/weekly lanes, so the merged icon can switch to Antigravity because Claude/GPT is near its limit while showing low Gemini usage instead; rank by the same lanes rendered here or render the selected high-usage lane.
    Confidence: 0.88

Overall correctness: patch is incorrect
Overall confidence: 0.88

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 5e38f6beb98d.

Label changes

Label justifications:

  • P2: This is a normal-priority provider icon correctness and visual consistency PR with limited blast radius.
  • merge-risk: 🚨 compatibility: The diff changes existing Antigravity compact icon semantics and can make merged highest-usage mode show a different quota lane than the one that selected the provider.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦞 diamond lobster and patch quality is 🦐 gold shrimp.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (screenshot): The PR includes inspected screenshots that directly show the Antigravity menu/icon and before/after progress-bar edge rendering, though they do not cover the remaining highest-usage mismatch.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR includes inspected screenshots that directly show the Antigravity menu/icon and before/after progress-bar edge rendering, though they do not cover the remaining highest-usage mismatch.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The PR includes inspected screenshots that directly show the Antigravity menu/icon and before/after progress-bar edge rendering, though they do not cover the remaining highest-usage mismatch.
Evidence reviewed

Acceptance criteria:

  • [P1] swift test --filter StatusItemAnimationSignatureTests.
  • [P1] swift test --filter UsageStoreHighestUsageTests.
  • [P1] make check.

What I checked:

  • Repository policy read: AGENTS.md was read fully; its provider data siloing, compatibility, focused-test, and no-live-provider-probe guidance applies to this provider/icon review. (AGENTS.md:1, 5e38f6beb98d)
  • PR head renders lanes using provider style: At the latest PR head, merged icon rendering passes resolverStyle into IconRemainingResolver, so a combined icon selected for Antigravity resolves Antigravity-specific lanes before rendering as .combined. (Sources/CodexBar/StatusItemController+Animation.swift:256, 26eb9d035299)
  • PR head makes Antigravity icon lanes Gemini-focused: The resolver now treats Gemini quota-summary rows as the compact-icon contract and does not borrow Claude/GPT rows when Gemini rows exist but a Gemini cadence is missing or unknown. (Sources/CodexBar/IconRemainingResolver.swift:41, 26eb9d035299)
  • Highest-usage ranking still uses any Antigravity quota-summary bucket: The ranking path used by providerWithHighestUsage() still asks MenuBarMetricWindowResolver for the most constrained Antigravity quota-summary window without the Gemini-only compact-icon filter. (Sources/CodexBar/MenuBarMetricWindowResolver.swift:97, 26eb9d035299)
  • Maintainer review context: Owner review comments on the latest head explicitly accepted the current quota-summary-only Antigravity compact icon policy and noted fixes for unknown Gemini rows and Warp merged-icon rendering, so the remaining issue is the later highest-usage mismatch rather than the legacy fallback decision. (26eb9d035299)
  • Screenshot proof inspected: Downloaded proof images are valid PNG screenshots showing the Antigravity compact/menu UI and before/after usage-bar edge rendering; they do not cover the remaining highest-usage merged-mode mismatch.

Likely related people:

  • steipete: Blame ties the current highest-usage, icon resolver, and Antigravity snapshot baseline to the v0.36.1 snapshot, and this branch includes owner-authored follow-up commits for docs, current-quota-only behavior, and Warp merged-icon handling. (role: recent area contributor and branch follow-up author; confidence: high; commits: 06fea2c897cc, a2b01cfe910e, 26eb9d035299; files: Sources/CodexBar/IconRemainingResolver.swift, Sources/CodexBar/MenuBarMetricWindowResolver.swift, Sources/CodexBar/StatusItemController+Animation.swift)
  • Zihao-Qi: Beyond proposing this branch, recent merged work on Scope provider status indicators #1603 touched the status icon/provider status area involved in the merged-icon path. (role: recent status icon contributor; confidence: medium; commits: b9a3cef7ae74, 72f88b308886; files: Sources/CodexBar/StatusItemController+Animation.swift, Sources/CodexBar/IconRenderer.swift, Tests/CodexBarTests/StatusItemAnimationSignatureTests.swift)
  • Yuxin-Qiao: Merged work on Update Antigravity quota UI to sync with backend payload display names #1584 updated Antigravity quota-summary display names and tests in the NamedRateWindow contract consumed by this PR. (role: recent Antigravity quota-summary contributor; confidence: medium; commits: 70f37afcb522; files: Sources/CodexBarCore/Providers/Antigravity/AntigravityStatusProbe.swift, Sources/CodexBar/MenuBarMetricWindowResolver.swift, Tests/CodexBarTests/AntigravityQuotaSummaryTests.swift)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. labels Jun 18, 2026
@Zihao-Qi
Zihao-Qi force-pushed the codex/antigravity-gemini-icon-lanes branch from 6038b52 to 36dcc3a Compare June 18, 2026 16:54
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. labels Jun 18, 2026
@steipete
steipete force-pushed the codex/antigravity-gemini-icon-lanes branch 3 times, most recently from 6fd1bea to c390ec4 Compare June 18, 2026 23:47

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c390ec4e1c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/CodexBar/IconRemainingResolver.swift
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 19, 2026
@steipete
steipete force-pushed the codex/antigravity-gemini-icon-lanes branch from c390ec4 to de2fd3a Compare June 19, 2026 06:35

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: de2fd3a115

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/CodexBar/StatusItemController+Animation.swift
@steipete
steipete force-pushed the codex/antigravity-gemini-icon-lanes branch from de2fd3a to 26eb9d0 Compare June 19, 2026 07:15

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 26eb9d0352

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

IconRemainingResolver.resolvedPercents(
snapshot: $0,
style: style,
style: resolverStyle,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep highest-usage mode on rendered lanes

In merged mode with menuBarShowsHighestUsage, primaryProviderForUnifiedIcon() still chooses Antigravity via providerWithHighestUsage()/MenuBarMetricWindowResolver, which can rank the provider by a high Claude+GPT quota-summary row. Passing the provider style here then renders only Antigravity's Gemini session/weekly lanes, so a provider can be selected because Claude+GPT is near its limit while the merged icon shows low Gemini usage instead of the quota that triggered the switch; please align the ranking with these rendered Gemini lanes or render the selected high-usage lane in this mode.

Useful? React with 👍 / 👎.

@steipete

Copy link
Copy Markdown
Owner

Exact-head maintainer proof for 26eb9d03529982f0856f8ef8f1c74551df8f7c2d:

  • Hosted CI passed all four macOS shards, Linux x64/arm64 builds and tests, lint, aggregate gating, and security checks.
  • 27 affected Antigravity, Warp, progress, and animation tests passed after the final current-main rebase.
  • make check passed with no format, lint, package, parser, release-guard, or locale findings.
  • Original feature whole-branch autoreview was clean, confidence 0.82; the exact added Warp delta review was clean, confidence 0.83.
  • Compact icon lanes use only the newest quota-summary format: Gemini session on top and Gemini weekly below. Legacy model-quota snapshots intentionally render unknown rather than borrowing unrelated Claude + GPT lanes.
  • Merged Warp icons keep the real fully-used bonus percentage while standalone Warp rendering retains its layout sentinel.
  • Attached before/after screenshots verify the compact icon lane mapping and exhausted bar fill.

Ready to land.

@steipete
steipete merged commit 7398a9f into steipete:main Jun 19, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants