Skip to content

refactor(goose): split the goose harness into runtime and UI - #1721

Closed
loganj wants to merge 1 commit into
agent-host-codex-splitfrom
agent-host-goose-split
Closed

loganj wants to merge 1 commit into
agent-host-codex-splitfrom
agent-host-goose-split

Conversation

@loganj

@loganj loganj commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

🤖

Summary

  • Stacked on refactor(codex): split the Codex harness into runtime and UI #1720. It applies the same split to goose: the runtime half runs where the agents run, and the UI half holds the screens. This is part of the work to run agents in a hidden webview that a hidden UI page cannot stall.
  • No behavior changes. goose's Agents page entries, provider dialog, Settings tab and Activity tab work as before.

Details

  • goose's agent entry now owns the setup, the runtime, the history reads and the process sync. It registers the type and exposes setup, runtime and history handles for its UI.
  • The UI entry presents the icon, Create, CreateModel, tabs, and the provider's dialog and default control.
  • The tabs take narrow handle types (Pick of GooseSetup, GooseRuntime and GooseHistory) in place of the classes, so they can only call what the bridge will carry.
  • Known gaps for the bridge PR: history.find, history.recent and history.transcript take an AbortSignal.

Testing

  • The goose tests now go through both entries (appliedType).
  • tsc --noEmit and the goose, agents feature and Agents page suites pass, except for one Agents page avatar-picker test that also fails on the base branch in my local tree.

🤖 Generated with Claude Code

The goose agent entry registers the runtime half and exposes setup,
session and history handles. The UI entry presents the icon, create
form, provider dialog and tabs from those handles only.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
loganj added a commit that referenced this pull request Oct 29, 2026
…s into runtime and UI

A plugin may export an `agent` entry beside `apply`. Code agents need
while they run (an agent type's runtime, tools, wakes and Attention
sources) goes there; `apply` stays the UI. Both start in the same page
for now. Claude, Codex, goose and Pi now register their types from their
agent entries and present them from their UI entries, reaching the
runtime only through the type's `expose` handles.

Inert: the app behaves the same.

Squashes #1716, #1719, #1720, #1721 and #1723.

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 commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Squashed into #1716 (one PR per column of the agents split), rebased onto main.

@loganj loganj closed this Oct 29, 2026
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