-
feat(#2): Tier-2 — transient characters + persona-state write; audit converges
released this
2026-06-30 23:57:09 -07:00 | 172 commits to main since this releasev1 coverage-audit: the last in-scope client I/O points. The audit now
CONVERGES — REST 17/40 covered with zero in-scope gaps (23 excluded-by-
design), SSE 11/11, Bifrost planes 8/8.- sessions.py: list_character_models / create_character / get_character_state
/ delete_character (#161, character.read/write) + set_persona_state
(POST /sessions/{id}/persona_state — freeform body, unpinned in the
frozen surface). 200/201 -> dict (or None on 204), off-status ->
SessionApiFailed. - cli.py: two one-shot probes (mirror --whoami): --characters (CRUD
lifecycle report) + --set-persona-pad "p,a,d" (requires --session).
New ParsedArgs.characters/set_persona_pad + probe mutual-exclusion. - Contract #2 amended (5 FNs) + validated. TDD: 7 wrapper + 5 cli tests.
Suite 573 green; touched code ruff-clean. - Char read side live-proven (GET /models/available-for-characters -> 200).
Coverage-map: convergence frontier CLOSED — scope-A "done" (every frozen
I/O point classified) is met; ratatoskr cuts v1 when Worldtree tags 1.0.Downloads
- sessions.py: list_character_models / create_character / get_character_state