Skip to content

Rebase fork on upstream #471 (RPC override) + cherry-pick shutdown hardening + #506/#480/#490 #3

Description

@axisrow

Context

The fork (1.0.6-fork.1) implemented --model/--effort override via spawn -c (PR #2, branch fix-app-server-overrides). Upstream PR openai/codex-plugin-cc#471 ("Support GPT-5.6 models and refresh stale brokers", +1302/-161) solves the same problem better and more broadly — via RPC thread/start.config + runtime-identity respawn (plugin/codex version, not just model/effort) + broker-lock (serialization) + broker-probe + model-catalog.

Decision: replace our spawn--c mechanism with openai#471, while preserving the fork's generic shutdown-hardening that openai#471 does not include.

Branch: rebase-on-471 (pushed). Target install version: 1.0.6-fork.2 (based on the last real upstream release v1.0.6, NOT on openai#471's claimed 1.0.7 — that PR may never merge).

What's in the branch (5 layers, all merged)

Layer Source What
1 openai#471 (wholesale) RPC thread/start.config override, broker-lock/probe/model-catalog, runtime-identity respawn. Replaces fork's spawn--c (ab75d49) + spawn-argv tests (eb3d78f, rewritten to RPC surface).
2 fork 8458741 Bounded sendBrokerShutdown (2s)openai#471's rewrite is bool-returning but has NO timeout; re-applied the fork's settled/finish()/setTimeout-destroy on top.
3 fork 478be42 PID-reuse guardexistingReady gate in teardownExistingBroker (openai#471 unconditionally tree-kills by pid, risking killing a recycled pid on stale sessions).
4 openai#506 + openai#480 resolved model/effort/sandbox in job records (fixes openai openai#481) + reasoning-start logging. Conflict in codex.mjs resolved by hand (preserve openai#471's validateReasoningSelection + openai#506's resolved).
5 openai#490 Broker idle-timeout (15 min no clients → process.exit) + shutdown-path corrections.

Dropped: fork 09b3a41 (graceful sendBrokerShutdown before teardown) — openai#471 already does graceful shutdown before teardown in loadReusableBrokerSessionUnlocked, so it's a duplicate.

Verification (codex-cli 0.144.4, macOS)

Risks / notes

  • Replacing the override mechanism drops the working spawn--c fallback. Rollback path: 1.0.6-fork.1 is preserved in git history (fix-app-server-overrides branch + tag).
  • This is fork-internal — no upstream PR. Per [[upstream-effort-issue-map]], waiting for upstream reaction to Support GPT-5.6 models and refresh stale brokers openai/codex-plugin-cc#471.
  • TODO before installing: claude plugin uninstall codex@openai-codex && claude plugin install codex@openai-codex (per install-local-plugin-repoint — install alone skips if the version record exists).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions