Skip to content

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

Closed

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 guard — existingReady 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).

Activity

  1. axisrow commented on Jul 21, 2026

    @axisrow
    OwnerAuthor

    Done — fork rebased on upstream openai#471, installed as 1.0.6-fork.2 (sha 06d5dc6). Shutdown hardening + openai#506/openai#480/openai#490 cherry-picked. See commit history for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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