Skip to content

Commit 4bb9780

Browse files
author
SqlRush
committed
docs: record request-side parity wins + remaining input/tools gaps
STATUS scorecard adds the error turn, output-last-message, output-schema request, and full request-body differentials. DEVIATIONS records the two tracked request-body gaps: input (environment-context / permissions / skills — large port, not byte-verifiable cross-env due to absolute paths/date/timezone) and tools (full gpt-5.5 registry — byte-verifiable; execution already drop-in).
1 parent b402d11 commit 4bb9780

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

DEVIATIONS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ Categories: `format` (on-disk), `protocol` (wire), `behavioral`, `cosmetic`.
3333
| 32 app-server-protocol | behavioral | ts-rs/schemars schema-export generator deferred; a few cross-area fields carried as `json.RawMessage` | the runtime types/methods are faithful; the codegen tool is non-runtime | accepted |
3434

3535
| 34 exec | behavioral | On an API error, the error *message* text differs: codex surfaces the clean upstream error body; codexgo leaks internal wrapping (`core: model stream failed: …`). The event shape, exit code, and terminal `turn.failed` event all match (verified by `TestParityTurnError`). | error-message cleanup needs threading the upstream API error through core without the `%w` chain prefix; tracked | review |
36+
| 34 request `input` | protocol | codexgo sends only the bare user turn; codex prepends a contextual user message system: `<permissions instructions>` (sandbox/approval/network text), `<skills_instructions>` (scans `SKILL.md`), and `<environment_context>` (cwd/shell/current_date/timezone/filesystem XML). Surfaced by `TestParityRequestBody` (tracked, logged not failed). NOTE: the rendered text embeds absolute paths, today's date, and timezone, so it is **not byte-verifiable** in a cross-env differential — it needs structural (path/date-normalized) verification. | large port: `core/src/context/{environment_context,permissions_instructions,contextual_user_message}.rs` (~1080 lines) + turn-input assembly | review |
37+
| 34 request `tools` | protocol | codexgo advertises a minimal tool set (view_image, update_plan, shell_command; 3,072 bytes); codex advertises the full gpt-5.5 registry (`exec_command` PTY + more, fixed order; 9,692 bytes). Tool *execution* is already drop-in (`TestParityTurnExecCommand`/`ApplyPatch`); only the advertised set diverges. Byte-verifiable via `TestParityRequestBody`. | port the per-model tool registry + selection (`core/src/tools/`) | review |
3638

3739
> Entries are appended as each spec lands and reports its deviations.
3840
> **`review (must finish)`** items are genuine gaps to close before claiming the

docs/STATUS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ Automated, credential-free, binary-vs-binary (env-gated on `CODEX_PARITY_BIN`):
6666
| `exec --json` text turn | ✅ byte-identical normalized JSONL |
6767
| `exec --json` shell-command tool turn | ✅ byte-identical (runs the command) |
6868
| `exec --json` apply_patch tool turn | ✅ byte-identical + identical patched file |
69+
| `exec --json` error turn | ✅ same terminal `turn.failed` + exit code (msg text tracked) |
70+
| `exec -o/--output-last-message` | ✅ byte-identical file |
71+
| `exec --output-schema` request `text` | ✅ byte-identical json_schema block |
72+
| full `/responses` request body | 🟡 `model`/`tool_choice`/`store`/`stream`/`include`/`service_tier`/`text`/`reasoning`/`parallel_tool_calls`/`instructions` byte-identical; `input` (env-context) + `tools` (full registry) tracked |
6973
| `doctor --json` | 🟡 18 check IDs + container/keys match; per-check `details` shape differs |
7074
| `completion` | 🟡 functional; not clap-byte-identical |
7175

0 commit comments

Comments
 (0)