Skip to content

chore(opencode): use NVIDIA NIM only for review config - #1383

Closed
seonghobae wants to merge 4 commits into
developfrom
cursor/opencode-nim-only-55af
Closed

chore(opencode): use NVIDIA NIM only for review config#1383
seonghobae wants to merge 4 commits into
developfrom
cursor/opencode-nim-only-55af

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Description

ContextualWisdomLab no longer uses GitHub Models. This PR rewrites the local OpenCode review config to NVIDIA NIM only.

  • Provider: nvidia-nim at https://integrate.api.nvidia.com/v1 with apiKey: {env:NVIDIA_API_KEY} (org secret NVIDIA_NIM_API_KEY is bound to NVIDIA_API_KEY).
  • Default model: nvidia-nim/nvidia/llama-3.3-nemotron-super-49b-v1.5
  • Small model: nvidia-nim/meta/llama-3.3-70b-instruct
  • enabled_providers: ["nvidia-nim"] only
  • MCP servers for CodeGraph, DeepWiki, Context7, and web search are unchanged
  • No COPILOT_GITHUB_TOKEN
  • No TEPP-style permission.edit / broad bash allow (this file is the OpenCode review config)
  • Current-contract docs in AGENTS.md and a release-governance regression test now assert the NIM-only OpenCode contract

Historical dated plan notes under docs/plans/ are left as records of the previous GitHub Models era.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Verification

Focused release-governance tests passed (3 passed, 33 deselected):

python3 -m pytest backend/tests/test_release_governance.py -q -k 'opencode_review_config_uses_nvidia_nim_only or review_automation_uses_central or changelog_follows'

opencode.jsonc contains no github-models or STRIX_GITHUB_MODELS_TOKEN.

Open in Web Open in Cursor 

Replace the GitHub Models provider in opencode.jsonc with nvidia-nim
(integrate.api.nvidia.com, NVIDIA_API_KEY) and pin the default review
model to Llama 3.3 Nemotron Super 49B. Keep MCP servers; do not add
TEPP-style edit/bash allow or COPILOT_GITHUB_TOKEN.

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

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

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

Next review available in: 5 minutes

Limit details: You’ve used all 1 included review currently available under your plan.

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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a3800dc-4fd1-4aa1-8eb8-6a4c19837322

📥 Commits

Reviewing files that changed from the base of the PR and between dd8d151 and 6d02010.

📒 Files selected for processing (4)
  • AGENTS.md
  • CHANGELOG.md
  • backend/tests/test_release_governance.py
  • opencode.jsonc

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 marked this pull request as ready for review August 16, 2026 16:27
@cursor

cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

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.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review Overview — NVIDIA NIM-only OpenCode config

Head: d353752381aad1a239e2ada1011593bfc8db38e5
Event: COMMENT (no blocking defect; required checks are still queued, so this is not an approval)
Landing vehicle: keep #1383. Do not open a second NIM-only opencode.jsonc PR.

This slice matches the current org contract: enabled_providers: ["nvidia-nim"], provider nvidia-nim at https://integrate.api.nvidia.com/v1, apiKey: {env:NVIDIA_API_KEY} (org secret NVIDIA_NIM_API_KEY is bound onto that env name), default model nvidia-nim/nvidia/llama-3.3-nemotron-super-49b-v1.5, MCP servers unchanged, share: "disabled", no COPILOT_GITHUB_TOKEN, and no TEPP-style permission.edit / broad bash allow.

flowchart LR
  A["opencode.jsonc + AGENTS.md"] --> B["NIM-only review contract"]
  B --> C["test_opencode_review_config_uses_nvidia_nim_only"]
  C --> D["Keep #1383; wait exact-head checks"]
Loading

Findings

  • P1 / blocking: none. Evidence: opencode.jsonc provider map is solely nvidia-nim; backend/tests/test_release_governance.py locks exact model, small_model, enabled_providers, baseURL, {env:NVIDIA_API_KEY}, catalog IDs, and forbids github-models / STRIX_GITHUB_MODELS_TOKEN / COPILOT_GITHUB_TOKEN / models.github.ai / GPT-5 / DeepSeek tokens in the config. Current-policy docs no longer prescribe GitHub Models as the default.
  • P3 / non-blocking: reasoningEffort: "high" on Nemotron Super is OpenAI-style; hosted NIM often reads chat_template_kwargs. Harmless if ignored. Do not rename the local bind to {env:NVIDIA_NIM_API_KEY}.
  • P3 / non-blocking: dated docs/plans/2026-05-* / 2026-06-* notes still describe the old GitHub Models era. Leave them as historical records.

CodeRabbit on this head is rate-limited (Review limit reached) with no findings. That is a wait-state, not a source defect.

Next action

Keep this PR as the single NIM-only landing vehicle. After required checks finish on d3537523, merge through the existing metadata-only robot path. Do not add a competing OpenCode config PR, and do not change the local API-key env name.

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

@seonghobae

Copy link
Copy Markdown
Contributor Author

Merge loop: not mergeable yet. Head d353752381aad1a239e2ada1011593bfc8db38e5 is not behind develop. Required checks still queued since 16:13 UTC (backend, frontend, strix, security, scorecard, osv-scan, trivy-fs, dependency-review, CodeQL, image validators, PR governance). Infra/queue, not source. Do not self-approve.

@seonghobae
seonghobae enabled auto-merge (squash) August 17, 2026 23:06

@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 cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 6d0201060585acc6b7e1892d1f14b4e252529faa.

  • Head SHA: 6d0201060585acc6b7e1892d1f14b4e252529faa

  • Workflow run: 32123714207

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
  Evidence --> S2["Backend: test_release_governance.py"]
  S2 --> I2["API and service runtime"]
  I2 --> R2["Review risk: Backend: test_release_governance.py"]
  R2 --> V2["backend tests"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 6d0201060585acc6b7e1892d1f14b4e252529faa
  • Workflow run: 32123714207
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 6d0201060585acc6b7e1892d1f14b4e252529faa.

  • Head SHA: 6d0201060585acc6b7e1892d1f14b4e252529faa

  • Workflow run: 32123714207

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
  Evidence --> S2["Backend: test_release_governance.py"]
  S2 --> I2["API and service runtime"]
  I2 --> R2["Review risk: Backend: test_release_governance.py"]
  R2 --> V2["backend tests"]
Loading

@github-actions

Copy link
Copy Markdown
Contributor

PR governance metadata gate is not ready for 6d0201060585acc6b7e1892d1f14b4e252529faa:

  • Review decision is CHANGES_REQUESTED; address requested changes before merge.

@opencode-agent
opencode-agent Bot disabled auto-merge August 18, 2026 10:48
@seonghobae

Copy link
Copy Markdown
Contributor Author

Closing as superseded/invalid for the current repository contract: this PR rewrites the local OpenCode review provider and AGENTS policy to NVIDIA NIM-only, while the current develop and central governance contract keep the existing review-agent key/provider scheme authoritative. The requested contextual-orchestrator integration belongs to the Noema runtime boundary in #1384, not a replacement of the review agent. No source merge or bypass is performed.

@seonghobae seonghobae closed this Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants