mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
1.2 KiB
1.2 KiB
05.1 — Durable journals + status stores
Steps
- In
assemble_turn_harness, attach aStoreEventJournal(over the 04-sessionsJsonlAppendStore) via aJournalSinkon the run'sEventSink, plus aHarnessStatusStorewriter (start with the in-memory impl process-wide; durable Store-backed status is the target — write a smallStore-backedHarnessStatusStoreimpl if the crate has none). - Same for graphs:
JournalGraphSink+GraphStatusStoreon delegation/ workflow/teams/fanout runs. - Wrap UI-bound sinks with
RedactingSink; define the redaction policy (prompts, tool args/results, secrets) in one OpenHuman module. - Late-attach replay: an RPC (
agent.run_events?) that readsread_from(run_id, offset)+ status so the desktop can reconnect mid-run and backfill — replaces reliance on transientAgentProgressbuffering. - Feed
session_db/run_ledgerevent/telemetry rows FROM journal records (projection job or write-through sink) instead of parallel publishes.
Deletions
None directly; enables 05.2/05.3 deletions.
Acceptance
- Kill the UI mid-turn, reattach, reconstruct the full timeline from journal + status (e2e).
list_by_rootanswers "every active descendant of this root run".