From 94e3fd8358bbdb5d6ed81aed475fab7fc73e2097 Mon Sep 17 00:00:00 2001 From: t Date: Tue, 18 Aug 2026 16:37:31 -0600 Subject: Fix workflow progress pin lifecycle --- subagents/progress.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'subagents') diff --git a/subagents/progress.lua b/subagents/progress.lua index fb95115..03fe62a 100644 --- a/subagents/progress.lua +++ b/subagents/progress.lua @@ -312,12 +312,12 @@ function M.claim(event) local prior = boards[key] if prior then set_board_pinned(prior, false) end boards[key] = board - set_board_pinned(board, true) - -- During startup/restart the child catalog already contains the durable - -- turns for this outer call. A live call normally finds nothing here; the - -- ownership stamp makes that distinction without parsing outer results. + -- Replayed calls are already historical. Only a call dispatched during the + -- live turn belongs at the bottom of the screen. if replaying then replay_board(board, type(key) == "string" and key or nil) + else + set_board_pinned(board, true) end end @@ -710,6 +710,10 @@ end -- The host fires this before the first live model turn, after startup -- conversation replay has finished. Keeping the mode explicit avoids scanning -- child files for every ordinary foreground call. +function M.begin_replay() + replaying = true +end + function M.begin_live_turn() replaying = false end -- cgit v1.3