fix(strix): serialize scans and resolve live NVIDIA NIM models - #1297
fix(strix): serialize scans and resolve live NVIDIA NIM models#1297seonghobae wants to merge 34 commits into
Conversation
|
Warning Review limit reachedNext included review available in 21 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 (9)
📝 WalkthroughWalkthroughStrix 워크플로가 저장소·이벤트 유형별로 실행을 직렬화한다. 종료된 PR의 Strix 실행을 별도 작업에서 정리한다. 저장소 가시성, 모델 fallback, provider 장애 재시도 및 관련 검증을 갱신한다. ChangesStrix 실행 제어
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The workflow now serializes scans per repository, but closed pull requests can still leave dispatch retries running and consuming provider capacity or changing security evidence, and inherited fallback configuration can make the validation contract fail. These issues should be fixed or explicitly accepted before merging. Sequence Diagram(s)sequenceDiagram
participant PullRequestEvent
participant StrixWorkflow
participant GitHubActionsAPI
PullRequestEvent->>StrixWorkflow: closed 이벤트 전달
StrixWorkflow->>GitHubActionsAPI: Strix pull_request_target 실행 목록 조회
GitHubActionsAPI-->>StrixWorkflow: queued 및 in_progress 실행 반환
StrixWorkflow->>GitHubActionsAPI: 종료 PR과 일치하는 실행 취소
sequenceDiagram
participant StrixWorkflow
participant NVIDIAProvider
participant OpenAIFallback
StrixWorkflow->>NVIDIAProvider: Strix 실행
NVIDIAProvider-->>StrixWorkflow: provider 장애 반환
StrixWorkflow->>OpenAIFallback: gpt-5.4 fallback 실행
OpenAIFallback-->>StrixWorkflow: 결과 반환
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation 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 4 functions across 1 files. (3 skipped: 2 unsupported, 1 too large.) ✨ 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 |
…mit storms Root cause: the per-PR concurrency group let sibling PRs in one repository scan concurrently; each run retried the shared NVIDIA NIM key up to three times, producing litellm.RateLimitError storms and fail-closed gate failures on every open PR (observed across ContextualWisdomLab/contextual-orchestrator 2026-08-23/24). Change: scope the concurrency group per repository (event class still separated so required pull_request_target evidence never interleaves with default-branch repository_dispatch retries), set cancel-in-progress: false with queue: max so queued evidence runs are preserved, and update the queue contract test to encode the new serialization contract. Accuracy is prioritized over scan latency; queued runs already fetch the expected head SHA directly, so late-started runs stay head-exact.
60390f3 to
d7133e2
Compare
…evel concurrency Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Current-head review loop
Please run the current-head review and required Checks again. No merge is requested until those exact-head gates and an eligible approval are present. |
|
Exact-head validation and review disposition for ab17b10 (base 613a33e):
The remaining informational event-class thread is dispositioned by the documented contract above. Current required hosted Checks are still QUEUED and no current independent approval is present; predecessor evidence is not reused, so the PR remains on the normal protected path and is not merged yet. |
|
Additional Inkspan-bound acceptance evidence for this existing Strix capacity owner; no duplicate source writer or gate bypass is being created.
This broadens the reproduced rate-limit failure from contextual-orchestrator to the Inkspan review-control lane and supports the repository/event-class serialization RCA here. After this PR is protected-main integrated, use a fresh legitimate generation rather than predecessor-run evidence: rerun the then-current |
Current-head review disposition
This is an accepted latency tradeoff with a bounded recovery path, not a source defect or deadlock. Required hosted checks and independent approval remain pending; keep the PR on the protected normal path. |
Exact-head reviewRevalidated current head Local evidence: |
|
Additional exact-head validation for |
|
Exact-head hosted-check repair at
Auto-merge remains enabled. The stale OpenCode |
…on' into fix/strix-repo-level-serialization-live-model
Root cause (5 Whys)
litellm.RateLimitError: Nvidia_nimException(429) and fail-closed evidence rules.pr-{N}), so sibling PRs never shared a queue.Fix
pull_request_targetevidence never interleaves with default-branchrepository_dispatchretries).cancel-in-progress: false+queue: max: queued evidence runs are preserved — nothing is dropped; accuracy prioritized over latency.refs/pull/<n>/head has already advancedhandling), so late-started runs stay head-exact.Evidence
Nvidia_nimException - RateLimitError, all fallback models exhausted, zero-finding-before-infrastructure-failure fail-closed.pytest tests/ -q→ 1342 passed (+ updated queue-contract tests), YAML validated.Summary by CodeRabbit
새로운 기능
버그 수정
문서