Skip to content

fix(runtime): keep Codex account and tape sticky - #735

Merged
delete-cloud merged 3 commits into
mainfrom
fix/phase-f-provider-oauth-wiring
Sep 3, 2026
Merged

delete-cloud merged 3 commits into
mainfrom
fix/phase-f-provider-oauth-wiring

Conversation

@delete-cloud

Copy link
Copy Markdown
Owner

Summary

Phase F serving follow-up after live Codex verification.

  • Treat Codex as one provider. OAuth accounts are a session-level picker; runtime still stores provider_name as codex:<label>.
  • Keep a bound session tape_id across runtime rebuilds (retain_session_tape in daemon prepare and ensure) so a completed session's next prompt does not raise session tape target cannot be rebound.

Test plan

  • uv run ruff check on touched Python files
  • uv run pytest focused runtime/CLI/config (250 passed)
  • pnpm test in webui/app-next (308 passed)
  • Live HTTP: same session TURN1_OK then TURN2_OK, one tape_id

Out of scope: settings replace_runtime_config tape rebind; Next.js cross-origin 403 to daemon; production new-runtime activation flag; Phase G.

Codex OAuth accounts are session options under one provider.
Runtime rebuilds reuse the bound tape_id so a completed
session's next prompt does not rebind.

Verified: ruff; 250 pytest; 308 vitest.
@delete-cloud
delete-cloud deleted the fix/phase-f-provider-oauth-wiring branch September 3, 2026 05:47
Finalizer copies ctx tape on first bind and keeps a sticky
session tape_id. create_agent must not treat an empty Tape
as missing, or restored named tapes get a new uuid.
@delete-cloud delete-cloud reopened this Sep 3, 2026
Sticky tape_id is enforced at daemon prepare. complete only
assigns on first bind so later turns cannot overwrite it.
@delete-cloud
delete-cloud marked this pull request as ready for review September 3, 2026 08:08
@delete-cloud
delete-cloud merged commit 1ebe91f into main Sep 3, 2026
1 check passed
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.

1 participant