Wire AgentCycleState through runner and TUI

Runner owns AgentCycleState, calls trigger() on each user message
instead of the old run_hook() JSON round-trip. Sends AgentUpdate
messages to TUI after each cycle.

TUI F2 screen reads agent state from messages instead of scanning
the filesystem on every frame. HookSession::from_fields() lets
poc-agent construct sessions without JSON serialization.

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
Kent Overstreet 2026-04-02 00:52:57 -04:00
parent d097c8e067
commit 1c190a3925
5 changed files with 48 additions and 38 deletions

View file

@ -124,6 +124,9 @@ pub enum UiMessage {
/// Context loading details — stored for the debug screen (Ctrl+D).
ContextInfoUpdate(ContextInfo),
/// Agent cycle state update — refreshes the F2 agents screen.
AgentUpdate(Vec<crate::subconscious::hook::AgentInfo>),
}
/// Sender that fans out to both the TUI (mpsc) and observers (broadcast).