What

A sequence of small events: proposing, tool call, observation, stop. Delivered as server-sent events so a page can append them without waiting for the run to finish.

Why

The browser agent is hard to trust if the only output is a final paragraph. I want the intermediate states to be data, not a story the model tells afterward.

Architecture

The orchestrator does not write to the page. It appends events to a log. A subscriber reads that log. The page is one subscriber. A future replay tool would be another. The log is the record. The page is a view.

Discoveries

Partial tool arguments are a bad event. They look like actions. I only emit a tool call once it is complete, and I emit a separate "proposing" event so the wait is still visible. Three dull events beat one exciting blob.

Back to the lab