chore: merge upstream T3 Code through v0.0.35 - #82
Open
roughcoder wants to merge 154 commits into
Open
Conversation
Co-authored-by: GPT-5.6 <noreply@openai.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
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>
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>
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>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: mweinbach <maxweinbach5@gmail.com>
…gdotgg#8144) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ingdotgg#8189) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…gg#7140) Co-authored-by: Dara Adedeji <daraaded@amazon.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
pingdotgg#8227) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…#8231) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Integrates the full pingdotgg/t3code main branch (d3c24a1, v0.0.35) into Phoenix as a three-way semantic merge: 153 upstream commits against 119 of ours, 56 textual conflicts and 98 further files both branches had changed. Every Phoenix feature survives. Where both branches had rewritten the same code, the resolution keeps our requirement on top of upstream's current implementation rather than picking a side: upstream's redesigned work-log row carries our provider-retry collapsing, its redesigned usage page carries our subscription capacity section and environment filter, and its extracted sidebar utility menu carries our Schedules and Environments entries. Two decisions went the other way. Upstream's Claude stop now closes the query and lets the SDK escalate to SIGKILL, which subsumes our stopTask fleet-stop and still emits the same task-stopped events, so we took it. Upstream's escalation from a failed interrupt to a hard session stop contradicts a deliberate, tested Phoenix rule that such a session keeps running, so it is excluded and its three tests were removed with the reason recorded beside the ones we keep. Upstream's three new migrations were renumbered to 54-56: ours at 41-53 are already applied on live databases, and the ledger guard refuses to start when a recorded id changes name. Eight defects came in through clean auto-merges, including a contracts import cycle that neither branch had alone and that typecheck cannot see. They are all listed, with the conflict decisions and the verification, in docs/operations/upstream-integrations/2026-08-27.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integrates the full
pingdotgg/t3codemain branch into Phoenix as a three-way semantic merge.e6574640bd3c24a14b(v0.0.35)f2d5fc91e153 upstream commits against 119 of ours. 56 textual conflicts and 98 further files both branches had changed without one.
Important
Merge this with a merge commit, not a squash. A squash drops the second parent, upstream history stops being reachable from
main, and the next sync recomputes its merge base from the sync before last and replays every commit this PR already resolved. If it has to be squashed, record the ancestry afterwards —docs/operations/upstream-integration.md§7.What we received
Codex 0.150 multi-agent events and thread feedback, Claude compaction before usage runs out, OpenCode skill discovery, orphaned-session reconciliation, worktree recreation before a turn, submodule checkout, push no longer writing a feature branch's commits to its base, PR-to-thread linking and live PR reads, thread settle/restore shortcuts, work-log tool collapsing, redesigned usage insights and skills menus, unified workspace navigation, direct image uploads with HEIC→JPEG, file-manager reveal, a pile of terminal fixes, mobile device analytics and Android/tablet fixes, client-origin attribution, semver-aware version skew, macOS service PATH, and a sharded CI suite.
What we kept
Every Phoenix feature survives. Where both branches had rewritten the same code, the resolution puts our requirement on top of upstream's current implementation rather than picking a side:
ThreadTurnBootstrap, which is shared with the sessions MCP toolkitTwo decisions went the other way, both recorded in full in the report:
stopTaskfleet-stop and still emits the same task-stopped events, so it is strictly better at the thing our docs promise.stoppedafter a failed interrupt, which contradicts a deliberate, commented, tested Phoenix rule that such a session keeps running — the provider may still be working, and claiming otherwise lets the next message interleave with live work. Its three tests were removed with the reason recorded beside the ones we keep.Upstream's three new migrations were renumbered to 54–56. Ours at 41–53 are already applied on live databases, and the migration ledger guard refuses to start when a recorded id changes name.
Defects caught in clean auto-merges
Eight, including one that would have broken every client at import: Phoenix had added
orchestration.ts → providerRuntime.tsand upstream had addedproviderRuntime.ts → orchestration.ts. Neither is a cycle alone; togetherProviderApprovalOptionwasundefinedat module-init. Typecheck cannot see it. Fixed by moving ourProviderRuntimeErrorKindinto the leaf module both already import.The rest — a branded string that broke upstream's new tests, a removed prop our retry rows depend on, a field rename our retry detection missed, spawn cards folding into upstream's new tool groups, and four fixture/mock gaps — are listed in the report.
Verification
vpr typecheck— 16/16 packages, no errorsvp check— 0 errors, 19 warnings (three fewer than the pre-merge baseline of 22; no new categories)e6574640b.No real-client pass was run; this was verified by tests only.
Follow-ups
Test Server 1/2/3andRustas required checks — the old singleTestcheck no longer covers the server.gh workflow disable "Desktop macOS Preview"(new upstream workflow, recorded indocs/internals/ci.md).Full conflict-by-conflict record:
docs/operations/upstream-integrations/2026-08-27.md.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.