Repository navigation
plat 539
github-actions[bot] edited this page Oct 6, 2026
·
2 revisions
| Field | Value |
|---|---|
| State | fixed on main |
| Priority | - |
| Product | chat |
| Area | reliability |
| Summary | fixed on main, not deployed: the sidecar completion path now emits nothing when the turn is no longer tracked. |
| Coordination | Value |
|---|---|
| State | fixed on main (2026-10-05); not deployed; owner to check the chat after a restart |
| Date | 2026-10-05 |
| Owner | chat-reliability |
Owner, sales-outreach chat (Codex): after "The run finished: 0 messages..." the chat showed "Ran from the CLI runtime directory using only my own shell tools ..." and a sandbox test table. The Codex terminal showed only the real reply (10:06 PM).
- The extra text was a second
unified_completion(seq 16138,source: coding_agent_sidecar) written one second after the real one (seq 16135,canonical_turn_completion). Its text is the final message of the thread's FIRST turn (3 October 17:35). The same text had been recorded the same way at seq 11055, 12707 and 13030 on 4 October.coding_agent_sidecaris only the label of the server's own retained-turn completion path (emitRetainedMainTurnStreamCompletion,server.go). - That path re-reads the turn's start time from
retainedMainTurns. After the structured completion has settled the turn the entry is gone, so the start time is zero. With a zero start the "already emitted" guard is skipped, andReadRetainedTurnMessages/readCodexRolloutFinalAssistantText(provider) applies no timestamp filter and keeps the completion of the firsttask_startedturn in the file. The rollout itself was correct (175 turns, in order). - The chat is one thread since 3 October, so the first turn is old. Any retained Codex chat can show its first reply the same way.
-
emitRetainedMainTurnStreamCompletion: with no tracked turn it logs[RETAINED_TURN] No active retained turn, not emitting a completionand emits nothing. TestTestRetainedTurnCompletionEmitsNothingWhenTheTurnIsNoLongerTrackedfails with one stale event on the old code.
- Provider hardening (not done):
ReadRetainedTurnMessagesshould return nothing for a zero turn start, as the progress reader already does; it needs a provider commit and a pin bump. - The stale completions already stored in the sales-outreach chat's history stay (seq 11055, 12707, 13030, 16138); they are old events, not removed.
- Owner check after restart: no extra sandbox reply after the next turn of a long Codex chat; look for the new log line.
PLAT-539, fixed on main, not deployed: the sidecar completion path now emits nothing when the turn is no longer tracked.
Auto-synced from docs/ on main. Edit there, not here.