Closed
opened 2026-05-24 18:00:20 -07:00 by vh
·
1 comment
No Branch/Tag Specified
main
diag/r30-gap-injection-harness
diag/r30-phi0-step-response
diag/r29-pad-series
graphify-tooling
v0.22.3
v0.22.2
v0.22.1
v0.22.0
v0.21.20
v0.21.19
v0.21.18
v0.21.17
v0.21.16
v0.21.15
v0.21.14
v0.21.13
v0.21.12
v0.21.11
v0.21.10
v0.21.9
v0.21.8
v0.21.7
v0.21.6
v0.21.5
v0.21.4
v0.21.3
v0.21.2
v0.21.1
v0.21.0
v0.20.17
v0.20.16
v0.20.15
v0.20.14
v0.20.13
v0.20.12
v0.20.11
v0.20.10
v0.20.9
v0.20.8
v0.20.7
v0.20.6
v0.20.5
v0.20.4
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.9
v0.19.8
v0.19.7
v0.19.6
v0.19.5
v0.19.4
v0.19.3
v0.19.2
v0.19.1
v0.19.0
v0.18.11
v0.18.10
v0.18.9
v0.18.8
v0.18.7
v0.18.6
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.17
v0.17.16
v0.17.15
v0.17.14
v0.17.13
v0.17.12
v0.17.11
v0.17.10
v0.17.9
v0.17.8
v0.17.7
v0.17.6
v0.17.5
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.2
v0.14.1
v0.14.0
v0.13.0
v0.12.0
v0.11.0
v0.10.0
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.1
v0.7.0
v0.6.5
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.1
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.1
v0.2.0
v0.1.0
Labels
Clear labels
blocked-needs-contract
blocked-needs-dependency
bug
cli
documentation
duplicate
enhancement
invalid
needs-architect-decision
needs-info
needs-triage
observability
ready-for-agent
sse-client
task
tui
wontfix
Sleipnir refuses dispatch — issue-scoped contract missing
Sleipnir holds dispatch — INV-029 dependency-aware gate
Something is not working
Command-line surface (--send, --new, --session, etc.)
Docs / contract / spec work
Duplicate of another issue
New feature or improvement
Not a real issue
Escalated for a design call
More info required from reporter
Newly filed, not yet sorted
Log-pane / debug-surface work (persona, admin events, Bifrost, tools)
Gates AFK dispatch via Sleipnir (applied by /sleipnir-preflight)
SSE consumer module (src/ratatoskr/sse_client.py)
Implementation task
Textual app shell + presenters
Accepted as not-fixing
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: vh/ratatoskr#14
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Status
Blocked on Worldtree #204 — emotion appraisal SSE events + persona-state baseline endpoint. Worldtree-dev filed the upstream tracker entry 2026-05-24 after a request from this side (althing thread
01KSE1NZ3Z29GAV2RMWZDR3KGC). Their team marked low / quality-of-life; no near-term ship commitment from them.This issue is the ratatoskr-side tracker — captures the consumer work we committed to in the althing exchange so the design space stays visible and a future implementer doesn't have to reconstruct it.
What lands when Worldtree #204 lands
Wire shape (selected by worldtree-dev: Option B — new event type, not worker_phase extension):
Bootstrap endpoint:
GET /agents/{agent_id}/persona_statereturns current PAD +emotions_active+ baseline +last_updated. 404 +PERSONA_NOT_CONFIGUREDfor agents without a persona block (domari, muninn, etc.). Auth scope likelypersona.read.Ratatoskr-side consumer work
ratatoskr.sse_client: newAffectUpdatefrozen dataclass mirroringWorkerPhaseshape (sse_id, turn_id, pre, post, trigger). Add to theEventUnion. Parser handlestype=="affect_update".ratatoskr.sessions: newget_persona_state(client, agent_id) -> PersonaState | Nonefunction. Returns None on 404PERSONA_NOT_CONFIGURED; raisesSessionApiFailedon other non-200s.ratatoskr.tui(in-place amendment to issue #4 + issue #13):TabPane("Emotion", id="emotion-tab")containingRichLog#emotion-log— 4th tab after Tools / Debug / Thinking.Binding("ctrl+4", "focus_emotion", "Emotion tab")._resolve_then_runcallsget_persona_stateon session-open (when agent_id is known); on success writes baseline line toemotion_log; on 404 writes(persona not configured)placeholder; on other failures writes the[session_api_failed]label.TuiPresenterState.rendersignature widens withemotion_log: RichLog.AffectUpdateevents route there with· affect: pre={…} → post={…} via {trigger}formatting (demoted style consistent with other telemetry).AffectUpdatefalls back toemotion_log.Rule(title=f"turn N")extends toemotion_log(INV-023).Out of scope (this issue)
persona_statebetween turns — baseline-on-open + SSE event-driven updates only.Acceptance
Dependencies
ratatoskr.tui) — landed; in-place amendment.Closed — shipped. Emotion pane (Worldtree #204) integrated across the v0.11.0→v0.13.0 arc. AffectUpdate dataclass + parse (sse_client), get_persona_state + PersonaState typed errors (sessions), sticky #persona-header + Ctrl+4 Persona TabPane with live AffectUpdate updates + on-mount hydration (tui). Also surfaced in cli --send and the web companion.