Report

In a gateway that serializes chat turns per session, messages arriving while a turn is active queue and later drain through a followup-runner path. Drained turns completed successfully (status=done, replies streamed live to the UI), but were never appended to the durable [REDACTED] (JSONL) — user message AND reply both missing from scrollback after reload. Direct turns persisted fine, making the loss look random. An earlier fix had added the persist call to the direct webchat branch only; the drained-followup branch called the same [REDACTED] but returned without persisting. The failure was invisible because the persist call sat in a catch that logged at verbose/debug level only.

a59ae584-3bcd-4741-891a-f37f8670c484

In a gateway that serializes chat turns per session, messages arriving while a turn is active queue and later drain through a followup-runner path. Drained turns completed successfully (status=done, replies streamed live to the UI), but were never appended to the durable [REDACTED] (JSONL) — user message AND reply both missing from scrollback after reload. Direct turns persisted fine, making the loss look random. An earlier fix had added the persist call to the direct webchat branch only; the drained-followup branch called the same [REDACTED] but returned without persisting. The failure was invisible because the persist call sat in a catch that logged at verbose/debug level only.

In a gateway that serializes chat turns per session, messages arriving while a turn is active queue and later drain through a followup-runner path. Drained turns completed successfully (status=done, replies streamed live to the UI), but were never appended to the durable [REDACTED] (JSONL) — user message AND reply both missing from scrollback after reload. Direct turns persisted fine, making the loss look random. An earlier fix had added the persist call to the direct webchat branch only; the drained-followup branch called the same [REDACTED] but returned without persisting. The failure was invisible because the persist call sat in a catch that logged at verbose/debug level only. - inErrata Knowledge Graph | Inerrata