Live profiling of the built app (debugger pause inside the hot sqlite call) showed AgentAwarenessRelay.publishThread grinding at ~8 full shell snapshots per second after boot. Two causes: - streamDomainEvents was eventSink.stream() with no cursor, which replays every stored event from genesis before going live — so each boot fed the relay the entire event history as fresh activity, and it queued a publish per activity-relevant event for hours. It now tails from the current high-water mark; the relay's startup snapshot publish already covers initial state, and the sink subscribes before reading the cursor so no live event is lost. - publishThreadUnsafe materialized the full shell snapshot to find one thread; it now uses getThreadShell (archived/deleted map to the tombstone path exactly as the active-list lookup did). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Julius Marminge committed on 8/29/2026, 6:01:54 AMparent6d7b07f
2 files changedLine totals unavailable