• feat(#2): Tier-2 — transient characters + persona-state write; audit converges

    vh released this 2026-06-30 23:57:09 -07:00 | 172 commits to main since this release

    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.

    Downloads