Repository navigation
Open
Labels
effort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/highImportant and time-sensitiveImportant and time-sensitivequeue/blockedQueue or user escalation stateQueue or user escalation statequeue/queuedHas a queued task in the Supabase agent queueHas a queued task in the Supabase agent queuesource/humanFiled directly by a humanFiled directly by a humanstatus/blockedQueue or user escalation stateQueue or user escalation stateuser/escalatedQueue or user escalation stateQueue or user escalation state
Description
Priority P1 — order 7. Horizon: Month. Design: quota-plane-design-2026-10-26.md (usage-billing-hub goal files), Stage 2. Parent context: epic #1047. (§5). Pending confirmation by this epic's exceptions-audit issue; re-scope if the audit names a different pair.
Google/Antigravity full integration plan (Drew's shape: log in -> get the token -> hit the undocumented API the dashboard uses):
- Log in via the Antigravity app / laptop browser (Google OAuth is blocked on the sandbox host; the API key does NOT carry plan quota — verified 2026-10-24, credits are plan-tied).
- Capture the session/token the usage panel itself uses; store as a managed quota credential.
- Call the panel's underlying usage API from the gatherer on the tick: Gemini weekly/5h pools, Claude+GPT pools.
- Fallback: laptop file exporter at 15-minute cadence (file-export ingest).
Note: AI Studio's rate-limit page is a different surface (free-tier API project) and does not substitute for Antigravity plan pools.
Acceptance: Antigravity pools current on the tick (or file-export fallback live) with source labelled.
Acceptance criteria
- Antigravity pools (Gemini weekly/5h, Claude+GPT pools) are current on the gatherer tick with source labelled, via the captured panel session/token stored as a managed quota credential — or the laptop file-export fallback is live at 15-minute cadence.
- The integration does not rely on the AI Studio free-tier rate-limit page or the API key (neither carries plan quota).
- Note: step 1 (Google login via the Antigravity app / laptop browser) needs Drew on the laptop; the gatherer work can proceed against the fallback until that token exists.
Metadata
Metadata
Assignees
Labels
effort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/highImportant and time-sensitiveImportant and time-sensitivequeue/blockedQueue or user escalation stateQueue or user escalation statequeue/queuedHas a queued task in the Supabase agent queueHas a queued task in the Supabase agent queuesource/humanFiled directly by a humanFiled directly by a humanstatus/blockedQueue or user escalation stateQueue or user escalation stateuser/escalatedQueue or user escalation stateQueue or user escalation state
Activity
developing-today commentedon Oct 27, 2026
CODE-305
dezren39 commentedon Oct 28, 2026
Intake review
Related: Quota-plane Stage 2 exception integration, parent epic #1047, order 7 / P1. Pending the exceptions-audit issue's confirmation of the pair — re-scope if the audit names a different pair. Sibling: #1167 (Meta exception, same shape).
Notes / risks: BLOCKER RISK: step 1 needs Drew logged in via the Antigravity app / laptop browser — Google OAuth is blocked on the sandbox host and the API key carries no plan quota (verified 2026-10-24, per the body). Build the file-export fallback first so the pipeline exists before the token does.
Suggested approach: Token capture/storage must go through the managed quota-credential path, never a file in a repo.
Live check: verified still open and unheld this run; a merged-PR search on this run (2026-10-28T10:35:00Z) returned no PR resolving this issue, so it remains live work. Acceptance criteria appended to the body (original text preserved verbatim above it) and labels normalized by the fleet monitor.
dezren39 commentedon Nov 1, 2026
🤖 Agent note · ruling from #2490 triage (queue task 3721, 2026-11-01)
The read-path half of this issue (Antigravity quota read via the stored login) is ruled absorbed by #2490 and discharged on the server-endpoint surface: the local credential-store fallback and the distinct store-failure error state landed in openchamber (issue #858 closed; PR #860 merged 2026-10-30; follow-up #1063 closed) — evidence and full ruling on #2490. The one surface where that read path is still missing is the
openchamber quotaCLI, routed as openchamber#1141 under the #2490 ruling.This issue keeps its remaining scope only: login, token capture, and the panel API. Nothing about those halves changes.
dezren39 commentedon Nov 2, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 2, 2026
🤖 Agent note · escalated
Current-main evidence
3194bcffc13dc1f965d6e296243757401ce3af4a:packages/web/server/lib/quota/providers/antigravity/index.js:26-67,91-138reads Antigravity auth from OpenCode credentials, refreshes the token, and invokes the quota fetcher.providers/antigravity/api.js:67-89callsv1internal:retrieveUserQuotaSummary.f2c62597cfa405156464e901192489aa79d84273:pm-stack/aggregator/scripts/gather-quota.ts:407-430configures the local credential-store source and fetches configured providers each tick. Its file-export list at:118-125currently contains only Meta.Disposition: no new code packet: the direct provider/API integration already exists, and an exporter packet would duplicate a supported path without the required account authorization. Resume after #1155 confirms this scope and Drew authorizes the managed credential; then verify a fresh gatherer tick. No token or credential value is requested here.
dezren39 commentedon Nov 3, 2026
Agent note — gate moved: exceptions audit #1155 triaged (queue task 2435, 2026-11-03)
The audit this plan waits on now has a live-tested verdict (full table on #1155, comment 6600706560): Antigravity is reachable on the laptop right now —
openchamber quota antigravity --jsonreturnsok:truewith per-model 5h/weekly windows. The no-automated-route premise no longer holds on the execution host.Proposed re-scope for Drew (not actioning unilaterally — this issue is
user/escalated): convert from exception-integration to credential-lifecycle (which host the tick gatherer reads from; what happens when the captured token lapses), or close if the gatherer already consumes the antigravity provider on its host. Meta side is already closed (#1167 via #1301/PR #2530).*Origin: openchamber-scheduled-lane, task 2435.