1 Commits

  • [codex] add process-owned code-mode session client (#30112)
    ## Summary
    
    - add `ProcessOwnedCodeModeSessionProvider` and logical session
    generation/rebinding state
    - add the supervised child-process connection, reader/writer tasks, and
    driver state machine
    - make dropped execute/wait/open callers cancellation-safe with explicit
    ownership handoff and durable cleanup
    - validate cell/delegate lifecycle state and reject invalid protocol
    transitions
    - add end-to-end stdio coverage for delegates, cancellation, frame
    limits, child loss, stale generations, replacement, and long-lived
    sessions
    
    ## Why
    
    This final stage exposes the process-owned client only after the wire
    protocol, host-safe runtime, and standalone host are independently in
    place. Transport failure is fail-stop: the client closes local state,
    cancels callbacks, reaps the child, and lazily rebuilds a fresh host
    generation rather than transactionally recovering the old connection.
    
    ## Stack
    
    This is **4 of 4** in the process-owned code-mode session stack.
    
    - Depends on #30111
    - Full stack: #30108#30110#30111 → this PR
    
    ## Validation
    
    - `just test -p codex-code-mode -p codex-code-mode-host` — 86 passed
    - `just fix -p codex-code-mode`
    - `just fix -p codex-code-mode-host`
    - `just bazel-lock-update`
    - `just bazel-lock-check`
    - `bazel test //codex-rs/code-mode:code-mode-unit-tests
    //codex-rs/code-mode-host:code-mode-host-unit-tests
    //codex-rs/code-mode-host:code-mode-host-stdio-test
    //codex-rs/code-mode-protocol:code-mode-protocol-unit-tests` — 4/4
    passed
    - `just fmt`