Files
Julius Brussee 3e62063e40 fix(codex): compress array-shaped tool output, record route eligibility, stop config self-corruption and hook stacking
Live-tested Codex 0.149 through the proxy and found four defects:

- proxy: custom_tool_call_output.output is an ARRAY of input_text parts on
  Codex 0.149+. The Responses extractor accepted only the string form, so
  every real Codex tool turn had an empty live zone and the subscription
  route compressed nothing (75-116 KB requests, zero savings). The captured
  real request now compresses; regression test pins the array shape.
- proxy: the /chatgpt route never recorded compression eligibility, so the
  CLI told every Codex subscription user "your agent never reached the
  compression layer" even when routing worked.
- cli: codexNativeConfig ran the legacy table strippers before removing its
  own marker blocks; the stripper swallowed the tables end marker, so the
  block enable had just written failed its own re-parse as "corrupted" on
  the next wrap and doctor reported drift forever. Markers come off first.
- cli: nativeHooksDocument matched caveman hook entries by exact command
  string, so a binary path change (upgrade, moved install) appended a new
  hook set per event instead of replacing it. Match on managed identity.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W2f7Lf7G9erA7YNn5SXPEj
2026-09-04 01:57:14 +02:00
..