fix(scheduler): fail after summarized action errors - #1271
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 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 |
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
4cd10ce7e967bc1d2b1297716ee61e94584141c3. - 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/32659790911/job/97244088159)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/32659790911/job/97244088159)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: pr-review-merge-scheduler.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: pr-review-merge-scheduler.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file: CHANGELOG.md"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
R2 --> V2["required checks"]
Evidence --> S3["Docs: pr-review-merge-scheduler.md"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs: pr-review-merge-scheduler.md"]
R3 --> V3["docs review"]
Evidence --> S4["CI script: pr_review_merge_scheduler.py"]
S4 --> I4["review and security gate shell path"]
I4 --> R4["Review risk: CI script: pr_review_merge_scheduler.py"]
R4 --> V4["bash -n plus Strix self-test"]
Evidence --> S5["Test (2 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (2 files)"]
R5 --> V5["targeted test run"]
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: pr-review-merge-scheduler.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: pr-review-merge-scheduler.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file: CHANGELOG.md"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
R2 --> V2["required checks"]
Evidence --> S3["Docs: pr-review-merge-scheduler.md"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs: pr-review-merge-scheduler.md"]
R3 --> V3["docs review"]
Evidence --> S4["CI script: pr_review_merge_scheduler.py"]
S4 --> I4["review and security gate shell path"]
I4 --> R4["Review risk: CI script: pr_review_merge_scheduler.py"]
R4 --> V4["bash -n plus Strix self-test"]
Evidence --> S5["Test (2 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (2 files)"]
R5 --> V5["targeted test run"]
|
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
4cd10ce7e967bc1d2b1297716ee61e94584141c3. - 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/32659790911/job/97244088159)
- Strix Security Scan/strix: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/32659790911/job/97244088159)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: pr-review-merge-scheduler.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: pr-review-merge-scheduler.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file: CHANGELOG.md"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
R2 --> V2["required checks"]
Evidence --> S3["Docs: pr-review-merge-scheduler.md"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs: pr-review-merge-scheduler.md"]
R3 --> V3["docs review"]
Evidence --> S4["CI script: pr_review_merge_scheduler.py"]
S4 --> I4["review and security gate shell path"]
I4 --> R4["Review risk: CI script: pr_review_merge_scheduler.py"]
R4 --> V4["bash -n plus Strix self-test"]
Evidence --> S5["Test (2 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (2 files)"]
R5 --> V5["targeted test run"]
|
Exact-head check RCA: Strix run 32659790911 failed after repeated NVIDIA NIM HTTP 429 rate-limit responses, then the direct fallback returned LLM Provider NOT provided; no vulnerability report artifact was produced. This is provider/backend infrastructure, not a source finding in the scheduler change. Keep the fail-closed result and revalidate after provider remediation. |
Root cause
The scheduler isolated per-PR mutation and dispatch failures into
action_errordecisions, emitted its complete human and JSON summaries, and then unconditionally returned success. The organization sweep also classified any 403-shaped output as an unreadable repository, even when the versioned scheduler payload proved that repository inspection succeeded and the 403 came from an attempted action.Change
action_errorexistswait,block,skip, and deferred-capacity outcomes successfulVerification
uv run --with pip pytest: 1,395 passed, 1 skippeduv run --with pip coverage run -m pytest -q && uv run --with pip coverage report --show-missing --fail-under=100: 8,348 statements and 3,214 branches at 100%uv run --with pip interrogate --fail-under=100 scripts/ci: 100%uv run --with pip python -m compileall -q scripts/ci testsactionlint .github/workflows/pr-review-merge-scheduler.ymlwith ShellCheck 0.11.0git diff --checkThe explicit
--with pipisolates the current-main fresh-uv bootstrap gap tracked separately by #1265; this change does not duplicate that boundary.Supersedes #899.
Closes #894.