- #368 (user,character) memory silo test DONE + PASSED live (WT b127): write-side conjunctive {end_user,agent_self} scoping + read-side cross- character isolation both proven end-to-end; betty (throwaway) deleted, Sindra intact. Full record in persistent-memory.d/2026-07-18-368-silo- test-passed.md. Retired the stale "silo test in progress" in-flight blocks. - Two-tier migration: split 152 over-threshold dated entries into persistent-memory.d/ detail files, leaving one-line pointers in the index (startup load ~196KB -> ~53KB; bodies now load on demand). - Tier-3 stores scrubbed clean (memory 0 / affect 0, provider restarted empty); persistent-memory + detail file updated to reflect the scrub.
2.2 KiB
[2026-07-01] AdminEvents pane SHIPPED (v0.18.11) — GET /admin/events SSE in a new TUI pane; #11 closed-by-build; Tier 1 (debug-observability core) COMPLETE. stream_admin_events(client, *, admin_key, last_event_id=None) (sse_client.py) — a NEW long-lived SSE consumer for the admin lifecycle broadcast (envelope {id,type,timestamp,data}, 17-event v0 vocab), admin-scoped (admin.events.read, bearer-override), Last-Event-ID resume; non-200→SseConnectFailed, mid-drop→SseConnectionDropped; new AdminEvent dataclass (distinct from the turn Event union). New "AdminEvents" TabPane + _format_admin_event + _admin_event_matches (design-brief §6 filter: active-session events + non-heartbeat system.*) + _stream_admin_events long-lived best-effort worker (unconditional on_mount, cancelled on app exit; self-labels "not configured"/"unavailable"/"stream ended"). Reuses the admin key from the BifrostState slice. Contract-SKIPPED for stream_admin_events (out of contract #1's turn-SSE scope; spec § Admin Event Stream is the reference; well-TDD'd). TDD: 4 sse_client tests (multi-event+bearer-override, Last-Event-ID header, 403, malformed-skip) + 5 tui (format, filter, worker success/no-key/403). Suite 561 green; my code ruff-clean (pre-existing tui.py ruff debt untouched, incl. the dead RichText import in _hydrate_persona). LIVE-AUTH-PROVEN: GET /admin/events on :8081 → HTTP 200 under the admin key (connected + streamed, idle in the 4s window — no 401/403). Coverage: REST 12/40 ✅. Tier 1 admin/debug-observability core COMPLETE (Persona · Tools · BifrostState · AdminEvents). AdminEvents work landed as patch v0.18.11; then v0.19.0 MINOR cut (operator-approved 2026-07-01) publishing the milestone: the debug-observability core is complete (Persona · Tools · BifrostState · AdminEvents all built + consuming real endpoints — the design-brief's headline deliverable). Pre-1.0 minor = release-note-worthy (no downstream althing push needed pre-1.0); lightweight tag per the SemVer mechanics (annotated reserved for major cuts). Remaining in-scope client I/O: only Tier-2 (transient-characters routing + POST /sessions/{id}/persona_state).