Skip to content

upstream: adopt the 2026-09-03 T3 batch, pass two (in progress) - #261

Open
rynfar wants to merge 32 commits into
pylonfrom
upstream/2026-09-03-batch-2
Open

upstream: adopt the 2026-09-03 T3 batch, pass two (in progress)#261
rynfar wants to merge 32 commits into
pylonfrom
upstream/2026-09-03-batch-2

Conversation

@rynfar

@rynfar rynfar commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Pass two of the 2026-09-03 upstream adoption: the commits that conflicted in
pass one and need hand merges. This PR is still being worked — I am pushing as
I go so progress is visible.
70 of the approved 149 remain after this.

Each commit here was resolved by hand, typechecked, and verified with its own
tests before landing.

Resolutions worth review

  • #9146 inline citations — Pylon has two messageText call sites where
    upstream has one. The citation flattening belongs only on title and branch
    generation; applying it to the second would have sent pre-expanded text to the
    provider and left ProviderService's own expansion with nothing to do. A
    follow-up commit fixes that and waits for the provider send, since Pylon
    admits a turn before starting it.
  • #9154 Grok — upstream extracted sendInitialize for its new health probe
    and in doing so bypassed runStartupRpc, Pylon's startup RPC timeout. Kept
    upstream's shape with Pylon's guard inside, so the probe cannot hang.
  • #9164 sticky model selections — upstream's migration 044 renumbered to
    Pylon's 053; Pylon holds 044 through 052. Its test lives inside
    016_CanonicalizeModelSelections.test.ts with hardcoded migration boundaries,
    which moved with it.
  • #9147 shared preferences — merged Pylon's provider-instance mutation route
    with upstream's shared/local split. providerInstances is not a shared key,
    so it bypasses the split.
  • #8910 file breadcrumbs — upstream's test assumes the first observed
    workspace mutation refreshes. Pylon deliberately seeds the first one without
    refreshing, because refreshing would cancel the atom's own mount read. Test
    adapted to Pylon's semantics rather than changing Pylon.
  • #5302 / #6554 — Pylon naming kept, upstream behaviour taken.

Parked

#7941 (attachments held until commit) resolves cleanly but its new test never
reaches sendTurn. Pylon's reactor is 2401 lines to upstream's 1641 and admits
turns before starting them. The waitFor fix found while adopting #9146 looks
like the same shape and may unpark it.

Made with Opus 5 in Claude Code.


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

rcawston and others added 15 commits September 3, 2026 16:16
WebSocket reconnect catch-up only checked the number of missing events, then loaded and decoded the whole replay range before sending it. A handful of events with large tool payloads could allocate gigabytes and OOM the server.

Before replaying, run a SQL preflight that counts the events in the range and sums their serialized payload bytes with octet_length(). If the range is over the existing row limit or an 8 MiB byte budget, fall back to the fresh snapshot path. Applies to both thread and shell subscriptions.

Authored by @rcawston. Review, octet_length fix, and merge by Claude Fable 5.1 in Claude Code on behalf of @t3dotgg.

(cherry picked from commit 7e460f429b740180cd72730418262a2df971ba54)
…nvironments (#9147)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8efd4e95fcb08478c9c6e8eee384bfca559f62cc)
(cherry picked from commit 0e77fbd3d0d79eec5247e75583a04590a1785133)
Classify Claude Read calls on image files as image_view and carry the full path through projection and both clients so the existing image renderer can load it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit d0b19b32e01d7abc8829c01353d759fed3d304ed)
Expanded command rows use a neutral Command label and keep the full command plus real output in the detail area. Claude Bash results now cross the wire as a bounded summary. Truncated Claude echoes and ACP echoes without a kind are dropped as synthetic.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 083d4de5b0fd33efa28363546b6ed89e191c5200)
…he real CLI (#9154)

Co-authored-by: mavenskylab <mavenskylab@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit a434677eca737771dd64703545c13eb11ba92ce2)
…button (#6554)

Use a prepare and commit handoff for remote desktop updates. Retry lost commits, require the prepared version after reconnect, and recover backends and windows when installation fails.

Built with GPT-5.6 Sol in Codex.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Adolanium <94890352+Adolanium@users.noreply.github.com>
(cherry picked from commit b2f25d390a8546e42eb6186115b673a53b8c38dc)
Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit 0e1570bde5b64458449a45989f1b56d6fd651883)
… (#9140)

Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit f46a709ee487e1e6e04423fcb7032a26eb103129)
Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit d937e30759ceae421bf3cc1b84414de4b67df76c)
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 47a95332a2b8fe47da9fb0af97fd6f0b542a18ee)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit e7deb2aaf4d4d089618dc0c8f393fa0b8b6c77e9)
Follow-up to the #9146 adoption. Pylon has two `messageText` call sites where
upstream has one, and the citation flattening was applied to both. The second
feeds buildSendTurnRequestForThread, so the provider received pre-expanded text
and ProviderService's own expansion had nothing to do. Only title and branch
generation take plain text.

