diff options
| author | t <t@tjp.lol> | 2026-08-18 16:37:31 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-08-18 16:37:40 -0600 |
| commit | 94e3fd8358bbdb5d6ed81aed475fab7fc73e2097 (patch) | |
| tree | b028540f25e1818fefe51cb4c05a4c2cd4e5708d /subagents | |
| parent | cc69a2e431779528578211a5cb3385bb23e076bf (diff) | |
Fix workflow progress pin lifecycle
Diffstat (limited to 'subagents')
| -rw-r--r-- | subagents/progress.lua | 12 |
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 |
