docs: confirm review pipeline already routes through orchestrator/free, not NIM directly - #1884
docs: confirm review pipeline already routes through orchestrator/free, not NIM directly#1884seonghobae wants to merge 4 commits into
Conversation
…e, not NIM directly Audited opencode.jsonc, opencode-review-dispatch.yml's model candidates, and contextual_orchestrator_review_sidecar.sh: Noema/OpenCode review and Strix security review (via pr-review-autofix's sidecar) already route exclusively through contextual-orchestrator's orchestrator/free pool. NVIDIA NIM keys only flow in as bootstrap KV credentials for the vendored gateway's own model discovery; no workflow or script makes a direct HTTP call to a NIM endpoint. Also corrects a stale gap-baseline note: the hourly-cron test flagged not-yet-fixed on 2026-09-04 was in fact fixed by #1877 the same day (test_review_fix_caller_keeps_the_github_daily_recovery_slot). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
…-routing-confirmation # Conflicts: # docs/product-technical-gap-baseline.md
|
Current-head documentation blocker (freshly refetched at The statement that the review pipeline is already fully routed through contextual-orchestrator and needs no code change is too broad for Strix. The logical model identifier is now NewsDOM #682's exact predecessor run Please keep this PR Draft and do not characterize the dependency as complete. Canonical implementation/dependency tracking is now:
This is a source/architecture finding, not a request for a source-neutral rerun or a NewsDOM change. |
…p entry @seonghobae disputed the original "Confirmed already implemented; no code change needed" framing on this PR. Independently re-verified all three of their points against exact file:line evidence before applying this correction: the model-selection/logical-routing layer (opencode.jsonc, opencode-review-dispatch.yml) is correct as originally audited, but the sidecar/egress infrastructure layer four consumers actually run on (scripts/ci/contextual_orchestrator_review_sidecar.sh) still injects five raw provider secrets, clones and runs contextual-orchestrator fresh on the calling runner, performs discovery in-process there, and leaves strix.yml's harden-runner at egress-policy: audit rather than block. Corrects the gap baseline entry and its matching CHANGELOG.md entry to state this accurately, with citations to .github#1759 and contextual-orchestrator#1041 comment 5550412102 for the closing work still needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
|
Confirmed — independently re-verified all three points against exact file:line evidence ( Pushed Generated by Claude Code |
# Conflicts: # CHANGELOG.md # docs/product-technical-gap-baseline.md
Summary
This cycle's directive specifically targeted getting Noema/OpenCode review/tag/PR-conflict auto-resolution and Strix security review routed through
contextual-orchestrator'sorchestrator/free, with direct NVIDIA NIM communication called out as a removal target ("free+ZDR 조합도 해결 못 하는데 유료 모델 포함 auto는 의미 없다").An audit of the central review pipeline found no violation — this is already implemented:
opencode.jsoncdeclaresenabled_providers: ["contextual-orchestrator"]only;model/small_modelare pinned tocontextual-orchestrator/orchestrator/free. Nonvidia-nimprovider block exists (already removed 2026-08-31)..github/workflows/opencode-review-dispatch.yml'sOPENCODE_MODEL_CANDIDATESnames onlycontextual-orchestrator/orchestrator/free— no paid or auto-selected candidate is dispatched.scripts/ci/contextual_orchestrator_review_sidecar.sh(the vendored gatewaypr-review-autofix.ymlprovisions for Noema/OpenCode/Strix repair) only forwardsNVIDIA_NIM_API_KEY/NVIDIA_NIM_API_KEY_SUBas bootstrap KV credentials for the vendored orchestrator's own model discovery. The actual review completion call targets the sidecar's own loopback endpoint withCONTEXTUAL_ORCHESTRATOR_POOLhard-locked tofree. No.github-side HTTP client calls a NIM endpoint directly.nvidia-nim-branch dead code inrun_opencode_review_model_pool.shis inert and contract-test-pinned as absent from workflow files.Correction, 2026-09-05: this PR's own framing above was too broad. See
docs/product-technical-gap-baseline.md's corrected 2026-09-05 entry: the model-selection/logical-routing layer audited above is confirmed correct, but the sidecar/egress infrastructure layer (scripts/ci/contextual_orchestrator_review_sidecar.sh) is not yet the thin, secrets-free gateway call this framing implied — it still injects all five raw provider secrets, clones and buildscontextual-orchestratorfresh on the calling runner per invocation, and runs discovery in-process there. Tracked by#1759andcontextual-orchestrator#1041comment5550412102.This PR is documentation-only: it records the audit findings (both the original and the correction) in
docs/product-technical-gap-baseline.md(with the full audit trail and citations) andCHANGELOG.md, and separately corrects a stale gap-baseline note — a test flagged "not yet fixed" on 2026-09-04 (test_review_fix_caller_runs_once_each_hour, hourly vs. daily-cron staleness) was in fact fixed by #1877 the same day (renamed totest_review_fix_caller_keeps_the_github_daily_recovery_slot), confirmed live on currentmain(re-verified again during this PR's second merge-conflict resolution).No code, workflow, or test files changed.
Test plan
PYTHONPATH=. python3 -m pytest tests/test_product_technical_gap_baseline.py tests/test_pr_review_autofix_nvidia_nim_contract.py tests/test_noema_review_gate.py tests/test_required_review_runner_image_contract.py -q— 144 passedorigin/main(8272e4f9) thattest_review_fix_caller_keeps_the_github_daily_recovery_slotexists and the oldtest_review_fix_caller_runs_once_each_hoursymbol is gone🤖 Generated with Claude Code
https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
Generated by Claude Code