vh
af07a2329a
feat(#2): Tier-2 — transient characters + persona-state write; audit converges
v1 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.
2026-06-30 23:57:09 -07:00
..
2026-06-30 15:42:33 -07:00
2026-06-30 23:57:09 -07:00
2026-06-15 02:36:47 -07:00
2026-06-15 02:36:47 -07:00
2026-05-23 14:34:53 -07:00
2026-06-30 22:05:14 -07:00
2026-05-22 16:41:16 -07:00
2026-05-23 17:58:22 -07:00
2026-05-23 16:13:55 -07:00
2026-05-24 20:39:55 -07:00
2026-05-24 20:31:10 -07:00
2026-05-27 20:53:13 -07:00
2026-06-20 16:47:03 -07:00
2026-06-19 23:32:47 -07:00