Files
lefarcen ea58bd7526 fix(web): stop replaying OD Next turns parked on the user (#8250)
* fix: preserve ChatPanel history and clarification state

* test(daemon): align artifact replay assertions with durable history

* fix(web): stop replaying OD Next turns parked on the user

A clarification turn ends with its Run succeeded while the strategy task
stays open (`clarification_required`, `plan_ready`). The recovery probe in
`attachRecoverableRuns` only bailed out for terminal tasks, so it cleared
the finished row and replayed the Run from event 0. A conversation refresh
landing mid-replay adopted the persisted transcript, the rest of the replay
was appended behind it, and the replay's terminal PUT stored the duplicate:
the question form card rendered with raw form JSON under it.

A succeeded Run whose task holds no active Run has nothing left to follow;
the daemon claims any automatic successor in the same transaction as the
verdict, which a probe would see as a different `activeRunId`. Seal such a
Run without clearing or replaying it. Rows that still need transcript
recovery keep replaying.

Refs OPEND-3230
2026-09-17 16:42:23 +00:00
..