What's up with this ? https://research.example.invalid/?view=assistant&sessionId=example-session-0008
Says planned remote run but i see no plan. Also there's an extra inline run rendered block
<image> </image>Based on a real day; names and selected personal details have been changed or omitted.
What's up with this ? https://research.example.invalid/?view=assistant&sessionId=example-session-0008
Says planned remote run but i see no plan. Also there's an extra inline run rendered block
<image> </image>I’ll trace the assistant session rendering and inline run lookup path, then fix the duplicate/404 behavior where it’s coming from. After that I’ll run the repo’s validation and follow the repo instruction to commit, push, and deploy if there’s a deployment target.
The initial search points at the dashboard/session code and the worker’s remote-run plan/start tools. I’m narrowing to the app and control-plane sources now, because the screenshot looks like a frontend rendering issue plus a stale inline-run reference.
I found the likely cause: run inference treats any UUID in assistant text as a run id, so the session UUID in this URL-shaped content can produce an inline run block that fetches /runs/<session-id>/results and gets 404. I’m tightening that extraction and also making planned-run messages immune to inline run rendering so the approval block can show the plan instead of being skipped.
oh i could see the plan after i sent a followup message ("?") but not before.
That follow-up detail fits the same failure mode: the plan entry was in the transcript, but the frontend was deriving a bogus run id from UUID text and using the run-block path instead of the plan approval path until the next refresh changed the entry order/state. I’m adjusting both the run-id inference and the rendering priority so planned-run metadata wins.
I also hid the raw plan_remote_run tool-call transcript entry. The user-facing plan should be the approval block with the generated prompt, not a separate “Starting tool call” message that looks like a plan but contains only arguments.
The diff is scoped to src/App.tsx: stricter run ID parsing, planned-run metadata protected from inline run blocks, and hidden raw plan tool-call entries. I’m running the standard validation now.
TypeScript caught one leftover constant from the narrower parsing change. I’m cleaning that up and rerunning.
pnpm build and pnpm test pass. I’m running the dashboard QA next; it rebuilds and drives the harness flows, so it should catch transcript rendering regressions better than the harness contract check alone.
Dashboard QA passed. The repo has a Cloudflare deploy workflow, so I’m deploying the validated build next per the repo instructions, then I’ll commit and push the change.
Deploy succeeded to the Cloudflare Worker routes, including research.example.invalid/*. I’m checking the final git state, then I’ll commit and push.
Fixed and deployed.
What was happening: the dashboard was treating any UUID in assistant text as a run id, so the session id could be mistaken for a run id and render an inline run block that 404’d. I tightened run-id inference to explicit run contexts only, made planned remote-run entries skip inline run rendering, and hid the raw plan_remote_run tool-call transcript entry.
Validation passed:
pnpm build
pnpm test
pnpm run qa:dashboard
Deployed to Cloudflare:
Version example-id-0021
Committed and pushed:
b120c04 Fix assistant remote run plan rendering
::git-stage{cwd="/Users/example/Documents/Projects/alpha-research"} ::git-commit{cwd="/Users/example/Documents/Projects/alpha-research"} ::git-push{cwd="/Users/example/Documents/Projects/alpha-research" branch="codex/run-lifecycle-reconciliation"}
There are two run boxes !!
<image> </image>I see it. That’s a separate duplicate case from the 404: two transcript entries are both resolving to the same real run id, so the frontend renders the same RemoteRunBlock twice. I’m going to make the run-block de-dupe happen at render time as well, so duplicate assistant entries cannot produce duplicate live boxes.
The existing de-dupe only applied to entries whose stored role was assistant. The duplicate boxes are likely a system tool-result entry plus the assistant summary entry; both become assistant-rendered messages in the UI, but only one was being considered for de-dupe. I’m fixing the de-dupe to cover every non-user message before it reaches the thread.
Build and harness validation pass. I’m running the dashboard smoke again, then I’ll deploy this follow-up and push it.
The duplicate run-block fix is deployed. I’m committing and pushing the follow-up now.
Fixed the duplicate run boxes too.
Root cause: the de-dupe only applied to stored assistant entries, but the run can appear once as a system tool-result entry and once as an assistant summary. Both render as assistant UI messages, so both produced the same inline run block.
Follow-up deployed:
Version example-id-0023
Validation passed:
pnpm build
pnpm test
pnpm run qa:dashboard
Committed and pushed:
6620faf Deduplicate inline run blocks across session entries
::git-stage{cwd="/Users/example/Documents/Projects/alpha-research"} ::git-commit{cwd="/Users/example/Documents/Projects/alpha-research"} ::git-push{cwd="/Users/example/Documents/Projects/alpha-research" branch="codex/run-lifecycle-reconciliation"}