fix(strix): route openai-direct fallback to the OpenAI API base - #1299
fix(strix): route openai-direct fallback to the OpenAI API base#1299seonghobae wants to merge 4 commits into
Conversation
0c6b9a6 mapped the openai-direct prefix and routed the OpenAI key, but the child scan still read LLM_API_BASE_FILE -- the primary provider's endpoint. Observed on LineageWeave#570 (run 32701426812): after both NVIDIA models 429'd, the openai-direct/gpt-5.6-luna fallback reached integrate.api.nvidia.com with an unknown model path and died in 4s with '404 page not found'. When the candidate is explicit-openai and STRIX_OPENAI_FALLBACK_API_BASE_FILE is configured, select that file as the api-base source, exactly mirroring the existing GitHub Models cross-provider routing. Key routing was already correct.
|
Warning Review limit reachedNext included review available in 12 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Full gate self-test suite: PASS (0 failures) with this change. |
Current-head review loop
Please run current-head review and required Checks again. No merge is requested until exact-head gates and eligible approval are present. |
|
Correction to the preceding loop note: the first push used a newly named sibling branch and did not move PR #1299. The PR's actual head branch is |
Current-head validation
The current Devin finding about the |
Exact-head reviewRevalidated current head Local evidence: filtered NVIDIA-to-OpenAI and GitHub-to-OpenAI fallback cases exited 0; |
|
Additional exact-head validation for |
There was a problem hiding this comment.
Pull request overview
OpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed.
Findings
1. HIGH Current-head GitHub Checks - Fix failed required checks before approval
- Problem: Failed same-head checks remain for
b92648e1df52a9213f46dcbe88e9fc448f6d54a7. - Root cause: The model-unavailable evidence fallback is allowed only when peer GitHub Checks are complete and clean.
- Fix: Read and fix the failed check logs below, then rerun the current-head checks.
- Regression test: Keep the model-unavailable fallback gated on an empty failed-check rollup.
Failed checks:
- Strix Security Scan/strix: FAILURE (https://github.com/ContextualWisdomLab/.github/actions/runs/32719334448/job/97407200513)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/32719334448/job/97407200513)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: strix.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: strix.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["CI script (2 files)"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script (2 files)"]
R2 --> V2["bash -n plus Strix self-test"]
OpenCode Review Overview
Pull request overviewOpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed. Findings1. HIGH Current-head GitHub Checks - Fix failed required checks before approval
Failed checks:
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: strix.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: strix.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["CI script (2 files)"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script (2 files)"]
R2 --> V2["bash -n plus Strix self-test"]
|
|
Superseded by current-main replacement PR #1331, which re-uploads the direct-OpenAI fallback API-base/key boundary and incorporates the later review repairs. |
Follow-up to 0c6b9a6. Production evidence: ContextualWisdomLab/LineageWeave#570 strix run 32701426812 (job 97353571099). Both NVIDIA models 429'd, then openai-direct/gpt-5.6-luna failed in 4s with
Error: 404 page not found— the prefix mapping and key routing from 0c6b9a6 worked, but the child scan still read LLM_API_BASE_FILE, i.e. the primary provider's endpoint (integrate.api.nvidia.com), where gpt-5.6-luna has no model path.Fix: when the candidate is explicit-openai (
openai_direct/*oropenai-direct/*) and STRIX_OPENAI_FALLBACK_API_BASE_FILE is configured, resolved_llm_api_base_for_model selects that file — mirroring the existing GitHub Models cross-provider routing. Key routing was already correct; this completes endpoint+key+name so the terminal fallback can actually complete a scan.Reuses the existing is_explicit_openai_model helper (no new duplicate).