This repository has been archived on 2026-10-08. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
maestro/crates
naps62-yoloandClaude Opus 4.7 2e6b7ac356 feat(maestro): registry fan-out of catalog events to daemons (NAP-246)
Each daemon connection now also subscribes to the registry's event broadcast.
A per-connection task pumps peer-filtered events through the existing
outbound mpsc as `CatalogEvent` frames; the daemon side mirrors them
locally (NAP-246).

Two pre-existing race fixes that NAP-246's extra traffic exposed:

* `create_session` / `kill_session` now eagerly mirror Ok results into
  state.sessions (via the same `add_session` / `remove_session` calls the
  daemon's async `SessionAdded` / `SessionRemoved` will hit later — both
  are idempotent). HTTP callers no longer see a transient empty catalog
  immediately after a successful POST.
* Catalog frames flow through the same select! arm as RPC frames so the
  WS sink+stream coupling axum imposes doesn't stall the inbound reader.

Updates daemon_ws.rs tests to skip CatalogEvent frames when asserting on
RPC frames.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 19:18:18 +00:00
..