Files
ratatoskr/persistent-memory.d/2026-07-01-tier-2-shipped-v0-19-1-transient-characters-c.md
T
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.6 KiB

[2026-07-01] Tier-2 SHIPPED (v0.19.1) — transient-characters CRUD + persona-state write; the v1 coverage-audit CONVERGES (zero in-scope gaps). 5 wrappers in sessions.py: list_character_models/create_character/get_character_state/delete_character (#161, character.read/.write scopes) + set_persona_state (POST /sessions/{id}/persona_stateFREEFORM body: unpinned in the frozen OpenAPI 2.2.0 + absent from the prose spec, so the caller supplies the snapshot shape). Two one-shot CLI probes (mirror --whoami): --characters (models→create→get-state→delete lifecycle report) + --set-persona-pad "p,a,d" (requires --session; POSTs {pad:[…]}). New ParsedArgs.characters/set_persona_pad + probe-mode mutual-exclusion validation + _probe_client helper. Contract #2 amended (5 FNs, validated OK) + TDD (7 wrapper respx + 5 cli tests). Suite 573 green; touched code ruff-clean. NOT live-proven (character scopes + the persona-write body shape unverified — the probes degrade gracefully on 403/422). THE v1 COVERAGE-AUDIT HAS CONVERGED: REST 17/40 with ZERO in-scope gaps (23 REST path-groups excluded-by-design + rationale), SSE 11/11, Bifrost provider planes 8/8. Scope-A "done" (every frozen I/O point classified, zero unaccounted) is MET — ratatoskr cuts v1 when Worldtree tags 1.0. Only not-consumed in-scope sub-method: GET /agents/{id} (consumer-agent lookup, manual-curl-only, on an already- path group). Patch bump (Tier-2 tail; v0.19.0 already published the core-complete milestone — a 2nd minor would be cadence-too-fast).