Skip to content

fix(runtime): prepare v0.9.19 hotfix#399

Merged
spytensor merged 1 commit into
mainfrom
codex/fix-v0918-local-runtime
May 26, 2026
Merged

fix(runtime): prepare v0.9.19 hotfix#399
spytensor merged 1 commit into
mainfrom
codex/fix-v0918-local-runtime

Conversation

@spytensor
Copy link
Copy Markdown
Owner

Summary

Closes #398.

  • Retry stale Codex resume thread ids once with a fresh Codex thread instead of rendering raw Session not found for thread_id text as @host output.
  • Make @user visibly distinct in scrollback by using the prompt green identity color.
  • Suppress the root host TurnDispatched banner so normal user -> host turns do not double-label @host, while preserving real cross-role handoff banners.
  • Bump release metadata to v0.9.19: Cargo, npm wrapper, docs.rs URL, README direct install tag, splash copy, CHANGELOG, and boot dashboard snapshot.

Changed files

  • src/adapter/codex.rs: stale Codex session detection/retry and tests.
  • src/repl/render.rs, src/repl/tests.rs: suppress root host dispatch banner and cover it.
  • src/console_room_runtime.rs: visible @user identity color.
  • Cargo.toml, Cargo.lock, src/lib.rs, npm/package.json, README.md, data/splash_content.toml, CHANGELOG.md: v0.9.19 release metadata.

Acceptance criteria

  • Stale Codex resume ids retry fresh once instead of surfacing raw adapter text.
  • @user scrollback label is visibly styled.
  • Root host turns no longer render a duplicate host handoff banner.
  • v0.9.19 release metadata is prepared.

Validation

  • cargo fmt --all -- --check
  • git diff --check
  • env -u NO_COLOR TERM=xterm-256color cargo test --quiet — 765 passed, 1 ignored in lib; smoke tests intentionally ignored.
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --release
  • python3 scripts/dogfood-v09-user-cases.pycr 0.9.19, DOGFOOD PASS: v0.9 local user-case gate completed.

Evidence packet

Local project evidence showed .coreroom/sessions/ids/host.id contained 4028d717-299e-4039-b333-c615a041c197, and .coreroom/messages.jsonl recorded the same stale id followed by an @host role_spoke event containing Session not found for thread_id: 4028d717-299e-4039-b333-c615a041c197. That made the root cause a stale Codex resume id being returned as tool text, not a new user thread.

Risks and remaining gaps

  • The stale-session detector intentionally matches exact leading Session not found for thread_id: text or a JSON-RPC message field with that leading text. If Codex changes the wording, it will fall back to the existing error path.
  • This does not clear stale ids before the next successful retry; it relies on the successful retry's RoleSessionUpdated event to persist the fresh Codex thread id.

Rollback plan

Revert this commit and release a corrective patch tag if the retry path regresses Codex session continuity or if the transcript rendering change hides a required handoff banner.

Tracker update

No milestone tracker update required; this is a direct v0.9.18 -> v0.9.19 maintainer hotfix tracked by #398.

@spytensor spytensor merged commit 9ac73ff into main May 26, 2026
5 checks passed
@spytensor spytensor deleted the codex/fix-v0918-local-runtime branch May 26, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.9.18 local runtime transcript hotfix

1 participant