Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Antigravity quota summary drops the dedicated Gemini 4 Argon group

Closed Beginner friendly
#7,272 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

Start with src/providers/quota/antigravity.ts and inspect parseAntigravityQuotaSummary and classifyAntigravityFamily, especially the order of the Argon and Gemini checks. Use the reported retrieveUserQuotaSummary response to confirm the Argon bucket is preserved as its own window, and check the fetchAvailableModels fallback classification. Done when Argon has its own quota label and is not counted as Gem.

Written by the indexing model from the issue text.

Description

account-pool bug provider
Client or integration

OpenCodex dashboard

Area

Provider adapter

Summary

retrieveUserQuotaSummary now returns a dedicated Gemini 4 Argon group with its own weekly bucket, but OpenCodex never shows it. Argon usage is invisible in the dashboard and in ocx provider quota.

The cause is in parseAntigravityQuotaSummary (src/providers/quota/antigravity.ts). The group is classified with groupName.includes("gemini"). The Argon group's display name is "Gemini 4 Argon", so it is treated as the shared Gemini group. Its weekly bucket maps to the Gem (Weekly) label, which the first ("Gemini Models") group has already filled, so !customWindowsMap.has(label) silently drops the Argon reading.

Expected: the Argon group gets its own window, for example Argon (Weekly) (and Argon if a 5h bucket ever appears). It should be checked before the generic gemini match.

The same substring order also affects classifyAntigravityFamily in the fetchAvailableModels fallback: gemini-4-argon-* models are classified as Gem, so if an Argon model is listed first, the Gem family summary shows Argon's separate counter.

Related: draft #7245 adds Argon rows through an additional CLI-User-Agent fetchAvailableModels read. The summary response already carries the Argon bucket, so fixing the classification would surface it without an extra request.

Reproduction
  1. Sign in to google-antigravity with an account that has used Gemini 4 Argon this week.
  2. Run ocx provider quota --refresh --json.
  3. The google-antigravity report shows only Gem, Gem (Weekly), Cla, Cla (Weekly). Gem (Weekly) is 0% even though Argon is partly used.
  4. Calling v1internal:retrieveUserQuotaSummary directly with the same credential returns a third group (excerpt below) that is missing from the report.

The parser is unchanged on current dev (2a10a2bc4).

Version

2.83.0 (npm runtime); parser identical on dev 2a10a2bc4

Operating system

macOS 27.0.1

Provider and model

google-antigravity / gemini-4-argon

Logs or error output
# retrieveUserQuotaSummary, third group (excerpt)
{
  "displayName": "Gemini 4 Argon",
  "description": "For paid Pro plans, Argon quota is separate. ...",
  "buckets": [
    {
      "bucketId": "gemini-argon-wtu-weekly",
      "displayName": "Gemini 4 Argon Weekly Limit",
      "window": "weekly",
      "resetTime": "2026-10-24T04:34:17Z",
      "remainingFraction": 0.7396149
    }
  ]
}

# ocx provider quota --json, google-antigravity customWindows (before fix)
Gem 0%, Gem (Weekly) 0%, Cla 0%, Cla (Weekly) 62.5%

# with the Argon group classified first (local patch)
Gem 0%, Gem (Weekly) 0%, Argon (Weekly) 26.3%, Cla 0%, Cla (Weekly) 62.5%
Screenshots and supporting files

Suggested change, verified locally against the live response:

// parseAntigravityQuotaSummary
const isArgon = groupName.includes("argon");
const isGemini = !isArgon && groupName.includes("gemini");
// ...
if (isArgon) {
  const label = is5h ? "Argon" : isWeekly ? "Argon (Weekly)" : "";
  // same set-if-absent as the other families
} else if (isGemini) { ... }
// PREFERRED_ORDER: ["Gem", "Gem (Weekly)", "Argon", "Argon (Weekly)", "Cla", "Cla (Weekly)"]

// classifyAntigravityFamily: check "argon" before "gemini"

Note for routing: windowMatchesFamily only matches Gem/Cla tokens, so a new Argon label does not affect Gem/Cla headroom. Today classifyModelFamilyForQuota maps gemini-4-argon requests to the gem family, so Argon routing is judged by the shared Gemini counter rather than Argon's own bucket. That may deserve a follow-up.

Redacted configuration
{ "providers": { "google-antigravity": { "adapter": "google", "authMode": "oauth" } } }
Checks
  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.
Dominant language
TypeScript
Stars
16.9k
Forks
1.3k
Avg merge
7h 46m
Merged PRs (30d)
638

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lidge-jun/opencodex

All issues in lidge-jun/opencodex

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.