fix: sandbox, turn cap and model default in AI review workflows - #12
Open
edg-l wants to merge 1 commit into
Open
fix: sandbox, turn cap and model default in AI review workflows#12edg-l wants to merge 1 commit into
edg-l wants to merge 1 commit into
Conversation
- codex: detach git LFS filters, they fail inside the read-only .git of the workspace-write sandbox and break every git command with exit 128 - codex: install bubblewrap so it stops falling back to its bundled copy - codex: default model gpt-5.4 -> gpt-5.6-terra (same rate card) - claude: max_turns 30 -> 35, and post the review even when the run hits the cap instead of dropping it and leaving a bare red check
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.
Four fixes, all found while looking at why the AI review on lambdaclass/ethrex#7029 came back half broken.
Codex reviews fail in repos that use git LFS. Codex runs with
--sandbox workspace-write, whose writable roots are[workdir, /tmp, $TMPDIR], and.gitis excluded even though it sits inside the workdir.actions/checkoutleaves LFS-tracked files as pointers, so the LFS filters run on every git command and try to write.git/lfs/tmp:git lfs uninstall --localbefore the codex step drops the filters. It has to happen outside the sandbox, since inside it cannot write.git/configeither. Picked this overlfs: trueon checkout so review runs don't download LFS objects they never read.Claude reviews are thrown away when they hit the turn cap. On ethrex the run ended with
subtype: error_max_turns, exit 1, and no comment, because a capped run has noresultfield and the post step is skipped once the action fails. Raised the default cap 30 to 35, addedalways()to the post step, and made the script fall back to the last assistant message with a> Partial review: <reason>line. The job still goes red, but the review that was already written gets posted.Codex model default gpt-5.4 to gpt-5.6-terra. Same rate card, so this is free: $2.50 input, $0.25 cached input, $15 output per 1M tokens on both, and both move to $5.00/$22.50 on the long-context meter. Terra also brings a 1.05M context window and 128K max output. Note the ID has to be spelled out, since the bare
gpt-5.6alias routes to Sol at $5/$30.Bubblewrap. Codex logs
could not find bubblewrap on PATHand falls back to its bundled copy, so install it.Untested from my side: whether the codex CLI pinned in
openai/codex-action@v1accepts thegpt-5.6-terrastring. Worth a/codexon a throwaway PR before this reaches every repo on@v1.Not touched: claude's checkout is
fetch-depth: 1, so it burns turns runninggit fetch origin main --depth=1to get a diff base. That is probably part of why it hits the cap at all. There is already afix/claude-fetch-depthbranch for it.