Skip to content

fix(antigravity): humanize raw model id labels and add localization fallback - #1580

Merged
steipete merged 1 commit into
steipete:mainfrom
bcharleson:feat/antigravity-humanize-model-labels
Jun 18, 2026
Merged

fix(antigravity): humanize raw model id labels and add localization fallback#1580
steipete merged 1 commit into
steipete:mainfrom
bcharleson:feat/antigravity-humanize-model-labels

Conversation

@bcharleson

@bcharleson bcharleson commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Antigravity quota responses can expose raw model identifiers as display labels. This change humanizes generated labels while preserving custom server-provided labels.

  • Convert hyphenated identifiers into readable title case.
  • Preserve dotted versions and combine consecutive single-digit version components.
  • Preserve known acronyms such as GPT, AI, API, and OSS.
  • Leave custom labels unchanged.
  • Keep empty identifiers empty.
  • Apply generated labels only when the server label is empty or matches the raw identifier.
  • Add changelog credit for @bcharleson.

The original unrelated localization fallback was removed. Compatibility targets the current Antigravity response shape only.

Public model gate

Test fixtures use publicly documented Google model identifiers such as gemini-3-pro-preview and gemini-2.5-flash. No unannounced model identifiers are included.

Proof

Exact rebased head: c6e9d4faf97b66ec9364816e41a04f84b52bfefa

  • 62 focused Antigravity probe and label tests pass.
  • make check passes.
  • Autoreview: no actionable findings, confidence 0.86.
  • Live authenticated CLI probe: app source returned primary and secondary usage plus four extra model windows; every extra window had a nonempty humanized title; no probe error.

@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: 1f9ea14422

ℹ️ 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/Localization.swift Outdated
if !trimmedFallback.isEmpty, fallback != key {
return fallback
}
return codexBarLocalizationFallback(for: key) ?? key

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 Apply suffix fallback before the English guard

When the app is already using en.lproj or the English bundle cannot be resolved, the guard above exits via return trimmed.isEmpty ? key : value before this new fallback is reached. That means the intended safety net still does not cover the default-English/missing-English-key case: missing usage_percent_suffix_left or usage_percent_suffix_used will continue to render the raw key instead of left/used. Consider applying codexBarLocalizationFallback(for:) in the guard's else path as well.

Useful? React with 👍 / 👎.

@clawsweeper

clawsweeper Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed June 18, 2026, 12:07 PM ET / 16:07 UTC.

Summary
The PR humanizes Antigravity raw model-ID labels for distinct quota windows, preserves custom server-provided labels, adds focused label tests, updates one status-probe test fixture, and adds a changelog line.

Reproducibility: yes. source inspection gives a high-confidence path by constructing an Antigravity snapshot with a distinct quota whose label == modelId, then observing current main uses quota.label verbatim for extra-window titles. I did not run live provider probes because AGENTS.md warns against unrequested account or Keychain-adjacent validation.

Review metrics: 2 noteworthy metrics.

  • Diff surface: 4 files changed; 74 additions, 5 deletions. The patch is small and concentrated on one Antigravity display-label path plus tests and changelog text.
  • Focused tests: 1 test file added; 1 Antigravity status test updated. The new coverage directly exercises raw-ID humanization and custom-label preservation.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

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

Rank-up moves:

  • [P2] Wait for the remaining exact-head CI shards to complete before merge.

Risk before merge

  • [P1] GitHub reported the PR as mergeable but UNSTABLE because exact-head macOS CI shards were still queued or running; merge should wait for required checks to finish.

Maintainer options:

  1. Decide the mitigation before merge
    Land this focused fallback after exact-head CI passes so distinct Antigravity quota windows show readable generated labels only when the backend did not provide a custom label.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P2] No repair lane is needed because the branch is coherent, proof-backed, and has no actionable review findings; remaining work is normal maintainer merge gating and CI completion.

Security
Cleared: Cleared: the diff changes Swift label formatting, focused tests, and changelog text only, with no dependency, workflow, credential, signing, download, or package-resolution changes.

Review details

Best possible solution:

Land this focused fallback after exact-head CI passes so distinct Antigravity quota windows show readable generated labels only when the backend did not provide a custom label.

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

Yes: source inspection gives a high-confidence path by constructing an Antigravity snapshot with a distinct quota whose label == modelId, then observing current main uses quota.label verbatim for extra-window titles. I did not run live provider probes because AGENTS.md warns against unrequested account or Keychain-adjacent validation.

Is this the best way to solve the issue?

Yes: the PR is the narrow maintainable fix because it only generates a readable label for empty/raw labels and preserves backend-provided custom labels. The merged backend display-name PR remains intact and only partially overlaps this fallback.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 73b35b0f8d2e.

Label changes

Label justifications:

  • P2: This fixes a visible Antigravity quota-label bug with limited blast radius to one provider and a narrow display-formatting path.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): Sufficient: the PR body and owner exact-head comments provide after-fix live CLI probe output showing extra Antigravity model windows with nonempty humanized titles, plus focused tests and make check.
  • proof: sufficient: Contributor real behavior proof is sufficient. Sufficient: the PR body and owner exact-head comments provide after-fix live CLI probe output showing extra Antigravity model windows with nonempty humanized titles, plus focused tests and make check.
Evidence reviewed

What I checked:

Likely related people:

  • steipete: Current blame on the extra-window title path points to the v0.36.1 release import under Peter Steinberger, shortlog shows the heaviest recent ownership across the relevant files, and the exact-head rebase/proof comments were posted by steipete. (role: recent area contributor and proof owner; confidence: high; commits: 06fea2c897cc, 1c4b46b9519b; files: Sources/CodexBarCore/Providers/Antigravity/AntigravityStatusProbe.swift, Tests/CodexBarTests/AntigravityStatusProbeTests.swift, CHANGELOG.md)
  • guhyun9454: The Antigravity per-model quota windows and noisy model-quota filtering that created this distinct-window display surface trace to commits authored by Kwon GuHyeon. (role: feature-history contributor; confidence: high; commits: 352f0b19cfb5, 5dec44e72c02; files: Sources/CodexBarCore/Providers/Antigravity/AntigravityStatusProbe.swift, Tests/CodexBarTests/AntigravityStatusProbeTests.swift)
  • Yuxin-Qiao: Yuxin-Qiao authored the merged Antigravity backend display-name update in the same status-probe and test area, which partially overlaps this raw-ID label fallback. (role: recent adjacent contributor; confidence: medium; commits: 70f37afcb522; files: Sources/CodexBarCore/Providers/Antigravity/AntigravityStatusProbe.swift, Tests/CodexBarTests/AntigravityStatusProbeTests.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 rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal priority bug or improvement with limited blast radius. labels Jun 16, 2026
@steipete
steipete force-pushed the feat/antigravity-humanize-model-labels branch from 1f9ea14 to aa16c0e Compare June 18, 2026 12:39
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jun 18, 2026
@steipete
steipete force-pushed the feat/antigravity-humanize-model-labels branch 2 times, most recently from c6e9d4f to 5ac5692 Compare June 18, 2026 15:12
@steipete

Copy link
Copy Markdown
Owner

Post-merge rebase proof for exact head 5ac56927:

  • conflict was changelog-only; retained both landed Windsurf and Antigravity entries
  • Sources/Tests diff SHA-256 is byte-identical to reviewed head c6e9d4fa
  • 62 focused Antigravity model-label/status-probe tests passed
  • exact release CodexBarCLI built successfully
  • authenticated exact-head live probe: source app, primary and secondary usage present, four additional rate windows, identity metadata present, no provider error
  • public model identifier gate remains PASS: model-bearing diff is byte-identical to the previously audited candidate; no unknown identifier was introduced by the rebase

Exact-head CI is running.

@steipete
steipete force-pushed the feat/antigravity-humanize-model-labels branch from 5ac5692 to 5acca2a Compare June 18, 2026 15:17
@steipete

Copy link
Copy Markdown
Owner

Final post-pace rebase proof for exact head 5acca2ae:

  • rebase applied without conflict
  • Antigravity source/test diff SHA-256 remains byte-identical to the fully reviewed candidate
  • exact release CLI rebuilt; authenticated live probe again returned app source, primary/secondary usage, four additional windows, identity metadata, and no error
  • public model identifier gate remains PASS; model-bearing diff did not change

Exact-head CI restarted.

Co-authored-by: Brandon Charleson <b.charleson1@gmail.com>
@steipete
steipete force-pushed the feat/antigravity-humanize-model-labels branch from 5acca2a to 1c4b46b Compare June 18, 2026 15:43
@steipete

Copy link
Copy Markdown
Owner

Workflow-only final rebase: exact head is now 1c4b46b9. Antigravity source/test diff SHA-256 remains identical to the reviewed/live-proven candidate; the only new base change is landed CI sharding. Faster exact-head CI is queued.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. 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: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 18, 2026
@steipete
steipete merged commit 62737c6 into steipete:main Jun 18, 2026
9 checks passed
@bcharleson
bcharleson deleted the feat/antigravity-humanize-model-labels branch June 21, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants