Skip to content

Give the Runner its own owner of agent state, in the same page - #1748

Draft
loganj wants to merge 1 commit into
agent-host-plugin-agent-entryfrom
agents-link-activity
Draft

loganj wants to merge 1 commit into
agent-host-plugin-agent-entryfrom
agents-link-activity

Conversation

@loganj

@loganj loganj commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The Runner, which runs agents, now owns what it decides from:

  • agent records and runner storage;
  • presence;
  • its own community connections;
  • which agents run;
  • plugin agent tools and Attention sources.

Local agent work reaches the screens over a JSON link. The Manager keeps the screens and agent management.

Inert: the Runner still runs in the screens' page.

This is column 2 of 4 in the Manager/Runner split. It squashes #1748, #1749, #1750, #1752, #1755, #1824 and #1826. It is rebased on current main, and main's newer agent features are ported into the split.

Ported from main

  • Native agent protection: the Runner decides which protected runs may start and checks their providers. The Manager keeps the custody wrapper.
  • Attention controls and presentWatch reach the Runner through each presentation's Attention provider.

Stack

  1. refactor(plugins): give plugins an agent entry, and split each harness into runtime and UI #1716: plugin split. Base: main.
  2. Give the Runner its own owner of agent state, in the same page #1748 (this PR): the Runner owns agent state, in the same page.
  3. Cross between the Manager and the Runner only over the JSON link #1833: the Manager and the Runner cross only over the JSON link.
  4. Run agents in a hidden page on macOS #1893: on macOS, agents run in a hidden page.

Validation at 32d6448f8 (on main 662e918)

  • tsc is clean, and Biome reports no errors.
  • Full Vitest run: all pass, with no unhandled errors, except the emoji-mart suite and 3 tests that also fail on main on this machine (2 emoji-picker theme tests and one StatusEditor test).

Deferred: a human test in the app.

🤖 Generated with Claude Code

@loganj
loganj force-pushed the agents-link-activity branch from 49c9b51 to b494007 Compare October 29, 2026 13:55
@loganj
loganj changed the base branch from agent-host-pi-split to agent-host-plugin-agent-entry October 29, 2026 13:55
@loganj loganj changed the title Send local agent work to the screens over a JSON link Give the Runner its own owner of agent state, in the same page Oct 29, 2026
The Runner, which runs agents, now owns what it decides from: agent
records, presence, runner storage, its own community connections, which
agents run, and plugin agent tools and Attention sources. Local agent
work reaches the screens over a JSON link.

Inert: the Runner still runs in the screens' page.

Squashes #1748, #1749, #1750, #1752, #1755, #1824 and #1826.

Signed-off-by: Logan Johnson <loganj@squareup.com>
Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@loganj
loganj force-pushed the agent-host-plugin-agent-entry branch from 829587f to 62ccbbd Compare October 31, 2026 13:31
@loganj
loganj force-pushed the agents-link-activity branch from b494007 to 32d6448 Compare October 31, 2026 13:31
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