Files
ratatoskr/persistent-memory.d/2026-07-01-bifroststate-pane-shipped-v0-18-10-get-admin.md
vh ff1f9ca1e8 memory: /snapshot — #368 silo test passed; two-tier migration; stores scrubbed
- #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.
2026-07-17 21:39:18 -07:00

1.5 KiB

[2026-07-01] BifrostState pane SHIPPED (v0.18.10) — GET /admin/sessions/{id}/bifrost in a new TUI "Bifrost" pane; the FIRST admin-key consumer in ratatoskr. get_session_bifrost(client, session_id, *, admin_key) (sessions.py) — admin-scoped (admin.sessions.read); the request OVERRIDES Authorization with admin_key (distinct from the consumer bearer, asserted in a test); 200→dict, non-200→SessionApiFailed. Admin-key wiring: --admin-key flag + RATATOSKR_ADMIN_API_KEY env → new ParsedArgs.admin_key. New "Bifrost" TabPane + _format_bifrost_state + _hydrate_bifrost_state best-effort worker (mirror _hydrate_session_tools) UNCONDITIONALLY in on_mount → writes {endpoint, connected, caps_granted, tools} + audits; self-labels "not configured" (no admin key) / "not bound" (404) / graceful on 403 + error. Contract #2 amended (FN, validated OK) + TDD (4 wrapper respx tests incl. the admin-bearer-override assertion + 1 format unit + 3 hydrate integration). Suite 552 green; my code ruff-clean (pre-existing tui.py ruff debt at other lines untouched, incl. a dead RichText import in _hydrate_persona). LIVE-AUTH-PROVEN on personal :8081: admin key authenticated (reached resource-layer 404 session_not_found, NOT 401/403) → admin.sessions.read works live; 200 full-state not exercised (no bound session on :8081 now — unit-covered). Patch bump (debug feature, no downstream coordination; consistent with the session's cadence — but the §5-core-completion angle is a possible minor, operator's call).