Skip to content

fix(strix): reserve NIM budget after GitHub Models 410 brownout - #955

Open
seonghobae wants to merge 15 commits into
mainfrom
fix/strix-github-models-retirement-nim-budget
Open

fix(strix): reserve NIM budget after GitHub Models 410 brownout#955
seonghobae wants to merge 15 commits into
mainfrom
fix/strix-github-models-retirement-nim-budget

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Purpose

Required Strix runs failed closed when the primary hosted NVIDIA model consumed nearly the full process budget and the GitHub Models fallback family returned the scheduled-retirement HTTP 410 signal. That left no budget for another hosted NVIDIA attempt and made provider-family outages indistinguishable from actionable vulnerability evidence in buyer-facing required checks.

Bounded repair

  • cap each NVIDIA NIM attempt at 1,800 seconds inside the existing 5,700-second total retry budget;
  • use Ultra-253B → Super-49B → GitHub Models, preserving the protected-main Super-49B → GitHub Models smoke contract while reserving a second hosted NVIDIA attempt;
  • classify only a same-line github_models_retirement_brownout plus GitHub Models context plus HTTP 410 as family-dead, then skip remaining github_models/* candidates;
  • preserve fail-closed treatment of reported vulnerabilities, incomplete scans, malformed evidence, cross-line spoofing, and unrelated application HTTP 410 responses;
  • keep public scans on NVIDIA_NIM_API_KEY; never add COPILOT_GITHUB_TOKEN or merge reviewer credential chains.

Exact identity and scope

  • protected base and live tip: main@6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba;
  • exact current head: 1eb99cdff72fa30ea4df1ea45a2643759ef3f876;
  • state: Ready and mechanically mergeable;
  • bounded files: central Strix workflow, gate/smoke harnesses, two focused regression modules, doctoring, and CHANGELOG.md.

Unrelated AGENTS/CLAUDE/Architecture/materializer-test drift had already been removed through ordinary forward commits. The prior exact-content head 2af893cedf8e3327f74c7b7bd43dc4115b4accbd was produced by a GitHub Actions repair commit; GitHub consequently created action_required runs with zero jobs. The current owner-authored metadata-only forward commit points to the identical tree to obtain executable current-head checks. No source, test, workflow, credential, permission, reviewer, merge, or release behavior changed in that rebind; no force-push, rebase, or bypass was used.

Every predecessor-head check, review, or approval is historical only.

Evidence lineage

The verified predecessor tree passed the required-workflow smoke test and eight focused brownout regressions. Its source shows the intended NIM chain and same-line retirement classification. Those results establish lineage, not current-head authorization.

The current head must regenerate terminal-success exact-head Strix, quality, security, SAST, dependency/SBOM, supply-chain, and semantic-review evidence. A run that is action_required, has zero jobs, is queued, cancelled, stale, skipped, or bound to a predecessor head is not success.

Merge gate

Merge or auto-merge only after the unchanged current head has terminal-success required gates, zero valid unresolved findings, a qualifying current-head semantic verdict, the independent non-author approvals and last-push approval required by live protection, a compatible live base, and ordinary expected-head merge authority. No admin merge, self-approval, review dismissal, or ruleset bypass is requested.

A 90-minute NVIDIA NIM attempt left no fallback compute, then GitHub
Models o3/gpt-5-chat returned HTTP 410 github_models_retirement_brownout
and failed required Strix closed. Cap each NIM attempt at 1800s, add
Llama-3.1-Nemotron-Ultra-253B before GitHub Models, and skip remaining
github_models fallbacks after a same-line retirement 410. Vulnerability
signals stay blocking. NVIDIA_NIM_API_KEY is unchanged.
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5431293a-67b3-402d-b7d2-39af8812183a

📥 Commits

Reviewing files that changed from the base of the PR and between 6eb06cd and 1eb99cd.

📒 Files selected for processing (8)
  • .github/workflows/strix.yml
  • CHANGELOG.md
  • docs/doctoring/strix-github-models-retirement-brownout.md
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/strix_required_workflow_smoke.sh
  • scripts/ci/test_strix_quick_gate.sh
  • tests/test_strix_github_models_retirement_brownout.py
  • tests/test_strix_nvidia_nim_not_found_fallback.py

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 enabled auto-merge (squash) August 13, 2026 05:48
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review-only request for exact current head a73b7bb53ae169e2a72fb44db2ae31c170736e74; do not mutate or merge. Re-evaluate NVIDIA NIM 1800s process cap, Llama-3.1-Nemotron-Ultra-253B fallback, and same-line GitHub Models 410 retirement-brownout family skip. Vulnerability neutralization must stay fail-closed.

Record that one hung NVIDIA NIM attempt cannot allocate the remaining
scan budget without an independent 1800-second process limit. Clear the
cached trusted-uv installer so Darwin hosts still exercise the linux
x86_64 runner path.
A same-line github_models_retirement_brownout plus a bare 410 digit
run (issue #410) could skip remaining github_models fallbacks. Keep
family-dead only for Error code: 410, HTTP 410, or the retirement
brownout phrase.
Issue #410 is already rejected. Error code 4100 and HTTP 4104 must
not match the GitHub Models retirement-brownout skip either.
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review Review-only request for exact current head 832d1cca; do not mutate or merge. Re-evaluate digit-terminated HTTP 410 brownout skip (4100/4104/#410 must not skip remaining github_models fallbacks) and the reserved NVIDIA NIM 1800s process cap. Independent current-head approval is required for the two-approval gate.

@opencode-agent

opencode-agent Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 1eb99cdff72fa30ea4df1ea45a2643759ef3f876
  • Workflow run: 31896224814
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

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 1eb99cdff72fa30ea4df1ea45a2643759ef3f876.
  • 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:

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["Changed file: CHANGELOG.md"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (3 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (3 files)"]
  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"]
Loading

Materialize a base Python lock only when every package line is an exact
SHA-256 pin or a two-token relative -r/--requirement include of a
candidate lock path. A lone --require-hashes directive, ./dotted paths,
and -r other-hashes.txt no longer enter the trusted build context.

@opencode-agent opencode-agent 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.

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 13118614c6699a94aa8d60316c70406c59a7a178.
  • 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:

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["Changed file (4 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (4 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  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 (3 files)"]
  S5 --> I5["regression suite"]
  I5 --> R5["Review risk: Test (3 files)"]
  R5 --> V5["targeted test run"]
Loading

@opencode-agent
opencode-agent Bot disabled auto-merge August 14, 2026 01:26
@seonghobae
seonghobae enabled auto-merge (squash) August 14, 2026 01:30
@opencode-agent
opencode-agent Bot disabled auto-merge August 14, 2026 01:55
@seonghobae
seonghobae marked this pull request as draft August 14, 2026 09:09

Copy link
Copy Markdown
Contributor Author

Returned to Draft because the exact current tree mixes the Strix provider-family/budget repair with an unrelated trusted-uv materializer branch.

The intended resilience boundary is narrow: reserve bounded compute for multiple hosted NIM candidates, classify only the exact same-line GitHub Models HTTP-410 retirement brownout as family-dead, and never neutralize vulnerability findings or generic application 410s. Head 13118614c6699a94aa8d60316c70406c59a7a178 additionally changes materialize_base_python_requirements.py and its tests plus broad governance files.

Rebuild from protected main retaining only the Strix workflow/gate/smoke surfaces, focused spoofing and budget regressions, doctoring, directly attributable governance/changelog evidence, and no materializer changes. Revalidate the live NIM/model catalog immediately before Ready, then reacquire exact-head Strix/security/supply-chain and independent-review evidence.

Copy link
Copy Markdown
Contributor Author

Additional exact downstream evidence for this central fix:

  • target: ContextualWisdomLab/fast-mlsirm#831
  • exact source head: a52de8a80acc67409a5cab2d0d4c998239798eaf
  • required Strix run/job: 31797203043 / 94756792810
  • selected model: nvidia_nim/nvidia/nemotron-3-super-120b-a12b
  • elapsed attempt: 5,402 seconds
  • terminal cause: Strix run timed out after 5400s, exit 124; no authoritative vulnerability report artifact was produced, so the leaf workflow correctly failed closed.
  • all installation, exact-head materialization, contract self-test, credential selection, and artifact-collection steps completed; only Run Strix (quick) failed.

This is owning-layer provider-budget evidence, not a backend/source finding in fast-mlsirm #831. The observed 5,400-second first NIM attempt exhausted the entire scan budget exactly as this PR's 1,800-second per-attempt cap is intended to prevent. Preserve fail-closed missing-report behavior; after protected integration, rerun the unchanged #831 head and require either an authoritative clean/finding report or bounded fallback exhaustion rather than a single-model full-budget timeout.

@seonghobae
seonghobae marked this pull request as ready for review August 14, 2026 14:09

Copy link
Copy Markdown
Contributor Author

@coderabbitai review
@opencode-agent review
@cwl-noema-review review
@strix review

Review only exact current head 2efd7d8607527cacde2aeeb33f3accc02c8367c3 against live protected main@6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba. I removed the unrelated trusted-uv production delta by restoring the exact bounded Strix provider-budget tree as a new descendant. The current branch caps each NVIDIA NIM attempt at 1800s within the existing 5700s total budget, adds a second NIM candidate before retired GitHub Models, and classifies only same-line GitHub Models HTTP 410 retirement-brownout evidence as family-dead; application 410 and 4100/4104 remain non-matches. Vulnerability findings are never neutralized. No review thread exists. Exact-head checks are regenerating; nonterminal evidence is not acceptance. Review read-only; do not mutate source, synthesize approval, weaken security evidence, or merge.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head_expected='2efd7d8607527cacde2aeeb33f3accc02c8367c3'
base_expected='6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba'

printf '%s\n' '== checked-out HEAD =='
git rev-parse HEAD
printf '%s\n' '== expected objects =='
git cat-file -t "$head_expected"
git cat-file -t "$base_expected"
printf '%s\n' '== ancestry and merge base =='
git merge-base "$base_expected" "$head_expected"
git merge-base --is-ancestor "$base_expected" "$head_expected" && echo 'base-is-ancestor=yes'
printf '%s\n' '== changed files =='
git diff --name-status "$base_expected" "$head_expected"
printf '%s\n' '== changed paths: outlines =='
git diff --name-only "$base_expected" "$head_expected" | while IFS= read -r path; do
  printf '\n--- %s ---\n' "$path"
  case "$path" in
    *.yml|*.yaml) ast-grep outline "$path" --lang yaml --items all 2>/dev/null || true ;;
    *.py) ast-grep outline "$path" --lang python --items all 2>/dev/null || true ;;
    *.sh) ast-grep outline "$path" --lang bash --items all 2>/dev/null || true ;;
    *) sed -n '1,80p' "$path" ;;
  esac
done
printf '%s\n' '== full scoped diff =='
git diff --find-renames --find-copies --unified=80 "$base_expected" "$head_expected"

Length of output: 164645


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='2efd7d8607527cacde2aeeb33f3accc02c8367c3'

printf '%s\n' '== workflow neutralization block with line numbers =='
git show "$head:.github/workflows/strix.yml" |
  nl -ba |
  sed -n '/backend_unavailable_signal=/,/exit "\$strix_rc"/p'

printf '%s\n' '== gate brownout classifier and fallback handling with line numbers =='
git show "$head:scripts/ci/strix_quick_gate.sh" |
  nl -ba |
  sed -n '/is_github_models_retirement_brownout_error()/,/^}/p;/skip_remaining_github_models=0/,/if should_fail_pull_request_infra_zero_findings/p'

printf '%s\n' '== regression assertions for workflow-level neutralization =='
git show "$head:tests/test_strix_github_models_retirement_brownout.py" |
  nl -ba |
  sed -n '1,220p'

printf '%s\n' '== current PR status checks =='
gh api "repos/ContextualWisdomLab/.github/commits/${head}/check-runs?per_page=100" \
  --jq '.check_runs[] | [.name, .status, (.conclusion // ""), .details_url] | `@tsv`' || true

Length of output: 1372


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='2efd7d8607527cacde2aeeb33f3accc02c8367c3'

printf '%s\n' '== workflow neutralization block with line numbers =='
git show "$head:.github/workflows/strix.yml" |
  awk '
    /backend_unavailable_signal=/ {show=1}
    show {printf "%6d  %s\n", NR, $0}
    show && /exit "\$strix_rc"/ {exit}
  '

printf '%s\n' '== gate brownout classifier with line numbers =='
git show "$head:scripts/ci/strix_quick_gate.sh" |
  awk '
    /^is_github_models_retirement_brownout_error\(\)/ {show=1}
    show {printf "%6d  %s\n", NR, $0}
    show && /^}$/ {exit}
  '

printf '%s\n' '== workflow-level brownout regression coverage =='
git show "$head:tests/test_strix_github_models_retirement_brownout.py" |
  awk '{printf "%6d  %s\n", NR, $0}'

printf '%s\n' '== current PR status checks =='
if command -v gh >/dev/null 2>&1; then
  gh api "repos/ContextualWisdomLab/.github/commits/${head}/check-runs?per_page=100" \
    --jq '.check_runs[] | [.name, .status, (.conclusion // ""), .details_url] | `@tsv`' || \
    echo 'GitHub check query was unavailable.'
else
  echo 'GitHub CLI is unavailable in this sandbox.'
fi

Length of output: 21690


@seonghobae Review found one fail-closed regression.

  • High — Preserve the terminated HTTP-status check in the outer neutralization path. Line 866 of .github/workflows/strix.yml matches Error code: 410 without a non-digit boundary. Therefore, a same-line log entry such as github_models_retirement_brownout ... Error code: 4100 or 4104 matches backend_unavailable_signal. If no vulnerability marker exists, Lines 877-880 convert the gate failure into workflow success. The gate classifier correctly rejects these longer codes at scripts/ci/strix_quick_gate.sh Line 2864, but the outer workflow bypasses that classifier.

    Add ([^0-9]|$) after both workflow-level 410 alternatives. Add regression coverage that executes the workflow neutralization condition for 4100, 4104, and #410. Those inputs must remain failures.

The reviewed checkout equals the requested head. The requested base is its ancestor. Current required checks are queued or in progress, so they are not acceptance evidence.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@opencode-agent opencode-agent 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.

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 2efd7d8607527cacde2aeeb33f3accc02c8367c3.
  • 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:

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["Changed file (4 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (4 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (3 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (3 files)"]
  R4 --> V4["bash -n plus Strix self-test"]
  Evidence --> S5["Test (3 files)"]
  S5 --> I5["regression suite"]
  I5 --> R5["Review risk: Test (3 files)"]
  R5 --> V5["targeted test run"]
Loading

@opencode-agent opencode-agent 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.

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 2efd7d8607527cacde2aeeb33f3accc02c8367c3.
  • 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:

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["Changed file (4 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (4 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (3 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (3 files)"]
  R4 --> V4["bash -n plus Strix self-test"]
  Evidence --> S5["Test (3 files)"]
  S5 --> I5["regression suite"]
  I5 --> R5["Review risk: Test (3 files)"]
  R5 --> V5["targeted test run"]
Loading

Comment thread .github/workflows/repair-strix-nim-order.yml Fixed
@seonghobae
seonghobae enabled auto-merge (squash) August 15, 2026 12:01

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review @coderabbitai review

Review exact head e4bc13c481db0765bf7223542b9f042d83b35b90. Verify the 1800-second per-NIM cap within the unchanged 5700-second total budget; Ultra-253B → Super-49B → GitHub Models fallback order; exact same-line GitHub Models retirement-410 classifier; rejection of unrelated/cross-line 410 evidence; preservation of fail-closed vulnerability/incomplete-scan behavior; NVIDIA_NIM_API_KEY and reviewer-credential separation; removal of all one-shot and unrelated scope drift; and focused smoke/brownout regression evidence. Submit a formal exact-head verdict.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@seonghobae have exceeded the limit for the number of chat messages per hour. Please wait 32 minutes and 37 seconds before sending another message.

Copy link
Copy Markdown
Contributor Author

Exact-current-head read-only review request for 1eb99cdff72fa30ea4df1ea45a2643759ef3f876 over protected base 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba.

The current head is an owner-authored metadata-only rebind of the verified 2af893c... tree because the bot-authored head produced action_required runs with zero jobs. Recheck the unchanged eight-file repair: 1,800-second per-NIM attempt within the 5,700-second total budget; Ultra→Super→GitHub Models order; same-line GitHub Models 410 retirement classification only; cross-line/application-410 rejection; vulnerability/malformed/incomplete evidence remains fail closed; NVIDIA_NIM_API_KEY and reviewer credential separation unchanged.

Submit a verdict for this unchanged content/current head only. Treat predecessor checks/reviews as historical. Do not mutate or merge the branch, synthesize author approval, or weaken protection.

@opencode-agent review
@cwl-noema-review review
@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@seonghobae have exceeded the limit for the number of chat messages per hour. Please wait 9 minutes and 33 seconds before sending another message.

@opencode-agent opencode-agent 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.

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 1eb99cdff72fa30ea4df1ea45a2643759ef3f876.
  • 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:

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["Changed file: CHANGELOG.md"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (3 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (3 files)"]
  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"]
Loading

@opencode-agent
opencode-agent Bot disabled auto-merge August 15, 2026 19:14

@opencode-agent opencode-agent 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.

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 1eb99cdff72fa30ea4df1ea45a2643759ef3f876.
  • 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:

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["Changed file: CHANGELOG.md"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file: CHANGELOG.md"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs: strix-github-models-retirement-brownout.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: strix-github-models-retirement-brownout.md"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (3 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (3 files)"]
  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"]
Loading

@seonghobae
seonghobae enabled auto-merge (squash) August 16, 2026 09:57
@opencode-agent
opencode-agent Bot disabled auto-merge August 16, 2026 09:59
@seonghobae
seonghobae enabled auto-merge (squash) August 16, 2026 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants