You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rebase this fork onto upstream T3 Code's released orchestrator v2 (squash de34391427, PR pingdotgg#2829, 2026-10-02) and the commits after it. Re-apply the fork's own work on top.
Fork base: an early snapshot of that PR (2341c5a680, ~2026-09-21) plus 163 fork commits (355 files, +40k/-3k).
Upstream reference: upstream/main at the time of planning was 51f7f77f87.
Decisions (2026-10-05)
Rebuild on upstream. Create the new branch sync/upstream-v2 from upstream/main. Port the fork's features back in priority batches and test each batch. The current fork build (v2.8.34.17) keeps running until the new build passes on a copy of the real database.
Upstream's version wins:
the shell code-block run button;
the "Working" sidebar section, which replaces the fork's needs-you-first switch.
The fork's version wins:
subagent and background rows stay in the sidebar;
the waiting spinner stays amber.
Pi is paused. Don't port the fork's Pi adapter work (per-turn usage, shared instructions, tool deferral, background jobs). Keep upstream's Pi as-is.
Turn off upstream update offers in fork builds.
Drop fork changes that upstream now covers:
servers kept out of the waiting state (upstream's backgroundWorkHoldsCompletion);
the restart/resume fixes;
failing a run when the provider never starts;
cross-project thread read and prompt;
the client half of background-work waiting.
Batches
0. Foundation (must land before any build touches real data)
Migration ledger. Rename the fork's 056_ProjectionMessagesLatestAssistant to 057. Extend the preview reconciler for the fork's exact ledger, in one transaction: move 56→57, 55→56 and 54→55, then apply upstream 054 AutoSettle. Reject unknown collisions. Add focused tests.
Keep fork-persisted fields that upstream's schemas would strip.
Build. Disable the upstream auto-update feed. Make the Linux build produce an AppImage only (no .deb/fpm).
Rehearsal. Run migrations, a full event decode and a projection rebuild on a VACUUM INTO copy of the live statev2.sqlite.
1. Sidebar Projects view
Fork's version of each:
Sections and subsections, folder colours and icons, organize by folder, drag-to-chat, add/remove/new project, reveal the open thread, Back button.
Subagent and background rows, status marks, columns and times. These stay in the sidebar.
Top-level thread rows in the Projects view use the same tighter spacing as subagent rows.
Amber waiting spinner. Fix the failed turn that shows as "idle".
Lineage panel: model and effort, expandable rows, clear finished, shells, fork/parent rows. Reconcile with upstream's subagentDisplay.ts.
2. Chat and pages
LaTeX/KaTeX; fenced code blocks in the composer; host media display and limits; the "Worked for" fold keeping substantial messages (needs the phase field).
Usage: model share across limit windows, Limits page layout, sidebar daily meter. Adapt to upstream's UsagePage rewrite.
Hot files rewritten upstream:Orchestrator.ts, ProjectionStore.ts, ws.ts, OrchestratorMcpService.ts, Sidebar.tsx, UsagePage.tsx. Port these by re-implementing the features, not by resolving conflict hunks.
Removed upstream:
v1 apps/server/src/orchestration/ and contracts/orchestration.ts.
About a dozen web helpers.
New upstream requirements:
Every RPC now needs a scope entry.
New shadcn lint rules restrict restyling components/ui.
Goal
Rebase this fork onto upstream T3 Code's released orchestrator v2 (squash
de34391427, PR pingdotgg#2829, 2026-10-02) and the commits after it. Re-apply the fork's own work on top.2341c5a680, ~2026-09-21) plus 163 fork commits (355 files, +40k/-3k).51f7f77f87.Decisions (2026-10-05)
sync/upstream-v2from upstream/main. Port the fork's features back in priority batches and test each batch. The current fork build (v2.8.34.17) keeps running until the new build passes on a copy of the real database.backgroundWorkHoldsCompletion);Batches
0. Foundation (must land before any build touches real data)
056_ProjectionMessagesLatestAssistantto 057. Extend the preview reconciler for the fork's exact ledger, in one transaction: move 56→57, 55→56 and 54→55, then apply upstream 054 AutoSettle. Reject unknown collisions. Add focused tests.titleSource,titleEvaluation.settledDeliveryCount.phase.responseCapability: app_owned.source.nativeRef.taskType,startedAt,commandKind), mapped onto upstream'skindunion.modelRoles,idleAgentSessionMinutes.chatMath,projectsView,codexStyleSidebar,issuesPage,pluginSkills,lineageAutoClearMinutes.compactEventStorehourly.turn-item.updated..deb/fpm).VACUUM INTOcopy of the livestatev2.sqlite.1. Sidebar Projects view
Fork's version of each:
subagentDisplay.ts.2. Chat and pages
phasefield).$menu.preview_openby path, port scanner.3. Delegation and fixes
delegate_taskworktree option. Adapt to the reshapedThreadLaunchService.t3_request_user_input).backgroundWorkNotification.9f855bbbba), only if its tests fail on upstream.4. Background-work panel (later)
kindunion and its existing Stop banner.5. Cutover
Notes
Orchestrator.ts,ProjectionStore.ts,ws.ts,OrchestratorMcpService.ts,Sidebar.tsx,UsagePage.tsx. Port these by re-implementing the features, not by resolving conflict hunks.apps/server/src/orchestration/andcontracts/orchestration.ts.components/ui.