Uh oh!
There was an error while loading. Please reload this page.
fix(strix): make Azure and cross-provider fallbacks executable - #1263
fix(strix): make Azure and cross-provider fallbacks executable#1263seonghobae wants to merge 37 commits into
Conversation
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughStrix 워크플로가 신뢰된 의존성 잠금, 검증된 dispatch 식별자, 격리된 상태 게시 및 Docker 샌드박스를 사용합니다. 게이트가 공급자별 폴백, 모델 정규화, 보고서 검증, advisory 필터링 및 authoritative 실행 evidence를 검사합니다. 관련 smoke 테스트와 회귀 테스트를 확장했습니다. ChangesStrix 보안 및 폴백 처리
Estimated code review effort: 4 (Complex) | ~75 minutes Merge Risk:🟡 Moderate · up to The PR makes Azure and cross-provider fallback routing executable and constrains dependency installation to the trusted lock, reducing fallback failures and untrusted dependency risk. Functional checks pass, but current-head security/SBOM validation is still queued and one documentation reference is invalid, so merge should wait for terminal validation and the small documentation fix. Sequence Diagram(s)sequenceDiagram
participant GitHubWorkflow
participant DispatchMetadata
participant StrixQuickGate
participant LiteLLM
participant FallbackProvider
participant StatusPublisher
GitHubWorkflow->>DispatchMetadata: 저장소와 HEAD 검증
DispatchMetadata-->>StrixQuickGate: 검증된 식별자 전달
GitHubWorkflow->>StrixQuickGate: 신뢰된 잠금과 fallback key 전달
StrixQuickGate->>LiteLLM: 정규화된 모델 요청
LiteLLM-->>StrixQuickGate: 실행 결과 또는 fallback 가능 오류 반환
StrixQuickGate->>FallbackProvider: 조건부 fallback 요청
StrixQuickGate-->>StatusPublisher: 검증 결과와 scan enabled 전달
StatusPublisher->>StatusPublisher: 성공 evidence 확인 후 상태 게시
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 23, 2026
Independent current-head review request for exact HEAD Gap G-03: required Strix still fail-closes 0-vuln complete scans on |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 23, 2026
@opencode-agent review Independent exact-current-head review requested for Verification on this exact head:
|
seonghobae
commented
Aug 23, 2026
Exact-head |
Strix default-branch dispatch exposed a real privileged-workflow supply-chain defect: the scan replaced the trusted workflow dependency lock with a same-repository PR-head lock before provider credentials later reached the installed scanner. Exact head de3abcd removes that materialization and makes both bounded smoke contracts plus pytest enforce trusted-source-only dependencies. Validation: 1396 passed, 1 skipped, 16 subtests; focused Strix set 40 passed plus 16 subtests; required-workflow smoke and shell syntax passed; git diff --check passed. No gate was weakened: incomplete provider scans and reported vulnerabilities remain non-passing. |
Strix default-branch dispatch exposed a real privileged-workflow supply-chain defect: the scan replaced the trusted workflow dependency lock with a same-repository PR-head lock before provider credentials later reached the installed scanner. Exact head 975a9e4 removes that operation, keeps installation on the trusted-source lock, and retains only the current default-branch smoke marker needed for bootstrap compatibility. Both old-main and exact-head bounded smoke contracts pass. Validation: 1396 passed, 1 skipped, 16 subtests; focused Strix set 40 passed plus 16 subtests; shell syntax and git diff --check passed. No gate was weakened: incomplete provider scans and reported vulnerabilities remain non-passing. |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 24, 2026
Exact current head
The artifact proves provider availability/quota failure, not a source vulnerability. No scan result was promoted to success. A failed-job rerun was requested; its new queue is tracked separately. No merge/readiness claim until a fresh same-head authoritative Strix result and protected approvals exist. |
seonghobae
commented
Aug 24, 2026
Exact-head update: Root-cause repair for the observed cross-provider Strix failure:
Exact-head local verification on this tree: 17 Strix fallback tests; 98 related Python contract tests; Bash syntax; actionlint; and @opencode-agent Please perform a new substantive review against this exact head only, including changed-file walkthrough, fallback credential/API-base boundary, security impact, and test evidence. Do not reuse predecessor-head evidence. |
seonghobae
commented
Aug 24, 2026
Exact-head repair update:
All predecessor reviews/checks are historical. Current hosted runs are queued/in progress and therefore non-passing. @opencode-agent Please perform a new substantive formal review against exact head |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 24, 2026
Final exact-head follow-up: The first full-harness pass correctly exposed a regression in the initial narrowing: an exact HF advisory with a malicious appended The final minimal repair includes the exact HF Hub advisory context in the same-line authentication boundary. Focused GREEN now covers: clean target narrative, genuine litellm Fatal, openai Warning, anthropic Denied, and altered HF-advisory suffix. The clean narrative passes; all four authenticated/altered provider signals remain fail-closed. All hosted checks and reviews for earlier heads are historical. New exact-head workflows are pending. @opencode-agent review this exact head only, including the altered-advisory negative control. |
seonghobae
commented
Aug 24, 2026
Disposition for current informational threads on exact head
No source change is justified by either informational observation. |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 24, 2026
Exact-head remediation on 4fb737a: fixed the Strix Changed Path Quality CI trigger so changes to requirements-strix-ci.txt, requirements-strix-ci-hashes.txt, and tests/test_strix_severity_identifier_boundary.py rerun the exact-head quality contract. Added regression assertions for all four contract inputs. Focused verification: 16 passed; Strix shell syntax; interrogate docstring coverage 100 percent; git diff --check passed. Please publish a fresh independent substantive review and required hosted checks for this exact head. Previous-head evidence is stale; no gate was weakened and no bypass was used. |
seonghobae
commented
Aug 24, 2026
Exact-head review disposition for
This addresses threads |
seonghobae
commented
Aug 24, 2026
Exact-head local verification completed for 4fb737a: full pytest 1408 passed, 1 skipped, 16 subtests; focused trigger contract 16 passed; interrogate docstring coverage 100 percent; shell syntax, compileall, and git diff --check passed. Hosted current-head workflows and independent approval remain pending, so this PR stays on the normal protected path. |
seonghobae
commented
Aug 24, 2026
Hosted exact-head verification is now available for The remaining queued security/SBOM workflows and absence of an exact-current-head qualifying formal verdict are non-passing; no merge is requested until those become authoritative. |
seonghobae
commented
Aug 24, 2026
Protected-main synchronization evidence for exact head
New hosted quality, security, SAST, OSV, SBOM, provenance, and CodeQL runs are queued/in progress and remain non-passing until terminal success. No predecessor check or review is transferred to this head, and no merge is requested yet. |
seonghobae
commented
Aug 24, 2026
Current-head review refresh requested.
Please run a new independent substantive review against this exact head before merge. |
seonghobae
commented
Aug 24, 2026
Current-head review loop
Please publish a fresh substantive review for this exact head and replace stale review state through the normal review workflow. Do not merge until the protected approval gate is current. |
seonghobae
commented
Aug 24, 2026
Exact-head Strix RCA for
Decision: |
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
ab3d764547082e1b55b6257cc1cd9aa5d951fa30. - 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/32712851121/job/97387875273)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/32712851121/job/97387875273)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow (2 files)"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (3 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs (3 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (3 files)"]
R3 --> V3["docs review"]
Evidence --> S4["CI script (4 files)"]
S4 --> I4["review and security gate shell path"]
I4 --> R4["Review risk: CI script (4 files)"]
R4 --> V4["bash -n plus Strix self-test"]
Evidence --> S5["Test (4 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (4 files)"]
R5 --> V5["targeted test run"]
seonghobae
commented
Aug 24, 2026
Current-head owner-path revalidation for the downstream Inkspan gate failure:
The current required run reconfirms the previously identified self-hosting boundary rather than a new branch defect. Falsifiable acceptance remains: a completed zero-finding Strix run carrying only the normal Smallest safe owner-path is controlled integration of this canonical gate repair under live governance, followed by a required Strix run whose trusted workflow/gate source SHA actually contains the repair. After that, revalidate |
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
ab3d764547082e1b55b6257cc1cd9aa5d951fa30. - 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/32712851121/job/97387875273)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/32712851121/job/97387875273)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow (2 files)"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (3 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs (3 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (3 files)"]
R3 --> V3["docs review"]
Evidence --> S4["CI script (4 files)"]
S4 --> I4["review and security gate shell path"]
I4 --> R4["Review risk: CI script (4 files)"]
R4 --> V4["bash -n plus Strix self-test"]
Evidence --> S5["Test (4 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (4 files)"]
R5 --> V5["targeted test run"]
seonghobae
commented
Aug 24, 2026
BandScope consumer canary for the current Strix owner lane (read-only handoff; no BandScope leaf workaround):
First causal sequence from the job log: the primary NVIDIA NIM route hit HTTP 429; a later NIM fallback completed with This matches this owner lane's authenticated-failure / provider-alias / fallback-isolation scope and #1291's zero-finding false-positive class. There is no correct BandScope-local repair: #783's repository-local CI, release, security-audit, aggregate Security Scan, SBOM, build-baseline, Bandit, Semgrep, secret-scan plus current central coverage/OpenCode/Noema evidence are already successful on the unchanged head; Strix remains the central security-evidence gate. I have requested one rerun of the failed exact-head Strix job to distinguish a transient primary 429 from the deterministic fallback/control-plane defect. Do not treat that dispatch as success. Consumer acceptance after this PR integrates: rerun Strix against unchanged |
- Snapshot: protected main 63876eb (#422), 37 open PRs, 19 open issues. - Record the org-wide Strix provider failure (NIM ~70s / OpenAI-direct ~5s exits) and its durable repair ContextualWisdomLab/.github#1263, including the ten base-merged paths the prior merge commit had reverted and how they were restored. - Record the ADR 0109 shared login repair applied to eight pre-repair branches (#521, #522, #552-556 set, #558, #560), verified locally with frontend lint/test/build before each push. - Replace stale §3 inventory with the current 37-head queue grouped by product surface, SKOS/leftover-map ladder, repairs, integration, and docs. - Refresh §5 rows whose referenced PRs have since landed (#496/#507/#515, #544/#559 channel-weight hardening) and rewrite §10 as the autonomous ascending-order merge loop. - Note #368 closed as superseded. Co-authored-by: seonghobae <seonghobae@users.noreply.github.com>
Current exact-head recovery (2026-08-24)
ab3d764547082e1b55b6257cc1cd9aa5d951fa30main@613a33e0cb1c6db9790fae99f6253445712ac37aopenai_direct/*migration and explicit rejection of retiredopenai-direct/*.ed281e2f4a50bad277524b7282ab490d1661e466byte-for-byte from the locally verified merge, then advanced the branch by compare-and-set fast-forward.test_strix_quick_gate.shPASS, andgit diff --checkPASS.97387791739, checked out exact SHAab3d764547082e1b55b6257cc1cd9aa5d951fa30, passed 1,417 tests with 1 skip and 16 subtests, and recordedtest_strix_quick_gate: PASS.Decision:
WAIT_FOR_TERMINAL_EXACT_HEAD_CHECKS_AND_INDEPENDENT_FORMAL_REVIEW.Previous exact-head recovery (historical)
7011fee275eaa257ce491efb4812dd3e98ed649emain@0c6b9a6459c9dbdf5e23fb01df7a32a8a14964b3gpt-5.6-luna; bounded same-model retries remain, and exhausted direct-primary execution fails closed. The current test makes the final empty-default fallback behavior explicit.test_strix_quick_gate.sh: PASS.97331828910, checked out exact SHA7011fee, ran 1,407 tests·16 subtests, and recordedtest_strix_quick_gate: PASS.Decision:
WAIT_FOR_TERMINAL_EXACT_HEAD_CHECKS_AND_INDEPENDENT_FORMAL_REVIEW.Supersedes #1213 with the protected-main replacement for the unsupported-temperature and cross-provider Strix failure. It also absorbs the two unique quality-path triggers from closed duplicate #1262.
Root causes
temperature=0.2sent forgpt-5.6-sol, while LiteLLM had no fallback model group for that selector.openai-direct/alias through without a valid LiteLLM provider, inherited the NVIDIA endpoint and credential, and failed before authoritative vulnerability evidence existed.Repair
STRIX_FAIL_ON_MIN_SEVERITYcannot be promoted into vulnerability findings; identifier-only reports remain non-authoritative and fail closed.openai-direct/to trusted selectoropenai_direct/, then dispatch through LiteLLM provider formopenai/with the established direct-OpenAI credential and no inherited NVIDIA API base.HEAD:requirements-strix-ci-hashes.txtviagit hash-object --no-filters, and require hash-pinned wheels.1.94.2) because1.94.1has no Python 3.13 manylinux wheel.Predecessor exact-head verification (non-passing after head movement)
0445447310257bbd5eef1975c5dbcdf649f311dfmain@93b9cbb145bfe03453c9421dcf7e0668da0f8050openai-direct/gpt-5.6-luna; the focused contract failed because LiteLLM routing requires canonicalopenai_direct/*.97303853223, correctly rejected predecessor05feeb1…because its post-merge restoration looked like a stale replay after the damaged844cef4…merge tree.f428b3e553b8e52c4b0eacc46bc2941bef0aa231keeps the complete owner tree and rebinds protected main as the second parent without changing content; the current doc-only descendant does not revert merged base work.git diff --checkpass; every active fallback branch usesopenai_direct/gpt-5.6-luna, while only a scoped frozen-smoke compatibility comment retains the historical alias.97305671238: exact checkout SHA attested, 1,407 tests·16 subtests and full quick-gate PASS.No secret, raw-provider, approval, protection, model-selection, severity threshold, or incomplete-scan success boundary is weakened.
Decision: WAIT_FOR_INDEPENDENT_EXACT_HEAD_FORMAL_REVIEW.
Summary by CodeRabbit