Also waits for the provider send in the new test: Pylon admits a turn before
starting it, so the send is asynchronous relative to drain().
(cherry picked from commit 082358f9ef6feaadfaafd59a7512da26beb00100)
Renumbered upstream's migration 044 to Pylon's 053: Pylon holds 044 through 052
already, and reusing 044 would let environments that recorded it silently skip
the new one. Test boundaries moved with it.

(cherry picked from commit 5392c9bb99c4be1f1c3fd78743df62885fd214dd)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 3, 2026
juliusmarminge and others added 6 commits September 3, 2026 16:47
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit e94603adfac7d8734f9af01e33f67e776daf482d)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit ef6cc0b362019f32152470ed96c1aa1b813fb7f6)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit b9b1b8fdddf9d006fdb820af770063e1f968345b)
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
(cherry picked from commit 2a7a449cca3c7760b689a54b3aa02476a206dbc9)
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit f90e2f2bd26e22b77ccf781cccdf95afd3c3ac1c)
…ve (#9217)

(cherry picked from commit 62c68dc41f9d9d7ecaf5193a6a8d997ebf671a61)
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.7 KiB +87 B (+0.6%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB +5 B (+0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.6 KiB 6.6 KiB +82 B (+1.2%) 7.8 KiB
Codex Live turn WebSocket decoded 56.5 KiB 57.3 KiB +822 B (+1.4%) 66.4 KiB
Codex Live turn messages 8 8 0 (0.0%) 21
Claude Total thread wire 13.8 KiB 13.8 KiB +9 B (+0.1%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +8 B (+0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB +1 B (+0.0%) 7.8 KiB
Claude Live turn WebSocket decoded 58.2 KiB 58.2 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 9 9 0 (0.0%) 21

Baseline: bfe695f · PR result: 9c3618f · 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: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

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

imabdulazeez and others added 3 commits September 4, 2026 03:05
(cherry picked from commit 5a9b56291f82b9269346053594d8b5dfca736976)
Replace the obsolete Visual Studio Spectre component check with an architecture-specific filesystem check against the latest installed MSVC toolset.

This lets current Visual Studio Build Tools installs pass Windows desktop preflight while still failing when the required Spectre libraries are absent.

Model: GPT-5 Codex via T3 Code.
(cherry picked from commit 4ba39a6f408bdee468df2e3ffdf7d5dc08e7b59d)
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 9ebbeda5a03fd8fce7be147b65ea396e50721c68)
@rynfar
rynfar force-pushed the upstream/2026-09-03-batch-2 branch from 4da9262 to eb77ce8 Compare September 4, 2026 09:10
juliusmarminge and others added 2 commits September 4, 2026 03:12
Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit 0bc59bbae391ee45ab3a7cfb2dc703c8b27e5772)
…(#9363)

Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit d4bd8923ad8cab346a854967015b06d9e5cd77f7)
Yash-Singh1 and others added 6 commits September 4, 2026 03:13
(cherry picked from commit 5f84efa1ec2fb3cd6f6c54545cc34bb77ac1ddb8)
Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit c89e3e12a41e13e09e0103d08a41d0688a99fb49)
(cherry picked from commit cf0bb4c3571badbc5aaa8189cd5cbe3563ec73c1)
(cherry picked from commit fff33f9e851912363c5b1f3ac65598be35eb5f0d)
My conflict resolutions in GitHubPullRequestProvider.test.ts and
docs/user/updating.md were written by script and did not match the formatter.
Two upstream commits landed rules that assume upstream's provider set and
regressed Pylon's Prime Agent.

#8337 hardened the legacy `providers` lookup against prototype keys, and in
doing so made a default instance disabled whenever that blob has no entry for
it. Pylon's Prime Agent is a default instance with no legacy entry, so it went
dark. The real distinction #8337 wanted is a driver the settings schema knows
versus a fork driver or a prototype key like `constructor`, which is now
`isBuiltInDriverKind`.

#9164 stopped dispatching descriptor defaults as overrides so a composer turn
carries only what the user chose. Background text generation is the opposite
case: there is no composer to choose in, and Pylon normalizes a backend's
controls from the descriptors, so the defaults are the point. Split the two by
capability context.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 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.

10 participants