Uh oh!
There was an error while loading. Please reload this page.
feat(automation): run newsdom-api hourly NVIDIA NIM review repair - #1080
feat(automation): run newsdom-api hourly NVIDIA NIM review repair#1080seonghobae wants to merge 7 commits into
Conversation
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Warning Review limit reached
Next review available in:50 seconds Limit 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. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
✨ 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 |
9484fbf to
b6ebc09Compareseonghobae
commented
Aug 19, 2026
Rebased onto current |
b6ebc09 to
d7312e8Compareseonghobae
commented
Aug 19, 2026
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head mergeability evidence and changed-file flow before approval, then found merge conflicts on the affected path.
Findings
1. HIGH Merge Conflict Guidance - Resolve the PR branch against the latest base branch
- Problem: GitHub reports mergeStateStatus
DIRTYfor this pull request. - Root cause: Branch
feat/newsdom-api-hourly-nvidia-nim-review-repaircannot be merged cleanly intomain; the changed-file flow below shows which review/runtime path is blocked by the conflict. - Fix: Merge or rebase the latest
mainintofeat/newsdom-api-hourly-nvidia-nim-review-repair, resolve conflict markers in the PR branch, rerun the focused checks, and push the same branch. - Repair commands:
gh pr checkout 1080 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair- Regression test: Keep OpenCode approval gated on mergeability so model-output failures cannot approve a conflicted PR.
Merge Conflict Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (2 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
- Result: REQUEST_CHANGES
- Reason: mergeStateStatus is
DIRTY; mergeable isCONFLICTING. - Head SHA:
d7312e8a47e3d6c3e3de30300340958aeb0e1409 - Workflow run: 32294434206
- Workflow attempt: 1
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 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (2 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
OpenCode Review Overview
Pull request overviewOpenCode reviewed the current-head mergeability evidence and changed-file flow before approval, then found merge conflicts on the affected path. Findings1. HIGH Merge Conflict Guidance - Resolve the PR branch against the latest base branch
gh pr checkout 1080 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair
Merge Conflict Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (4 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (4 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Merge Conflict Guidance
gh pr checkout 1080 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair |
d7312e8 to
3317787Compareseonghobae
commented
Aug 20, 2026
Rebased onto current origin/main c47bee5 and preserved the existing hourly caller path set plus the newsdom-api documentation/changelog entry. Current HEAD: 3317787 Validation on this HEAD:
@OpenCode review this exact HEAD after the rebase. |
3317787 to
6f3e279Compareseonghobae
commented
Aug 20, 2026
@opencode-agent review the exact current head $head_oid against protected base 2cce96f. Rebased this hourly caller onto current main; contract tests, changed-workflow actionlint, and diff --check were run on the exact rebased source. The caller keeps explicit target identity, bounded dispatch/retry, OIDC/approved secret scope, and no COPILOT token forwarding. Treat predecessor reviews/checks as historical and do not approve from queued or status-only evidence. |
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.
Add a thin minute-43 caller for ContextualWisdomLab/newsdom-api on protected develop. The caller maps only established scheduler credentials, grants job-scoped OIDC, and leaves NVIDIA_NIM_API_KEY on the reusable worker.
1b0a76b to
631a663Compareseonghobae
commented
Aug 21, 2026
Validated exact head 2e9fe6d. Fixed the review finding by moving the newsdom-api caller from occupied minute 43 to free minute 18, updating the workflow comment, doctoring, and contract assertion together. Verification:
The PR remains subject to independent approvals and terminal protected Checks; no bypass or self-approval was used. |
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 21, 2026
Review disposition for current 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 21, 2026
Current-head review dispositionExact head: The two sibling hourly slot-registry comments now identify newsdom-api at minute Verification: 19 focused caller/registry tests passed and |
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 21, 2026
Exact-head follow-up disposition
|
| # Wardnet (7), codec-carver (5), pg-erd-cloud (13), Keyverse (29), | ||
| # noema (19), Scopeweave (31), Appguardrail (41), and | ||
| # governance-risk-compliance (43). | ||
| - cron: "18 * * * *" |
There was a problem hiding this comment.
📝 Info: Minute 18 slot has no cron collision
Across all sibling *-hourly-review-repair.yml crons, minute 18 is unique, so the new caller does not collide. Minute 43 is now governance-risk-compliance, which the new caller's comment lists correctly.
Was this helpful? React with 👍 or 👎 to provide feedback.
seonghobae
commented
Aug 21, 2026
Exact-head lock repair pushed as 54f53fc from d666e90. Updated the hashed pip audit runtime from pip 26.1.2 to pip 26.2.1 with exact hashes, without changing the hourly caller implementation. The same lock has already passed local pip-audit in this maintenance loop; hosted checks and exact-head approval must be re-evaluated. No bypass or force push was used. |
| pip==26.2.1 \ | ||
| --hash=sha256:71138adf1f4ca900cdb7d289c21b7494329f2332b6d85f0e1c42108c0384ed3e \ | ||
| --hash=sha256:f6ad667e89a1fe78046c8f13232b247200f5258d7828f3f7883d660878e0813f |
There was a problem hiding this comment.
🔍 Unrelated pip bump bundled into feature PR
requirements-pip-audit-ci-hashes.txt bumps pip 26.1.2 to 26.2.1, unrelated to the newsdom-api caller and absent from the PR description and CHANGELOG. Confirm this was regenerated via uv pip compile per the repo's hash discipline rather than hand-edited.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval.
Findings
1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved reviewer thread blocks automated approval
- Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human or review-agent thread evidence on the current pull request.
- Root cause: Reviewer and review-agent feedback can arrive after bounded model evidence is prepared, so the approval step must re-query GitHub immediately before publishing an approval.
- Fix: Address or resolve the listed reviewer thread(s), then re-run OpenCode on the current head.
- Regression test: Keep the approval gate querying reviewThreads(first: 100) after model output and before create_pull_review APPROVE, including bot review agents other than OpenCode itself.
Review thread evidence
Latest unresolved reviewer thread evidence
.github/workflows/newsdom-api-hourly-review-repair.yml line 10
- Latest reviewer comment: @devin-ai-integration at 2026-08-21T09:08:01Z
- Comment URL: #1080 (comment)
- Comment excerpt: <!-- devin-review-comment {"id": "ANALYSIS_pr-review-job-9e861e7b7722496f8b9de919880e723d_0001", "file_path": ".github/workflows/newsdom-api-hourly-review-repair.yml", "start_line": 10, "end_line": 10, "side": "RIGHT", "kind": "analysis"} --> / 📝 Info: Minute 18 slot has no cron collision / Across all sibling '*-hourly-review-repair.yml' crons, minute 18 is unique, so the new caller does not collide. Minute 43 is now governance-risk-compliance, which the new caller's comment lists correctly. / <!-- devin-review-badge-begin --> / <a href="https://app.devin.ai/review
requirements-pip-audit-ci-hashes.txt line 218
Latest reviewer comment: @devin-ai-integration at 2026-08-21T19:26:37Z
Comment URL: #1080 (comment)
Comment excerpt: <!-- devin-review-comment {"id": "ANALYSIS_pr-review-job-0a08130cea4a47409cc343c101c2119a_0001", "file_path": "requirements-pip-audit-ci-hashes.txt", "start_line": 216, "end_line": 218, "side": "RIGHT", "kind": "analysis"} --> / 🔍 Unrelated pip bump bundled into feature PR / requirements-pip-audit-ci-hashes.txt bumps 'pip' 26.1.2 to 26.2.1, unrelated to the newsdom-api caller and absent from the PR description and CHANGELOG. Confirm this was regenerated via 'uv pip compile' per the repo's hash discipline rather than hand-edited. / <!-- devin-review-badge-begin
Result: REQUEST_CHANGES
Reason: unresolved reviewer or review-agent thread(s) were present before approval.
Head SHA:
54f53fcad5a241de28aa272d5775e98bf0b9ca00Workflow run: 32983290603
Workflow attempt: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (4 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head mergeability evidence and changed-file flow before approval, then found merge conflicts on the affected path.
Findings
1. HIGH Merge Conflict Guidance - Resolve the PR branch against the latest base branch
- Problem: GitHub reports mergeStateStatus
DIRTYfor this pull request. - Root cause: Branch
feat/newsdom-api-hourly-nvidia-nim-review-repaircannot be merged cleanly intomain; the changed-file flow below shows which review/runtime path is blocked by the conflict. - Fix: Merge or rebase the latest
mainintofeat/newsdom-api-hourly-nvidia-nim-review-repair, resolve conflict markers in the PR branch, rerun the focused checks, and push the same branch. - Repair commands:
gh pr checkout 1080 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/newsdom-api-hourly-nvidia-nim-review-repair- Regression test: Keep OpenCode approval gated on mergeability so model-output failures cannot approve a conflicted PR.
Merge Conflict Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (4 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
- Result: REQUEST_CHANGES
- Reason: mergeStateStatus is
DIRTY; mergeable isCONFLICTING. - Head SHA:
54f53fcad5a241de28aa272d5775e98bf0b9ca00 - Workflow run: 32990958143
- Workflow attempt: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (4 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: newsdom-api-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_newsdom_api_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Buyer-perceivable gap
Hourly NVIDIA NIM review repair never scanned
ContextualWisdomLab/newsdom-api. Live PDF-to-DOM pull requests such as ContextualWisdomLab/newsdom-api#634, ContextualWisdomLab/newsdom-api#632, ContextualWisdomLab/newsdom-api#639, and ContextualWisdomLab/newsdom-api#638 target protecteddevelopand stalled while Clearfolio, DiskSage, and fast-mlsirm received heartbeats.Change
base_branch: develop, one dispatch, two-hour same-head retry.id-token: writeso the reusable scheduler can mint the OpenCode App fallback from GitHub OIDC.PR_REVIEW_MERGE_TOKENandOPENCODE_APPROVE_TOKEN. NeverNVIDIA_NIM_API_KEYon the caller. NeverCOPILOT_GITHUB_TOKEN.pull_request/push/compileallpath contracts.Do not self-approve. Merge remains subject to two-approval + last-pusher ruleset. GitHub review/Checks wait is not a blocker.
Refs ContextualWisdomLab/newsdom-api#634, ContextualWisdomLab/newsdom-api#632, ContextualWisdomLab/newsdom-api#639, and ContextualWisdomLab/newsdom-api#638.