Skip to content

fix(mobile): resolve Antigravity account catalogs before sending - #529

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-12-mobile-catalog
Sep 12, 2026
Merged

fix(mobile): resolve Antigravity account catalogs before sending#529
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-12-mobile-catalog

Conversation

@rynfar

@rynfar rynfar commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Mobile could not safely apply Antigravity catalog membership checks: an unresolved antigravity-default choice would block first use, and the empty catalog after restart would block saved models. Resolve defaults and aliases only against the selected account, preserve its model options and unavailable concrete choices, and keep unchecked concrete restart sends usable.

A queued user request can discover that account's catalog once, with a 30-second bound. Delivery then re-reads the durable message, connection, binding, source epoch and catalog, and checks the catalog again after attachment preparation. Held requests retain their text, context, attachments and account; completed requests release discovery bookkeeping. Existing Pylon provider admission, continuation and Prime controls still apply. A fresh draft can discover an available Antigravity account without opening Settings, while unresolved marker rows stay out of the model picker.

Reopens the mobile omission in #479; refs #526. Adopted behavior comes from 06336460c9988f29c71e839c4c9c840c4552e077 and restart correction d487dfbf46be344e818725be70ee04be2436bfb4. Related 3faeee49ac67dfd9534369f1e1c627c0356b75ac remains the already-adopted web wizard change; it has no additional mobile hunks.

Validation: 140 tests across nine affected suites, followed by 30 tests across the two affected suites after correcting the test atom facade; mobile typecheck and scoped lint pass (React compiler warnings remain on existing screens). Tests cover account isolation, aliases/defaults, missing/legacy selections, restart and provider gates, catalog changes during attachment awaits, bounded discovery and bookkeeping cleanup, and existing outbox/context recovery. Cleanly rebased onto 8c9930c574; all 18 reviewed mobile task files were byte-identical through the rebase. Independent adversarial review approved the unchanged mobile diff.

No simulator, physical device or live Antigravity account was exercised, and no before/after images were captured: this task has no browser/device authorization. No native module, release or installation changes.

Implemented with GPT-6 in the Codex multi-agent harness.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pylon-marketing Ready Ready Preview Sep 12, 2026 4:39pm UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 12, 2026
@github-actions

github-actions Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.9 KiB 14.1 KiB +161 B (+1.1%) 15.1 KiB
Codex Thread snapshot wire 7.2 KiB 7.2 KiB 0 B (0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.7 KiB 6.8 KiB +161 B (+2.4%) 7.8 KiB
Codex Live turn WebSocket decoded 58.0 KiB 58.8 KiB +910 B (+1.5%) 66.4 KiB
Codex Live turn messages 8 10 +2 (+25.0%) 21
Claude Total thread wire 13.9 KiB 14.1 KiB +140 B (+1.0%) 15.1 KiB
Claude Thread snapshot wire 7.2 KiB 7.2 KiB −4 B (−0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.7 KiB 6.8 KiB +144 B (+2.1%) 7.8 KiB
Claude Live turn WebSocket decoded 58.8 KiB 59.7 KiB +884 B (+1.5%) 66.4 KiB
Claude Live turn messages 8 9 +1 (+12.5%) 21

Baseline: d6d2f8e · PR result: 26a20ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.3 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

Resolve the default marker and model aliases only against the selected account,
retain unavailable saved choices for remediation, and keep concrete saved models
usable while restart authentication is unchecked. Discover an unresolved catalog
once for a queued user request, then re-read live authority before dispatch.

Reopens the mobile exception recorded in #479 for #526.
Upstream-source: 06336460c9988f29c71e839c4c9c840c4552e077
Upstream-source: d487dfbf46be344e818725be70ee04be2436bfb4
Related-upstream-source: 3faeee49ac67dfd9534369f1e1c627c0356b75ac
@rynfar
rynfar force-pushed the upstream/2026-09-12-mobile-catalog branch from 4ac4980 to 26a20ef Compare September 12, 2026 16:38
@rynfar
rynfar merged commit 2c46cbc into pylon Sep 12, 2026
20 checks passed
@rynfar
rynfar deleted the upstream/2026-09-12-mobile-catalog branch September 12, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant