• feat(#11): AdminEvents pane — GET /admin/events SSE (session-filtered)

    vh released this 2026-06-30 23:25:34 -07:00 | 174 commits to main since this release

    v1 coverage-audit: the last unbuilt design-brief §5 debug pane. #11's
    blocker was already satisfied (admin key carries admin.events.read).
    Completes the admin/debug-observability core.

    • sse_client.py: AdminEvent dataclass + stream_admin_events — a new
      long-lived SSE consumer for the admin lifecycle stream (envelope
      {id,type,timestamp,data}), admin-scoped (bearer-override), Last-Event-ID
      resume. non-200 -> SseConnectFailed; mid-drop -> SseConnectionDropped.
    • tui.py: "AdminEvents" TabPane + _format_admin_event + _admin_event_matches
      (design-brief §6 filter: active-session + non-heartbeat system.*) +
      _stream_admin_events long-lived best-effort worker (unconditional
      on_mount; self-labels not-configured / unavailable / stream-ended).
    • Contract-skipped for stream_admin_events (out of #1's turn-SSE scope;
      spec § Admin Event Stream is the reference). TDD: 4 sse_client + 5 tui
      tests. Suite 561 green.
    • LIVE-AUTH-PROVEN on :8081 (GET /admin/events -> HTTP 200 under admin key).

    Coverage: REST 12/40. Tier 1 debug-observability core complete.

    Downloads