Skip to content

chore: drop the fork's non-sandbox changes to T3 Code - #75

Merged
t3-code-sandboxes[bot] merged 5 commits into
feat/sandbox-environmentsfrom
chore/drop-non-sandbox-divergences
Nov 15, 2026
Merged

t3-code-sandboxes[bot] merged 5 commits into
feat/sandbox-environmentsfrom
chore/drop-non-sandbox-divergences

Conversation

@t3-code-sandboxes

Copy link
Copy Markdown

Stacked on #74.

Problem. The fork should behave exactly like upstream T3 Code except for running chats on sandboxes. After the upstream sync (#73), it still carried general features and behavior changes that have nothing to do with sandboxes.

Fix (one commit each; compared against upstream 51cdf23, the commit #73 merged).

  • Latest tool action on thread shells: removed the contract field, the projection query and writes, and the client overlay; ShellStream.ts matches upstream again. Fork migration 004 (an index) stays with a note that it is unused. The field was computed, never stored.
  • delegate_task group: removed SubagentGroup and its copies in the contracts, Orchestrator, OrchestratorMcpService and RemoteDelegation. The tool schema is now upstream's plus target.sandbox and concurrency_full, which sub-sandboxes need. Stored subagent records with group still decode, since extra keys are dropped. agentContextBudget.json: 50013 → 49938.
  • A delegated agent's secret or link answered from the coordinator's thread: removed entirely. Gating it to sandbox children wouldn't have helped: a sub-sandbox is linked to the host server, not to the user's client, so the client could never list or answer that child's card. The server side is upstream's own turnItemCanChangeUserWait, and top-level sandbox chats keep their bridge requestSecret.
  • Catching up when the computer wakes from sleep: removed suspendWakeups.ts; connection/platform.ts matches upstream.
  • waitingMessageCanResend: the extra wait for the operate scope now applies only to drafts on a sandbox. Other drafts resend exactly as upstream.

Kept on purpose: the t3code-diy build (needed to install the fork next to official T3), the read-only milestone leftovers (existing databases hold those events), the steer secret-card fix, outboundHttp.ts, and sandbox infrastructure and hooks.

Test plan

  • vp run check:changed origin/fix/sandbox-starting-label: format, lint, knip, graphql, typecheck (42 packages), react compiler. The test step's only failures are the two Node 24 failures (Node 26 is pinned).
  • Server orchestration-v2, mcp and peer, AgentContextBudget and ForkMigrations: 3572 pass. Besides the two Node 24 cases, FoundationPersistence "replays and reads a log the removed milestones feature wrote" also fails on the base.
  • ChatView.logic gains a non-sandbox resend case. client-runtime threadRequests and threadShell, web connection and ChildThreadApprovals pass.
  • mcp-tool-use eval free modes (--context, --dry-run). The paid run, 82 delegate_task cases, still needs an Anthropic key.

Claude Opus 5.5 via Claude Code.

🤖 Generated with Claude Code

OmarAlex24 and others added 5 commits November 15, 2026 20:40
Upstream shells have no latestAction. Remove the field from the contract,
the server's lookup and label helper, the subagent shell refresh on finished
tools, and the client overlay, so shells and the shell stream match upstream.
Fork migration 004's index stays so existing fork databases keep their
migration history; nothing reads it now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's delegate_task has no `group`. Remove it from the tool input, the
start-subagent commands and the subagent record, so the tool schema is
upstream's plus only the sandbox target and `concurrency_full`. Stored
subagent records that carry a group still decode; the extra key is ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream answers a child's secret request in the child's thread. Remove the
fork's copy of waiting child secret cards above the coordinator's composer on
web and mobile. A child started on its own sandbox by delegate_task never
reached it anyway: its sandbox is linked to the host server, not paired with
the client, so the client could neither list nor answer that child. The shell
stream already publishes a child's secret and link cards upstream.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Remove the fork's late-timer wake detector so web and desktop clients notice
a computer waking from sleep through upstream's own wakeups only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fork made every "work locally" resend wait for the operate scope on the
draft's machine, a gap only a freshly paired sandbox has. Other drafts now
resend exactly as upstream does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base automatically changed from fix/sandbox-starting-label to feat/sandbox-environments November 15, 2026 21:16
@t3-code-sandboxes
t3-code-sandboxes Bot merged commit 01a8502 into feat/sandbox-environments Nov 15, 2026
@t3-code-sandboxes
t3-code-sandboxes Bot deleted the chore/drop-non-sandbox-divergences branch November 15, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant