Skip to content

Upstream advance to 0.1.4: what to handle #772

Open

Description

@Jacksondr5

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 linkedEnvironmentsEnabled in Settings → Labs, turned on separately on each machine. While it is off, new links, forwarded calls and remote delegate_task are 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's environmentId. Upstream's thread, project and queue tools now accept one. J5 hides t3_thread_send, t3_thread_wait, t3_thread_interrupt, t3_thread_launch and the queue mutators. Check they stay hidden, and that J5's own tools, which go through McpToolAccess, 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_task to a linked environment, with remote tasks followed from the parent's machine.
  • Agent-initiated links. Link cards and the t3_environment_links, t3_environment_link and t3_environment_unlink tools.
  • ThreadLaunchService gains linkOrigin and delegatedFrom, and agent launches now dispatch under the caller's mode ceiling (DispatchModeLimit). reuseExistingThread is unchanged, but re-test j5_spawn_agent and Crew launches on it.
  • /mcp narrows a client's modes from the T3-Mode-Limit header, and t3_thread_launch takes a clientRequestId.
  • Migrations 070–072: PeerLinks, PeerLinkFence and WaitingLinkRequestIndex. 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 writes tools 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 delegatedFrom may register as J5 participants.

Decisions this unparks

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions