summaryrefslogtreecommitdiff
path: root/subagents
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-08-18 16:37:31 -0600
committert <t@tjp.lol>2026-08-18 16:37:40 -0600
commit94e3fd8358bbdb5d6ed81aed475fab7fc73e2097 (patch)
treeb028540f25e1818fefe51cb4c05a4c2cd4e5708d /subagents
parentcc69a2e431779528578211a5cb3385bb23e076bf (diff)
Fix workflow progress pin lifecycle
Diffstat (limited to 'subagents')
-rw-r--r--subagents/progress.lua12
1 files changed, 8 insertions, 4 deletions
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