Skip to content

fix(strix): trust event repository visibility - #1320

Merged
seonghobae merged 16 commits into
mainfrom
codex/strix-event-visibility-20260825
Aug 25, 2026
Merged

fix(strix): trust event repository visibility#1320
seonghobae merged 16 commits into
mainfrom
codex/strix-event-visibility-20260825

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Closes #1317
Closes #1319

Outcome

  • Align privileged OpenCode direct fallback/model contracts on supported gpt-5.4.
  • Derive ordinary-event repository visibility from trusted event metadata; map public -> false, private/internal -> true, and fail closed on missing or unknown visibility.
  • Treat authenticated NVIDIA service overload/rate-limit evidence as bounded retry/fallback while keeping provider exhaustion and vulnerability failures non-passing.
  • Prevent a direct-OpenAI fallback from inheriting a foreign NVIDIA NIM/OpenRouter API base; preserve the dedicated OpenAI fallback key boundary.
  • Remove only the two observed cosmetic scanner notices before report warning classification; raw provider 429/exception/traceback evidence remains intact and fail-closed.

Exact current identity

  • head: a8f6af10bbad996c7a741177e364a5180a59494e
  • protected base: main@8fd471a31399a914d9cb22a840f4a4c68e010ea6
  • current synthetic PR merge ref: 9b41d3477b54d046e89d93f5dea8ff7d12b45f3b
  • unresolved review threads: 0
  • Reviews API formal exact-current-head approval: absent

RED → GREEN evidence

RED exact head 33d5b334267073d43200b403b48db7b00dcbaffc, hosted run 32825500449, job 97732457908:

  • exact-head checkout succeeded;
  • 1,418 tests, 1 skipped, and 16 subtests passed;
  • the new NVIDIA → direct OpenAI regression failed because fallback openai/gpt-5.4 inherited https://integrate.api.nvidia.com/v1;
  • observed API-base sequence was https://integrate.api.nvidia.com/v1|https://integrate.api.nvidia.com/v1, and the mock reproduced the live 404 routing boundary.

GREEN descendant head a8f6af10bbad996c7a741177e364a5180a59494e, hosted run 32830223033, job 97747008382:

  • checkout attested exact head a8f6af1…;
  • 1,418 tests, 1 skipped, and 16 subtests passed;
  • full test_strix_quick_gate.sh passed;
  • the NVIDIA → direct OpenAI regression remains GREEN, and the console-notice fixture proves the two known cosmetic notices are sanitized before classification while raw attempt evidence is preserved first.

Current-head hosted evidence

Thirteen substantive workflow runs are terminal-success: Strix quality, Secret Scan, Security Scan, SAST, SBOM, OSV, Exact Artifact SBOM Attestation, Commercial Readiness, Rust Coverage, Hourly Review, Python Security, Scorecard, and CodeQL. The separate Repair PR 827 CodeRabbit comments run is skipped and is not counted.

CodeQL run 32830222942 explicitly checked out exact head a8f6af1… for detection and compatibility analysis, and checked out the current synthetic merge 9b41d347… only for the explicitly named merge-preview jobs.

The SAST and head-oriented Security jobs are GitHub-success but remain non-passing exact-head provenance under #1222: their runtime checkout was synthetic merge 7f345aed…, not submitted head a8f6af1…. That evidence is recorded in #1222. No queued, skipped, status-only, predecessor, or head-oriented synthetic-merge evidence is counted as exact-head provenance.

Merge only after #1222 provenance is satisfied and live governance has the required independent exact-current-head formal approvals.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Strix는 이벤트 metadata에서 저장소 visibility를 우선 확인합니다. gpt-5.6-luna fallback 참조는 gpt-5.4로 교체되었습니다. 관련 워크플로, 테스트, changelog, ADR 및 운영 문서를 갱신했습니다.

Changes

Strix 계약 정렬

