Skip to content

fix(providers): align usage homes, discovery and executable diagnostics - #613

Merged
rynfar merged 11 commits into
pylonfrom
upstream/2026-09-17-provider-catchup
Sep 18, 2026
Merged

rynfar merged 11 commits into
pylonfrom
upstream/2026-09-17-provider-catchup

Conversation

@rynfar

@rynfar rynfar commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Provider usage omitted custom accounts, reconnecting clients triggered redundant provider scans, and missing-Codex errors incorrectly referred only to PATH. This adopts the corresponding upstream fixes while preserving Pylon’s provider ownership, explicit refresh, account configuration and runtime identity.

  • Usage includes configured Claude, Codex and Grok account homes, including disabled accounts with history, and deduplicates canonical paths. Relative configured Claude homes use Pylon’s launch-path resolver.
  • Config subscriptions return current state without launching another full refresh; managed startup discovery, background policy, settings changes and explicit refresh remain active.
  • Codex startup diagnostics name the configured executable and the server setting to correct it.
  • WSL discovery is already present in Pylon’s staged and mounted Node-based runtimes. The standalone-runtime patch is not applicable; regression tests protect existing PATH forwarding and stdin bootstrap authentication. No unused runtime probe is added.

Sources: #11485 2db675aeffd9cb1e8b5ad76ddd018433b45b02e9, #11811 7931227977ca3e6f3354a63467caa634ab79796f, #11345 2a264adc6f6c65f98d4273acaa1af567eca83f2a, and covered #11741 8b1ea4dd2465f3cf3cfa02d6878beaa1ec22e71a. Original author/coauthor trailers are retained, including maria, Bil0000 and shivamhwp. WSL’s upstream analysis is credited to Andrew Johnson. Part of #611; bounded head 6d1d549441be84f19696ab59ed7e2fbf305280d4, unchanged review cursor.

Validation:

  • Seven focused files: 374 passing tests, 10 platform skips. After the combined run exposed macOS canonical-path assumptions in the usage harness, all 10 usage tests passed with corrected assertions and scan synchronization; the other six files remained unchanged.
  • Scoped server typecheck, desktop typecheck and lint passed (existing server lint warnings remain).
  • Separate Antigravity adversarial reviews for each source. Fixed the relative-Claude-home defect and replaced the inapplicable WSL implementation with coverage. Codex classification/privacy findings were checked and dismissed as unchanged behavior or already-authorized settings visibility.
  • Isolated browser: unchanged custom-account history shows 0 tokens before and 12,000 after; the account remains disabled. Missing-Codex diagnostics show the configured path and settings guidance. Screenshots attached below.
  • No wire schema or migration change. Server behavior is shared across local/remote web, desktop and mobile. Relative environment home paths remain unsupported as documented; real Windows/WSL execution was unavailable on this macOS host.

Implementation and adversarial review used Gemini 3.8 Flash High through Pylon’s Antigravity delegation; integration and verification used GPT-6 through Codex.


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 18, 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 18, 2026 12:33am UTC

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

rynfar commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

Isolated browser evidence, using the same account history and settings before and after. Usage changes from 0 to 12,000 tokens (10,000 input + 2,000 output) for a disabled custom Claude account. Codex diagnostics now identify the configured missing executable and the server setting to correct it. Images in order: Codex before, Codex after, usage before, usage after.

codex-before codex-after usage-before usage-after

@rynfar

rynfar commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

