Uh oh!
There was an error while loading. Please reload this page.
fix(ui): settle live turn after persisted completion - #3791
Conversation
Astro-Han
left a comment
There was a problem hiding this comment.
I reviewed this head and found no blocking issues.
reconcileTerminalLiveTurn() now correctly uses the persisted non-runningturn_state for the same turnId as terminal evidence, clearing stale retry and marking in-flight tools as interrupted. No parallel authority or inferred state misuse.
No P0-P3. Checks on 6bce1b5ddb are test: in_progress — code GO, awaiting green.
简体中文
该头未发现阻断。Generated-by: OpenAI Codex
6bce1b5 to
34d49b0Comparehqhq1025
commented
Aug 25, 2026
Rebased onto current Local verification on
Please re-review the refreshed head. |
Uh oh!
There was an error while loading. Please reload this page.
Summary
turn_stateas authoritative terminal evidence when the renderer missed the live terminal eventRoot cause
The Runtime Host had completed the run and persisted both the assistant response and terminal
turn_state, butreconcileTerminalLiveTurn()only used the persisted terminal marker to settle steering messages. A live projection containing text was retained unchanged, so a missed terminal event could leave the renderer permanently active even though the answer was already visible.Verification
npm --workspace @maka/ui test— 228/228 passednpx biome check packages/ui/src/live-turn-projection.ts packages/ui/src/__tests__/live-turn-projection.test.ts packages/runtime-host/src/__tests__/execution-host-queue.test.ts— passednpm --workspace @maka/ui run typecheck— passednpm --workspace @maka/runtime-host run typecheck— passednpm --workspace @maka/desktop run typecheck— passedgit diff --check origin/main...HEAD— passedThe full Runtime Host suite was attempted, but current-main integration fixtures fail during Host startup with
no such table: message_admissionsand then do not exit cleanly. The Runtime Host build and typecheck pass; the failure occurs before the changed queue assertions execute.AI use
Select exactly one:
Tool(s) and scope: OpenAI Codex investigated the runtime/renderer state mismatch, implemented the reconciliation fallback, added regression coverage, and performed local verification.
Checklist
Does this PR entail a change in behavior?