Layer / File(s) Summary
이벤트 기반 저장소 가시성 해석
.github/workflows/strix.yml, scripts/ci/test_strix_quick_gate.sh, CHANGELOG.md
일반 이벤트는 trusted visibility를 사용합니다. repository_dispatch와 빈 값은 기존 API 조회 및 최대 6회 재시도로 처리합니다. 지원되는 visibility 값과 오류 처리를 검증합니다.
gpt-5.4 fallback 모델 정렬
.github/workflows/opencode-review-dispatch.yml, scripts/ci/emit_opencode_failed_check_fallback_findings.sh, tests/*
직접 OpenAI 모델과 후보 목록을 gpt-5.4로 변경했습니다. Strix fallback 기대값, OpenCode 계약, workflow blob hash 검증을 갱신했습니다.
fallback 계약 문서화
docs/adr/0002-product-technical-gap-baseline.md, docs/doctoring/strix-nvidia-nim-not-found-fallback.md, docs/product-technical-gap-baseline.md
현재 gpt-5.4 fallback과 폐기된 gpt-5.6-luna 식별자 금지 조건을 기록했습니다. provider 오류와 취약점 발견 시 fail-closed 동작을 유지한다고 명시했습니다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: 🟠 High · up to 92bb9

The current routing can treat an internal repository_dispatch as public and send repository content to a public provider, so merge should be blocked until visibility is mapped from the API response correctly. The fallback helper also uses a stale model identifier and should be synchronized to avoid incorrect fallback reporting.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning Strix 공개 범위 변경 외에 직접 OpenAI 모델을 gpt-5.6-luna에서 gpt-5.4로 변경하는 워크플로, 테스트, 문서, 변경 로그 수정이 포함되었습니다. 이 변경은 연결된 [#1319]의 공개 범위 요구사항과 직접 관련되지 않습니다. 공개 범위 변경과 직접 관련된 파일만 유지하십시오. gpt-5.4 모델 계약 정렬 변경과 관련 문서, 테스트, 변경 로그 수정은 별도의 PR 또는 명시적으로 연결된 이슈로 분리하십시오.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed PR은 [#1319]의 요구사항을 충족합니다. 일반 pull request, push, schedule 이벤트는 신뢰된 이벤트 공개 범위를 사용합니다. PRIVATE와 INTERNAL은 비공개 경로로 처리합니다. repository_dispatch는 제한된 API 조회로 폴백합니다. 잘못된 값은 실패 종료합니다. 관련 actionlint, 셸 문법, Str…
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (7 skipped: 6 …
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 Strix가 이벤트의 저장소 공개 범위를 신뢰하도록 변경한 핵심 내용을 정확하고 간결하게 설명합니다.
Full details: Linked Issues check

Explanation

PR은 [#1319]의 요구사항을 충족합니다. 일반 pull request, push, schedule 이벤트는 신뢰된 이벤트 공개 범위를 사용합니다. PRIVATE와 INTERNAL은 비공개 경로로 처리합니다. repository_dispatch는 제한된 API 조회로 폴백합니다. 잘못된 값은 실패 종료합니다. 관련 actionlint, 셸 문법, Strix 계약 검사가 통과한 것으로 제공되었습니다.

Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (7 skipped: 6 unsupported, 1 too large.)

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/strix-event-visibility-20260825

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae seonghobae moved this from Todo to In Progress in naruon Platform Roadmap Aug 25, 2026
@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 04:38
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Fixed on exact head de7c8344: the trusted event boundary now accepts GitHub lowercase visibility values as well as uppercase fixtures, keeps private/internal routing fail-closed, and preserves the API path only for dispatch. Focused Strix contract, actionlint, shell syntax, and diff checks pass. Please review this exact head; this is not an approval.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Path-policy 32809862743 failed for the same stale gpt-5.6-luna pytest pins that broke #131451291c3 after the overlay matched protected main (strix_model=gpt-5.4 vs tests/test_required_workflow_queue_contract.py and tests/test_strix_nvidia_nim_not_found_fallback.py).

#13146b06a92 already updates those two contracts. Hosted path-policy 32808824229 is SUCCESS there. Do not revert the gpt-5.4 workflow default to satisfy the old pins. Do not land #1311. This visibility slice can rebase after 6b06a923 is on protected main, or it can take only those two test-line updates. Not merge evidence.

devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact head 5f00b76 composes the concurrent internal-visibility privacy repair with the NVIDIA overload fallback repair. Root cause: is_llm_service_unavailable_error excluded bounded Nvidia_nimException - Service temporarily overloaded, so strict mode stopped before configured distinct fallbacks. The classifier now requires LiteLLM ServiceUnavailableError + NVIDIA identity + overload evidence, retries the same model, then exercises distinct fallbacks while preserving fail-close on exhaustion or any reported vulnerability. Full Strix quick-gate harness passed (RC=0); the exact composed head also passed the filtered overload path and 12 public/private/internal visibility contract tests.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 06:42
devin-ai-integration[bot]

This comment was marked as resolved.

@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 07:12
@seonghobae

Copy link
Copy Markdown
Contributor Author

Hosted run 32818169695 reached a complete fallback scan with zero vulnerabilities, but the generic report-warning gate rejected two exact scanner notices: the MODEL QUALITY WARNING banner for the configured fallback and the unauthenticated Hugging Face download warning. Commit 8ee7e57 removes only those two exact notice lines before the existing fail-closed scan. General WARNING/Fatal/Denied/Timeout matching and explicit 429/provider-failure detection remain unchanged. bash -n passes; the repository contract harness is running on the exact head.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 08:09
devin-ai-integration[bot]

This comment was marked as resolved.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 0 new potential issues.

Open in Devin Review

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head 3b9b238 fixes the newly reproduced cross-provider endpoint leak: a direct-OpenAI fallback clears a foreign NVIDIA/OpenRouter API base while a direct-OpenAI primary retains its explicitly configured base. The filtered nvidia-rate-limit-openai-direct-fallback-clears-api-base contract and shell syntax check pass. For the warning-sanitizer review: hosted artifact run 32818169695 was inspected directly; the completed fallback attempt contained exactly two warning-class matches—the Strix MODEL QUALITY WARNING title and the HF Hub unauthenticated-download notice—both matched exactly. The surrounding banner contained no other warning token, while general warning and explicit provider-error classifiers remain fail-closed.

devin-ai-integration[bot]

This comment was marked as resolved.

@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 08:44
@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 08:48

seonghobae commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head formal review requested for 3b9b23806ec8b24fa15a490fb8273ab7e32193b3 against protected main@8fd471a31399a914d9cb22a840f4a4c68e010ea6.

All 13 substantive commit-associated workflows are terminal GitHub-success and unresolved review threads are 0. The separate Repair PR 827 CodeRabbit comments run is skipped and is not counted as passing evidence. The hosted GREEN run 32826131043/97734444828 checked out the exact head, passed 1,418 tests plus 16 subtests, completed the full Strix quick-gate, and proved NVIDIA primary → direct OpenAI fallback clears the foreign API base (https://integrate.api.nvidia.com/v1|<unset>).

Please submit an independent substantive Reviews API verdict on this exact head. Do not treat the green SAST/Trivy labels as exact-head provenance while #1222 remains open, and do not merge without the required independent approvals.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Hosted run 32826128897 proved the NVIDIA fallback completed with zero vulnerabilities, but its exact informational MODEL QUALITY WARNING remained in the per-attempt console log and the generic fail-closed classifier rejected the successful scan. Exact-head a8f6af1 sanitizes only the two already-contracted scanner notices before classification while preserving the raw attempt artifact and every unknown/provider failure. The filtered regression passes.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread scripts/ci/strix_quick_gate.sh
@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 09:42

Copy link
Copy Markdown
Contributor Author

@opencode-agent Please perform an independent formal review of exact current head a8f6af10bbad996c7a741177e364a5180a59494e. Current source verification is terminal: hosted full suite and full Strix quick-gate passed, 13 substantive workflow runs are success, and unresolved threads are 0. Please issue a Reviews API verdict bound to this exact head; do not treat the skipped repair workflow or the #1222 synthetic-checkout SAST/Security results as exact-head provenance. #1222 remains an independent merge prerequisite.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 11:01
@seonghobae
seonghobae merged commit d2c554d into main Aug 25, 2026
59 of 62 checks passed
@seonghobae
seonghobae deleted the codex/strix-event-visibility-20260825 branch August 25, 2026 11:14
@github-project-automation github-project-automation Bot moved this from In Progress to Done in naruon Platform Roadmap Aug 25, 2026
cursor Bot pushed a commit that referenced this pull request Aug 25, 2026
Take #1320 Strix event-repository visibility trust from main. Keep this
PR's NIM-only publisher pool, surfaces split, and live gpt-5.4 pins.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Aug 25, 2026
Keep the classified-copy box sanitizer so gate-last-attempt stays raw.
Take #1320's HF Hub notice filter and event-visibility/fallback contracts.
Point OpenCode dispatch-pool harness needles at openai/gpt-5.4 now that
opencode-review-dispatch.yml on main lists that model.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>

Copy link
Copy Markdown
Contributor Author

Protected-main consumer acceptance on unchanged ScopeWeave #523 exact head a73e8be6d25b422b69acdeacf3b3b161f6f4ff7d:

  • rerun 32594481214 / job 97784035277 checked out trusted central Strix source d2c554dbbc04854db6215970fabb70cef1ceb690 and fetched the exact contributor head a73e8be6… for scan scope;
  • the required smoke selected the repaired gpt-5.4 contract;
  • after bounded provider retries, Strix completed authoritative analysis on the PR-head scope, reported Vulnerabilities 0 (No exploitable vulnerabilities detected), uploaded the bound report artifact, and concluded success;
  • the log contains no Strix backend unavailable success annotation or synthetic source finding.

ScopeWeave #531 acceptance is still running and remains non-passing until terminal evidence.

Copy link
Copy Markdown
Contributor Author

Additional protected-main consumer acceptance (2026-08-25 UTC):

  • ScopeWeave fix(opencode): extend peer wait for image checks #531 remained at exact contributor head 9e3906a5f362d620ce4761ed5d5ce47d81b29411.
  • Strix run 32571298352, job 97784102762 checked out trusted central source d2c554dbbc04854db6215970fabb70cef1ceb690 and fetched the exact target head 9e3906a5f362d620ce4761ed5d5ce47d81b29411.
  • Provider/model attempts initially produced incomplete log-only evidence and stayed non-passing; the bounded fallback later completed authoritative analysis with Vulnerabilities 0 (No exploitable vulnerabilities detected).
  • The job completed GitHub-success and uploaded strix-reports artifact 9562750408 with digest sha256:400b50cd15246bfc2e36e9f5ca54359ed0a36127963aed5ca082800fb64d810f.

This is coherent exact-head complete-scan evidence, not a backend-unavailable false green. Together with the separately recorded #523 canary, the protected-main provider-routing repair now has two live ScopeWeave consumer acceptances.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

fix(strix): use trusted event visibility before API lookup BLOCKER: trusted Strix smoke contract lags gpt-5.4 fallback

1 participant