Repository navigation
Upstream advance to 0.1.4: what to handle #772
Description
Things the advance to upstream's 0.1.4 line has to handle. Add to this as items come up.
Linked environments merged upstream
Upstream merged nine layers of Julius Marminge's linked-environment stack into main on 2026-10-27: pingdotgg#16653 through pingdotgg#17130. They landed as nine squash commits, 1b1ad0466d to 5e9d56416f. The first nightly that contains them is v0.1.4-nightly.20261027.3796. The v0.1.3 stable release does not. The handoff layers (pingdotgg#16731 → pingdotgg#16734 → pingdotgg#16751 → pingdotgg#16758) are still open upstream.
It overlaps J5's own peering (docs/j5/product/cross-device.md), so the advance needs a deliberate merge, not just conflict resolution.
What it brings
- Off by default. Linked environments is a Labs beta: the server setting
linkedEnvironmentsEnabledin Settings → Labs, turned on separately on each machine. While it is off, new links, forwarded calls and remotedelegate_taskare refused, and the link tools are hidden. - Settings → Connections → Linked environments on web and mobile. It sits beside J5's peering in Connections. Decide how the two coexist there.
- Forwarding in
McpToolAccess. A tool that declares it can reach a linked environment forwards a call that names another machine'senvironmentId. Upstream's thread, project and queue tools now accept one. J5 hidest3_thread_send,t3_thread_wait,t3_thread_interrupt,t3_thread_launchand the queue mutators. Check they stay hidden, and that J5's own tools, which go throughMcpToolAccess, don't pick up forwarding by accident. - The link fence. At every access level below full access, work a link starts may change only that link's own work. A full-access link is not fenced.
delegate_taskto a linked environment, with remote tasks followed from the parent's machine.- Agent-initiated links. Link cards and the
t3_environment_links,t3_environment_linkandt3_environment_unlinktools. ThreadLaunchServicegainslinkOriginanddelegatedFrom, and agent launches now dispatch under the caller's mode ceiling (DispatchModeLimit).reuseExistingThreadis unchanged, but re-testj5_spawn_agentand Crew launches on it./mcpnarrows a client's modes from theT3-Mode-Limitheader, andt3_thread_launchtakes aclientRequestId.- Migrations 070–072:
PeerLinks,PeerLinkFenceandWaitingLinkRequestIndex. J5's list ends at 062 and J5 claims no numbers in that range, so they don't collide. - Follow-ups already on upstream's
main: feat(web,mobile): the @ picker lists threads on linked machines pingdotgg/t3code#26201 (the@picker lists threads on linked machines), feat(web,mobile): Copy thread copies a chip that works on linked machines pingdotgg/t3code#26202 (Copy thread works across machines), feat(server,web,mobile): thread links name their environment and never a title pingdotgg/t3code#26239 (thread links name their environment) and fix(web): remote delegates show their harness icon, a parent row, and new links in settings pingdotgg/t3code#26434 (remote delegates show their harness icon and parent row).
Likely breakage to check during the merge
- The link fence may refuse J5's
writestools for work a lower-access link started. Full-access links are exempt. - Remote delegation calls the launch, wait and interrupt tools on the other machine, and J5 hides them.
- Children created with
delegatedFrommay register as J5 participants.
Decisions this unparks
- Reconcile J5's thread tools with upstream's once linked environments settle #695: the "upstream owns spawning and control, J5 owns agent-to-agent messaging" tool boundary, including bringing back
j5 thread. - Show J5 command relationships in upstream's Lineage panel #283: how Peer Agents and Crew seats show in Lineage.
What upstream said about J5's points. Julius replied to Jackson's comment on pingdotgg#16655 (comment). Links work over any route that reaches the machine, such as Tailscale, a tunnel or https. A call to a sleeping machine fails retryably, and clientRequestId makes the retry safe. A poll mode isn't planned for this first version. That bears on #399.
Activity