Compare every flag the builders emit against the installed codex CLI.
The wrapper drifted silently once already: Codex went 0.119 to 0.145 in
roughly three months, removing --ask-for-approval, --search and the
sandbox <platform> subcommand along the way, and nothing in CI
noticed (see #52, #64).
This task builds a maximal command from each builder, collects the
flags it emits, and checks each one against codex <subcommand> --help. A flag the CLI no longer lists is reported as drift.
mix codex.contractExits non-zero when drift is found, so CI can act on it.
Config-key redirects
Some options are emitted as -c key=value config overrides rather
than named flags -- approval_policy and web_search both moved that
way when their flags were removed. Config keys never appear in
--help, so they are probed separately by running the subcommand with
--strict-config and the override, which rejects unknown keys.
What this does not check
Flag semantics, value sets (an accepted flag whose allowed values changed is invisible here), and anything requiring authentication. It answers one question -- does the CLI still accept the flags we emit -- which is the failure mode that actually bit us.