mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* feat(relay): read-only seat feed on cells for the directors' shadow directory Cells keep an in-memory log of host joins, leaves and drain notices and serve it at GET /v1/admin/cell-seats, authenticated with the directors' existing rehome identity. Nothing reads it yet. * test(relay): read the seat feed through its published shape so the tests typecheck * fix(relay): serve the seat feed's full snapshot from the change log's own seats counts.controls drops when a socket starts closing, but the leave lands only at its close event, so a full snapshot built from open sockets could disagree with a reader that applied every change. The log now keeps its own seats under the readers' generation rule and reports counts.seats. * fix(relay): report auth-expiry drain-only and its refresh as seat-feed changes The heartbeat's auth-expiry drain-only and an auth refresh back to active changed session state without a feed entry, so a reader's seat state drifted from the cell's. Both now go through the log; the refresh is a new 'active' kind. * refactor(relay): cut unread seat-feed fields; verify a feed poll once fixLevel, counts.splices, counts.enforcedUnits and counts.hardCap had no reader, so they leave before they become a cross-version contract. The admin middleware no longer verifies /v1/admin/cell-seats polls, which the route already gates on the rehome identity.