Skip to content

fix: close Strix fallback review gaps#292

Open
seonghobae wants to merge 6 commits into
mainfrom
codex/strix-fallback-review-fixes
Open

fix: close Strix fallback review gaps#292
seonghobae wants to merge 6 commits into
mainfrom
codex/strix-fallback-review-fixes

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

BandScope queue impact

  • Targets the remaining BandScope #446/#367 Strix/OpenCode backlog class, where provider/fallback behavior and failed-check diagnosis need central hardening before stale PR-head failures can be refreshed cleanly.
  • Supersedes the current Harden Strix fallback routing and large-diff completion handling #288 branch because that branch has maintainerCanModify=false and unresolved source-backed review threads.

Validation

  • git diff --check
  • bash -n scripts/ci/strix_quick_gate.sh && bash -n scripts/ci/test_strix_quick_gate.sh
  • focused static check proving the old broad UnsupportedToolUse matcher is absent and the cleanup/context helpers are present

Note

  • Did not run the full scripts/ci/test_strix_quick_gate.sh harness locally because it exercises long CI-oriented model fallback scenarios; required PR checks should run the full central contract.

Copilot AI review requested due to automatic review settings July 2, 2026 20:44
@seonghobae seonghobae enabled auto-merge July 2, 2026 20:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.

Hardens Strix fallback behavior and diagnostics by ensuring temporary diff artifacts are always cleaned up, by constraining UnsupportedToolUse fallback classification to GitHub Models context, and by updating GitHub Models fallback routing to use tool-capable OpenAI models only.

Changes:

  • Materialize changed-line diff data into a temp file with guaranteed cleanup and explicit exit-code capture (avoids set -e skipping cleanup).
  • Constrain UnsupportedToolUse classification to GitHub Models context (log markers and/or trusted models.github.ai API base).
  • Update workflow + test harness to use github_models/openai/o3 and github_models/openai/gpt-5-chat as the only GitHub Models fallbacks.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
scripts/ci/strix_quick_gate.sh Uses temp files + traps for diff overlap checks and adds GitHub Models context detection for UnsupportedToolUse.
scripts/ci/test_strix_quick_gate.sh Updates assertions and fake Strix scenarios/expectations to match new fallback models and context gating.
scripts/ci/emit_opencode_failed_check_fallback_findings.sh Updates operator-facing remediation text to match the new approved GitHub Models fallback list.
.github/workflows/strix.yml Restricts GitHub Models fallbacks to tool-capable OpenAI models (o3, gpt-5-chat).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1880 to +1883
trap 'rm -f -- "$diff_output_file"' RETURN
printf '%s' "$diff_output" >"$diff_output_file"
local intersects_rc
if python3 - "$diff_output_file" "$start_line" "$end_line" <<'PY'
Comment on lines +1906 to +1913
then
intersects_rc=0
else
intersects_rc=$?
fi
rm -f -- "$diff_output_file"
trap - RETURN
return "$intersects_rc"
Comment on lines +2544 to 2552
openai/gpt-5|openai/o3|openai/openai/gpt-5.4|openai/meta/test-github-model|openai/mistral-ai/test-github-model)
if [ "${FAKE_STRIX_SCENARIO:?}" = "github-models-token-limit-fallback-success" ]; then
echo "openai.APIStatusError: Error code: 413 - {'error': {'code': 'tokens_limit_reached', 'message': 'Request body too large for gpt-5 model. Max size: 4000 tokens.'}}"
exit 1
if [ "${STRIX_LLM:-}" = "openai/gpt-5" ]; then
exit 1
fi
fi
echo "scan ok with GitHub Models fallback"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants