# Codex parity review: `3418498f..be2e4afc`

This appendix classifies every commit in the exclusive local-checkout range

```text
openai/codex@3418498f01422f5f650ea645d4bd19e05c3a9616
    ..openai/codex@be2e4afcd7392339d6adbaf0d31b26316bcaa2ab
```

`git rev-list --count 3418498f01..be2e4afcd7` returns `7`. The ordered list
below is mechanically comparable with
`git log --reverse --format=%h 3418498f01..be2e4afcd7`.

The decision codes reuse the main ledger's policy:

- `P29` — MCP credential-bearing HTTP requests stop at cross-origin
  redirects.
- `P30` — locally spawned MCP response frames are bounded while they are
  produced.
- `O1` — app-server, persisted-thread, SQLite, or thread-projection behavior.
- `O2` — Codex's generic multi-agent scheduler or configurable subagent
  roles.
- `O10` — remote Code Mode host policy and protocol.
- `O14` — Codex's shared route-aware HTTP-client architecture.

## Ordered classifications

```text
49025589b0 out-of-scope O2
2494d939cf out-of-scope O14
899539c03a out-of-scope O14
61de0d8fe8 port P29
9291a123fb out-of-scope O10
85c6da1c79 out-of-scope O1
be2e4afcd7 port P30
```

## Decisions

- `49025589b0` configures developer-instruction replacement for Codex's v2
  generic subagent roles, including app-server resume. Nanocodex exposes one
  owned agent lifecycle and opaque forks; it does not import role
  configuration or the generic scheduler.
- `2494d939cf` adds streaming request bodies to Codex's route-aware shared HTTP
  pool. Nanocodex's OpenAI boundary already owns its concrete persistent
  Responses transport and has no equivalent backend/proxy-routing layer.
- `899539c03a` reuses that route-aware pool for OpenAI file upload and signed
  blob URLs. The provider upload surface and shared HTTP pool are absent from
  the stable SDK.
- `61de0d8fe8` upgrades Codex to an RMCP beta and changes broad app-server,
  elicitation, issuer, and refresh behavior. The applicable credential
  invariant is `P29`; the beta dependency and the other larger surfaces are
  not parity requirements.
- `9291a123fb` distinguishes a disabled remote Code Mode host from an enabled
  in-process fallback. Nanocodex deliberately owns one local Code Mode runtime
  and has no remote process-host policy.
- `85c6da1c79` persists named thread sections through app-server schemas,
  SQLite, rollout reconciliation, and thread pickers. Those thread-management
  surfaces are outside the library SDK.
- `be2e4afcd7` adds opt-in MCP 2026-07-28 discovery, pagination, protocol
  negotiation, and a bounded modern stdio decoder. `P30` adopts the bounded
  production invariant for Nanocodex's one established MCP lifecycle; the new
  protocol/configuration surface remains outside this stable PR.

## Classification totals

| Classification | Count |
| --- | ---: |
| `port` | 2 |
| `evaluate` | 0 |
| `defer` | 0 |
| `out-of-scope` | 5 |
| Total | 7 |
