mirror of
https://github.com/nexu-io/open-design.git
synced 2026-09-20 06:15:06 +08:00
ea58bd7526
* 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