|
1 | 1 | # Codex Surface Adoption |
2 | 2 |
|
3 | | -Verified: 2026-06-09 |
| 3 | +Verified: 2026-06-10 |
4 | 4 |
|
5 | 5 | Source of truth: |
6 | 6 | - Runtime baseline: `references/codex-baseline.json` |
7 | 7 | - Runtime package pin: package metadata for `@openai/codex` |
8 | | -- Official changelog and config docs: `https://github.com/openai/codex/releases/tag/rust-v0.138.0` and `https://developers.openai.com/codex/changelog` |
| 8 | +- Official changelog and config docs: `https://github.com/openai/codex/releases/tag/rust-v0.139.0` and `https://developers.openai.com/codex/changelog` |
9 | 9 |
|
10 | 10 | ## Decisions |
11 | 11 |
|
12 | 12 | | Surface | Introduced | Decision | Implementation | Validator | |
13 | 13 | | --- | --- | --- | --- | --- | |
14 | | -| Codex CLI runtime baseline | 0.138.0 | Adopted | Root contract and adapter runtime pins require `@openai/codex` / `codex-cli` `0.138.0`; local installed runtime must report `codex-cli 0.138.0`. | `python3 scripts/check_mcp_runtime_versions.py --fail-on-outdated` | |
| 14 | +| Codex CLI runtime baseline | 0.139.0 | Adopted | Root contract and adapter runtime pins require `@openai/codex` / `codex-cli` `0.139.0`; local installed runtime must report `codex-cli 0.139.0`. | `python3 scripts/check_mcp_runtime_versions.py --fail-on-outdated` | |
15 | 15 | | `[tui].status_line` owner status line | 0.119.0 | Adopted | `scripts/install_system_codex.sh` manages `status_line = ["model-with-reasoning", "context-remaining", "five-hour-limit", "weekly-limit", "git-branch", "current-dir"]` and `status_line_use_colors = true` in `config.toml` and both `rldyour-yolo`/`rldyour-safe` profile configs so every session footer shows model, context remainder, and five-hour/weekly rate-limit remainder. Only these two keys are managed; other user `[tui]` keys are preserved. | `tests/unit/test_install_system_codex_tui_status_line.py` | |
16 | 16 | | `/app` desktop handoff and Windows workspace launch | 0.138.0 | Operational | Treat as runtime capability. Repository config does not hard-code Desktop handoff state, but installed-runtime smoke may rely on the `codex` binary being at the 0.138.0 baseline before diagnosing app/server integration behavior. | `scripts/doctor_system_codex.sh --quick --strict-runtime` | |
17 | 17 | | Local image file paths exposed to the model | 0.138.0 | Capability-dependent | Local image attachment and generated-image path exposure is runtime behavior. Do not add repository claims about availability unless installed-runtime checks prove the active account/session supports the capability. | n/a | |
18 | 18 | | Plugin command JSON and richer plugin metadata | 0.138.0 | Operational | 0.138.0 documents richer plugin JSON surfaces. The adapter already treats JSON plugin inventory as installed-runtime evidence and keeps static validators from inventing runtime plugin state. | root `scripts/ry_repair_sync.py --plan --apply-system --json` | |
19 | 19 | | App-server token-usage and v2 personal access token support | 0.138.0 | Capability-dependent | Authentication tokens and account usage data remain external runtime state. Do not store PATs, OAuth tokens, or account usage in repository config, logs, memories, or fixtures. | `scripts/validate_instruction_docs.py` | |
20 | 20 | | Model-defined reasoning effort ordering | 0.138.0 | Operational | Keep managed subagent TOML defaults static unless the owner changes model policy. Runtime-provided effort ordering is accepted as CLI behavior, not a repository schema migration. | `scripts/validate_agent_tools.py` | |
21 | | -| Stable release boundary vs. prereleases | 0.138.0 | Adopted | Stable `0.138.0` is the release-grade baseline. `0.139.0-alpha.*` and later alpha tags remain excluded unless the owner explicitly enables prerelease runtime policy. | `scripts/check_mcp_runtime_versions.py --fail-on-outdated` | |
| 21 | +| Stable release boundary vs. prereleases | 0.139.0 | Adopted | Stable `0.139.0` is the release-grade baseline. `0.140.0-alpha.*` and later alpha tags remain excluded unless the owner explicitly enables prerelease runtime policy. | `scripts/check_mcp_runtime_versions.py --fail-on-outdated` | |
| 22 | +| Code-mode standalone web search and richer MCP schemas | 0.139.0 | Operational | 0.139.0 lets code mode call standalone web search (including nested JS tool calls) and preserves `oneOf`/`allOf` plus more shallow structure in compacted tool schemas. Runtime behavior only: keep MCP definitions in `.mcp.json` unchanged and treat improved schema fidelity as compatibility, not a config migration. | `scripts/smoke_mcp_capabilities.py` | |
| 23 | +| `codex doctor` editor/pager environment details | 0.139.0 | Operational | `codex doctor` now reports editor and pager environment details locally while redacting raw values in JSON output; keep using the doctor in installed-runtime diagnostics without storing raw environment values. | `scripts/doctor_system_codex.sh --quick` | |
| 24 | +| Marketplace `list --json` source field and cached catalog responses | 0.139.0 | Operational | `codex plugin marketplace list --json` now includes each marketplace source and plugin lists may return from the cached remote catalog before background refresh; installed-runtime checks must treat cached-vs-fresh catalog responses as equivalent evidence. | root `scripts/ry_repair_sync.py --plan --json` | |
22 | 25 | | `codex doctor` diagnostics | 0.135.0 | Operational | Owner doctor flow remains `scripts/doctor_system_codex.sh`; `/ry-repair --apply-system` also plans direct `codex doctor` when installed runtime is available. | `scripts/doctor_system_codex.sh --quick --strict-runtime`; root `scripts/ry_repair_sync.py --plan --apply-system --json` | |
23 | 26 | | Remote `/status` server-version details | 0.135.0 | Not applicable | Remote TUI status output is user-facing runtime behavior and does not change repository config. | n/a | |
24 | 27 | | `/permissions` named/custom profile display | 0.135.0 | Operational | Use `/permissions` and `codex doctor` to inspect resolved permission profiles. Do not migrate the owner profile from the legacy `sandbox_mode` dialect without an explicit policy change. | `scripts/validate_instruction_docs.py` | |
|
0 commit comments