Separate Antigravity adversarial reviews are complete for all four sources, with parent integration review of the combined diff.

  • Usage: reviewed 1408af6ad24d51a167877ed723091eea770681a3; fixed the confirmed relative-Claude-home mismatch in 2e5d146c40c7d7e8d98967827c2d6a916c02925b (integrated as 70cd53c720164a21ef5d44198bd136f921940e8e). The reviewer then approved the canonical-path test corrections through c3e3d6250775c387789c9ae3f43c9eee5767ecdb, independently passing 10 UsageService tests and all 92 tests across eight usage files. Codex shadow-home behavior was checked against actual launch semantics and correctly scans shared history; the suggested upstream concern did not apply.
  • Subscription refresh: reviewed 424ec3ed0561cf27a8f3cd2bc7a7d6c2b211c64d; confirmed startup discovery, explicit refresh, driver health policy and settings-driven updates remain owned independently of subscribers. Integrated regression coverage also checks initial snapshots, remote variants and changed-config streams.
  • Codex diagnostics: reviewed f9cdcb42023efac4c32f67578dcd0c404ba898a8. Initial concerns about installed/error classification and binary-path visibility were rechecked: they are unchanged behavior and already exposed through authorized server settings, respectively. No introduced blocker remained. The added regression exercises the real missing-executable registry path.
  • WSL: rejected the initial unused standalone-probe port. The reviewer independently approved replacement 5ffade9cd49395be4a8d5219f15f3454de815f15, which changes only regression tests for Pylon's actual staged/mounted launch paths. Real WSL was unavailable; this is not presented as a Windows end-to-end run.

The reviewed production contents are unchanged in this PR. Final focused coverage is 374 passing tests plus 10 platform skips; server types and scoped lint passed, with existing warnings retained. Before/after screenshots are attached in the preceding evidence comment.

maria-rcks and others added 10 commits September 17, 2026 18:30
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 2db675aeffd9cb1e8b5ad76ddd018433b45b02e9)
…#11811)

Co-authored-by: Bil0000 <bilal.bakr.elsherif@gmail.com>

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

(cherry picked from commit 7931227977ca3e6f3354a63467caa634ab79796f)
…345)

(cherry picked from commit 2a264adc6f6c65f98d4273acaa1af567eca83f2a)
…arding (#11741)

Upstream commit 8b1ea4dd2465f3cf3cfa02d6878beaa1ec22e71a (#11741) fixed
a regression introduced by upstream's standalone-runtime migration (#11511),
which bypassed ensureNodePty and lost version-managed Node discovery for
WSL providers.

Pylon has not adopted #11511; both staged and mounted WSL launches in
Pylon execute ensureNodePty via runWslShell, which already prepends
buildWslNodeEnvPreamble() and captures resolvedPath before passing it
to resolveWsl's launch PATH. Production code in Pylon already covers this
behavior, making the upstream production changes in #11741 not applicable.

This replacement commit adds focused regression tests ensuring:
1. resolveWsl forwards discovered version-managed Node in launch PATH for
   staged runtime runs with stdin bootstrap auth and isolated argv.
2. resolveWsl forwards discovered version-managed Node in launch PATH when
   falling back to the mounted server tree.
3. parseResolvedPath handles paths with version-managed Node directories.

Upstream-commit: 8b1ea4dd2465f3cf3cfa02d6878beaa1ec22e71a
Co-authored-by: Andrew Johnson <andrew@johnson5.net>
@rynfar
rynfar force-pushed the upstream/2026-09-17-provider-catchup branch from a92f6b8 to 8bff593 Compare September 18, 2026 00:31
@rynfar

rynfar commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

Final head: 16f064f88af4bddf3e7aebe67ab2609213325620, rebased onto merged #612 (62c4f818ea301754a3856c86745f3345b0bed413). The rebase conflict was confined to the decision index; both records and PR links are retained. Compared the provider implementation/tests against the reviewed pre-rebase head: no changes. The only subsequent edit recommends absolute environment paths in the user guide, avoiding a provider-dependent tilde-expansion promise. Existing review, local tests, and uploaded screenshots remain applicable; CI is running on this final head.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 14.0 KiB −7 B (−0.0%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB −12 B (−0.2%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB +5 B (+0.1%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB +44 B (+0.1%) 66.4 KiB ✅
Codex Live turn messages 9 10 +1 (+11.1%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB −7 B (−0.0%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB +1 B (+0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB −8 B (−0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 62c4f81 · PR result: 16f064f · 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.

This branch was successfully deployed

1 active deployment
Preview — 16f064f8 Deployed Sep 18, 2026 by vercel[bot]
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.

5 participants