fabro/lib
Bryan Helmkamp a33c9069cf
Run steering over pebble's bus and keep only fabro's attribution
Pebble's `SteeringBus` now owns the map of live sessions, the buffer for
steers that arrive between sessions, fan-out of steers and interrupts, the
close-the-door detach, and the hold that keeps a paired session open. The
hub keeps what only fabro knows: pair records, principals, stage ids, and
the run events that put bus activity on the run's stream in the order its
consumers expect. `PebbleControlHandle` is gone, since the coding agent's
control handle is a bus session natively; the ACP session joins the bus
through a small adapter and carries pebble's steering message end to end,
so a human steer keeps its author on the ACP `agent.steering.injected`
event. A pair message that evicted an older steer is now accepted and the
eviction recorded, where before it was queued and reported as refused.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 20:35:31 -06:00
..
apps Take environment helpers, compaction accounting, and search providers from pebble 2026-09-11 19:51:12 -06:00
components Run steering over pebble's bus and keep only fabro's attribution 2026-09-11 20:35:31 -06:00
foundation Take MCP servers from pebble 2026-09-11 19:26:41 -06:00
packages/fabro-api-client Run agent stages, Ask Fabro, and fabro exec on pebble's CodingAgent 2026-09-11 14:19:15 -06:00