feat: reviewer execution-speed (Codex Fast mode) config, host-surfaced - #8
Merged
Conversation
…faced
Impasse already lets you set the reviewer model and reasoning effort;
this adds the third independent Codex control — service tier / Fast mode
("execution speed") — mirroring the effort pattern exactly.
- `--speed {standard,fast}` per run, `IMPASSE_CODEX_SPEED` env, `set-speed`
to persist. Precedence: per-run > env > persisted > default `standard`
(Fast OFF). Codex-only (the claude backend reports speed null and
set_default_speed refuses a non-null claude write); independent of effort.
- build_codex_argv adds `-c service_tier="fast" -c features.fast_mode=true`
only when fast. The value is allowlisted at every entry (argparse choices,
set-speed, persisted read, review() per-run/env guard, and build_codex_argv
itself) so no value can smuggle codex `-c` config syntax. Fast trades
~1.5x serving speed for higher credit cost.
- Rides the run-result metadata alongside model/effort.
Host-surfaced (users drive Impasse THROUGH the host, not the raw CLI):
SKILL.md generalizes the interactive model-picker guidance to model +
effort + speed (AskUserQuestion), documents the natural-language mapping
(per-run request -> flag; "always ..." -> set-*), and states the
precedence + codex-only rule. Mirrored in README and docs/backends/codex.md,
with a doc-consistency test asserting the docs match the CLI surface.
Dogfooded through Impasse (ran live with --speed fast --effort high;
result metadata confirmed speed=fast reaching the real Codex backend); two
review findings fixed (mixed-case report footer belongs to #5; a clean
`set-speed --backend claude` exit here).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X8XaW2bqgYnp7oRVgfHXid
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Impasse already lets you set the reviewer model and reasoning effort; this adds the third independent Codex control — service tier / Fast mode ("execution speed") — mirroring the effort pattern exactly.
What
--speed {standard,fast}per run,IMPASSE_CODEX_SPEEDenv,set-speedto persist. Precedence: per-run > env > persisted > defaultstandard(Fast OFF).speed: null;set_default_speedrefuses a non-null claude write) and independent of effort (high effort + fast is valid).build_codex_argvadds-c service_tier="fast" -c features.fast_mode=trueonly when fast. The value is allowlisted at every entry (argparse choices,set-speed, persisted read,review()per-run/env guard, andbuild_codex_argvitself) so no value can smuggle codex-cconfig syntax. Fast trades ~1.5× serving for higher credit cost.model/effort.Host-surfaced (the key requirement)
Users drive Impasse through the host, not the raw CLI. SKILL.md now generalizes the interactive model-picker guidance to model + effort + speed (
AskUserQuestion), documents the natural-language mapping (per-run request → flag; "always …" →set-*to persist), and states the precedence + codex-only rule. Mirrored in README anddocs/backends/codex.md, with a doc-consistency test asserting the docs match the CLI surface.Verification
set-speedpersist/clear/reject, codex-only handling, injection guard, metadata) + the doc-consistency test. Three gates green.--speed fast --effort high; result metadata confirmedspeed=fastreaching the real Codex backend. Two review findings fixed (the cleanset-speed --backend claudeexit is here; the mixed-case report footer is in the report: show renders "Nothing needed you" for runs the operator actually decided #5 PR).Reference:
codex-openai-options-summary.md(the Codex model/effort/speed options this implements).🤖 Generated with Claude Code