• fix(cli): wire AffectUpdate + AwaitingLlmFirstToken into --send presenter (v0.14.1)

    vh released this 2026-05-27 00:25:47 -07:00 | 240 commits to main since this release

    The CLI presenter at cli.py:201 carries its own isinstance check on
    the Event union (mirroring the TUI presenter's same pattern). v0.11.0

    • v0.14.0 added AffectUpdate + AwaitingLlmFirstToken to the wire layer
      but only updated the TUI presenter, leaving the CLI presenter stuck
      on the pre-v0.11.0 event vocabulary.

    Effect: ratatoskr --send crashes with AssertionError on any v0.28.0+
    server emitting either of those events. Persona-enabled agents
    (affect_update fires on every qualifying turn) and slow-first-token
    turns (awaiting_llm_first_token heartbeats fire at 5s intervals) are
    both reliably broken. Surfaced while running a wire-trace smoke test
    against a Gemma4-based Tier 3 agent.

    Patch-bump per SemVer discipline: corrects drift on the just-shipped
    surface (v0.11.0 / v0.14.0 wire layer); no public signature change,
    no new behavior, existing callers don't care — the bug fix lets them
    keep working against current servers.

    Routing additions in cli.py:

    • AffectUpdate: stderr line with status + (for current) dominant_emotion
    • AwaitingLlmFirstToken: stderr line with turn_id + elapsed (seconds)
    Downloads