Skip to content

fix(ci): restore review control plane and respond to agent mentions - #757

Closed
seonghobae wants to merge 75 commits into
mainfrom
feat/comment-agent-mention-dispatch
Closed

fix(ci): restore review control plane and respond to agent mentions#757
seonghobae wants to merge 75 commits into
mainfrom
feat/comment-agent-mention-dispatch

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Purpose

Restore the central review/security control plane, add a trusted pull-request comment invocation surface for the existing review agents, and consolidate the validated runtime-coverage and sandbox-evidence boundaries developed in focused replacement PRs.

Comment invocation

  • @cwl-noema-review dispatches the central noema-review event with the live PR number and immutable current head SHA.
  • @opencode-agent dispatches the central merge scheduler in review-only mode: enable_auto_merge=false, update_branches=false, and merge_mode=disabled.
  • Accepted invocations receive an eyes reaction and an idempotent receipt comment.
  • The central repository handles its own comments immediately and performs a bounded organization sweep because organization ruleset workflows do not propagate issue_comment events to sibling repositories.

Central control-plane baseline

The branch restores the validated organization baseline:

  • consistent immutable CodeQL action revisions and current-head/merge-preview SARIF gates;
  • remediated, hash-locked Strix dependencies;
  • fail-closed trusted-base Python lock preflight;
  • default-branch dependency snapshots for meaningful dependency review;
  • immutable reusable-workflow source validation and hourly bounded repair;
  • read-only defaults with narrowly elevated job permissions;
  • no pull-request-controlled code execution in the mention-router trust boundary.

JavaScript runtime coverage boundary

The Istanbul post-processor distinguishes product runtime modules from bounded non-product tooling without repository-specific exceptions:

  • recognized profile-qualified build/test configuration files are not misclassified as runtime;
  • root or nested scripts/check-* and scripts/verify-* commands outside src remain governed by command-level CI contracts;
  • ordinary executable scripts, business modules named *.config.ts, and every module under src/scripts remain blocking runtime scope;
  • a changed runtime file missing from coverage-final.json fails closed;
  • intersecting changed statements, branches, functions, and lines require complete evidence.

Sandboxed evidence redaction

One production boundary redacts completed and timed-out process output, structured and echoed commands, sensitive option values, assignments, evidence notes, service tails, nested JSON values, and credential-shaped JSON keys before publication.

The implementation additionally:

  • uses bounded forward assignment scanning rather than quadratic rescanning;
  • rejects malformed JSON-looking records, excessive nesting, and parser/encoder recursion through fail-closed redacted evidence;
  • covers concatenated, CamelCase, quoted, bearer/basic, and oversized sensitive assignments;
  • executes structured argv with shell=False without mutating the command being verified;
  • constructs credential-shaped test data at runtime so Secret Scan remains authoritative.

A same-head regression discovered that the deep-recursion fallback leaked api_key=secret. The failing contract was preserved first, then production parsing was repaired.

Security and operational boundaries

  • Only OWNER, MEMBER, and COLLABORATOR comments on open pull requests are accepted.
  • Bot, external contributor, ordinary issue, closed PR, malformed metadata, already processed comment, and lookalike-handle inputs fail closed.
  • Receipt markers are trusted only from github-actions[bot] with bot type.
  • Empty or malformed paginated API responses fail with bounded diagnostics.
  • Candidate enumeration is lazy and stops when the dispatch budget is exhausted.
  • OpenCode dispatch is restricted to the configured repository allowlist.
  • Cross-repository reads use the established user-token or OpenCode App installation-token chain; central workflow dispatches use the central repository token.

Scheduled-agent credential boundary

The write-capable hourly OpenCode repair path must use NVIDIA_NIM_API_KEY, must not use COPILOT_GITHUB_TOKEN, and must preserve the existing independent read-only OpenCode and Noema reviewer credential names and scopes. Draft PR #769 remains the NVIDIA-NIM-only scheduled autofix integration stacked on this branch until the central control-plane base stabilizes.

Verification

The reconciled exact head must prove:

  • full deterministic tests;
  • production statement and branch coverage at 100%;
  • production docstrings at 100%;
  • Python 3.10 compatibility where required;
  • immutable workflow actions and exact contributor-head checkout;
  • Security Scan, Python Security, CodeQL, Semgrep, Secret Scan, OSV, Scorecard, and SBOM success;
  • current-head CodeRabbit, OpenCode, and Noema review;
  • qualifying independent approval;
  • zero unresolved actionable review threads.

Older-head verdicts are not completion evidence.

Standards and doctoring

CHANGELOG.md and APA 7 doctoring records cover review-agent invocation, hourly repair, central security baselines, JavaScript runtime coverage classification, and sandbox command/output redaction. Sources include current primary GitHub and Vitest documentation, NIST SSDF publications, OWASP logging guidance, and CWE material. No formal conformance is claimed.

Stack and merge gate

  1. Trusted uv.lock materialization PR fix(coverage): materialize trusted uv lock dependencies #743 must merge first.
  2. This branch must reconcile against the resulting protected main and rerun every gate on its new exact head and base.
  3. Draft PR fix(ci): run hourly review autofix through NVIDIA NIM #769 applies the required NVIDIA-NIM-only write-capable OpenCode autofix contract on top of this branch; it remains draft until this base stabilizes.
  4. Downstream repositories must subsequently revalidate against the integrated central baseline.

Merge remains prohibited until the reconciled exact head passes every required check and security gate, receives current-head automated review and a qualifying independent APPROVED review, has no actionable unresolved thread, and satisfies branch protection without bypass.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 46 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

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: 142146fc-0135-48b9-ad4a-c553d329e9f0

📥 Commits

Reviewing files that changed from the base of the PR and between af29c2c and 548bb41.

📒 Files selected for processing (27)
  • .github/workflows/agent-mention-router.yml
  • .github/workflows/control-plane-quality-ci.yml
  • CHANGELOG.md
  • docs/doctoring/central-security-and-review-baseline.md
  • docs/doctoring/javascript-runtime-coverage-scope.md
  • docs/doctoring/sandboxed-command-log-redaction.md
  • scripts/ci/agent_mention_router.py
  • scripts/ci/agent_mention_sweep.py
  • scripts/ci/install_base_python_locks.py
  • scripts/ci/javascript_coverage_gate.py
  • scripts/ci/redact_sensitive_log.py
  • scripts/ci/sandboxed_verify.py
  • scripts/ci/sandboxed_web_e2e.py
  • tests/conftest.py
  • tests/test_agent_mention_router.py
  • tests/test_agent_mention_sweep.py
  • tests/test_agent_mention_workflow_contract.py
  • tests/test_control_plane_coverage_closure.py
  • tests/test_control_plane_quality_coverage_gaps.py
  • tests/test_control_plane_quality_workflow_contract.py
  • tests/test_install_base_python_locks_atomic.py
  • tests/test_javascript_coverage_scope.py
  • tests/test_pr_review_fix_scheduler_import_fallback.py
  • tests/test_redact_json_key_boundary.py
  • tests/test_sandboxed_output_redaction.py
  • tests/test_sandboxed_web_e2e.py
  • tests/test_unstructured_separate_option_redaction.py
📝 Walkthrough

Walkthrough

PR 댓글의 에이전트 멘션 라우팅과 조직 스윕을 추가했습니다. 재사용 워크플로의 불변 소스 검증을 강화했습니다. SBOM·CodeQL 워크플로와 Python 의존성 잠금 및 preflight 검증을 갱신했습니다.

Changes

에이전트 멘션 자동화

Layer / File(s) Summary
멘션 이벤트 검증
.github/workflows/agent-mention-router.yml, scripts/ci/agent_mention_router.py, tests/test_agent_mention_router.py, tests/test_agent_mention_workflow_contract.py
PR 댓글에서 신뢰된 에이전트 멘션을 추출하고 PR 메타데이터와 중복 여부를 검증합니다.
에이전트 디스패치 및 확인
scripts/ci/agent_mention_router.py, tests/test_agent_mention_router.py, docs/automation/review-agent-comment-invocation.md
Noema와 허용된 OpenCode 요청을 중앙 이벤트로 전송하고 처리 영수증을 게시합니다.
조직 댓글 스윕
.github/workflows/agent-mention-router.yml, scripts/ci/agent_mention_sweep.py, tests/test_agent_mention_sweep.py
최근 PR 댓글을 조회하고 미처리 멘션을 디스패치 한도 내에서 처리합니다. 사용자 토큰과 OIDC 기반 앱 토큰을 지원합니다.

워크플로 무결성 및 보안 기준

Layer / File(s) Summary
재사용 워크플로 불변 소스 검증
.github/workflows/pr-review-fix-scheduler.yml, tests/test_pr_review_fix_scheduler_source_pin.py, tests/test_pr_review_fix_hourly_contract.py, docs/automation/hourly-review-repair.md
스케줄러가 호출된 워크플로의 저장소, SHA, ref, 파일을 검증한 뒤 불변 SHA를 checkout합니다.
보안 분석 및 SBOM 트리거 갱신
.github/workflows/codeql-pr.yml, .github/workflows/scheduled-security-scan.yml, .github/workflows/sbom-generation.yml, tests/test_sbom_generation_push_contract.py, docs/doctoring/central-security-and-review-baseline.md
CodeQL·Trivy 액션 참조를 갱신하고 기본 브랜치 push용 SBOM 트리거와 SHA 기반 동시성을 추가합니다.

Python 의존성 잠금 검증

Layer / File(s) Summary
의존성 버전 및 해시 갱신
requirements-strix-ci.txt, requirements-strix-ci-hashes.txt
aiohttp, cryptography, pyopenssl 버전과 해시를 갱신합니다.
pip preflight 진단 분류
scripts/ci/install_base_python_locks.py, tests/test_install_base_python_lock_missing_pin.py
구체적인 버전 증거가 확인된 누락 바이너리만 지연 처리하고 다른 진단은 실패로 유지합니다.

Estimated code review effort: 5 (Critical) | ~120 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PRCommenter
  participant AgentMentionWorkflow
  participant MentionRouter
  participant CentralDispatch
  PRCommenter->>AgentMentionWorkflow: 승인된 PR 댓글 멘션
  AgentMentionWorkflow->>MentionRouter: PR 메타데이터와 댓글 전달
  MentionRouter->>MentionRouter: 멘션, 권한, 상태, 중복 여부 검증
  MentionRouter->>CentralDispatch: Noema 또는 허용된 OpenCode 이벤트 전송
  CentralDispatch-->>MentionRouter: 디스패치 결과
  MentionRouter->>PRCommenter: eyes 반응과 처리 영수증 게시
Loading

Possibly related PRs

Suggested labels: dependencies, python

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 97.73% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 리뷰 제어 플레인 복원과 에이전트 멘션 처리라는 풀 리퀘스트의 주요 변경 사항을 정확하고 간결하게 설명합니다.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/comment-agent-mention-dispatch

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 21:49
Comment thread .github/workflows/agent-mention-router.yml Fixed
@opencode-agent
opencode-agent Bot disabled auto-merge August 4, 2026 21:53

@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 0db74c7c99a52d4c1532163d1884f175abf215d1.

  • Head SHA: 0db74c7c99a52d4c1532163d1884f175abf215d1

  • Workflow run: 30957028159

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: agent-mention-router.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: agent-mention-router.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Docs: review-agent-comment-invocation.md"]
  S2 --> I2["operator or user guidance"]
  I2 --> R2["Review risk: Docs: review-agent-comment-invocation.md"]
  R2 --> V2["docs review"]
  Evidence --> S3["CI script (2 files)"]
  S3 --> I3["review and security gate shell path"]
  I3 --> R3["Review risk: CI script (2 files)"]
  R3 --> V3["bash -n plus Strix self-test"]
  Evidence --> S4["Test (3 files)"]
  S4 --> I4["regression suite"]
  I4 --> R4["Review risk: Test (3 files)"]
  R4 --> V4["targeted test run"]
Loading

@opencode-agent

opencode-agent Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 337f42601c214036fa4d4a55b7a29b710f4a4d2b
  • Workflow run: 30980475135
  • 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 337f42601c214036fa4d4a55b7a29b710f4a4d2b.

  • Head SHA: 337f42601c214036fa4d4a55b7a29b710f4a4d2b

  • Workflow run: 30980475135

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow (6 files)"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow (6 files)"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Changed file (3 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (3 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs (5 files)"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs (5 files)"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (7 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (7 files)"]
  R4 --> V4["bash -n plus Strix self-test"]
  Evidence --> S5["Test (18 files)"]
  S5 --> I5["regression suite"]
  I5 --> R5["Review risk: Test (18 files)"]
  R5 --> V5["targeted test run"]
Loading

@seonghobae seonghobae changed the title feat(ci): respond to Noema and OpenCode PR mentions fix(ci): restore review control plane and respond to agent mentions Aug 4, 2026
@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 22:41
@seonghobae
seonghobae dismissed opencode-agent[bot]’s stale review August 4, 2026 22:43

Superseded by head af29c2c, which integrates the missing coverage/security baseline from #731. Current-head checks and a fresh independent review remain required.

@seonghobae
seonghobae marked this pull request as draft August 4, 2026 22:43
auto-merge was automatically disabled August 4, 2026 22:43

Pull request was converted to draft

@seonghobae
seonghobae marked this pull request as ready for review August 4, 2026 22:43
@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 22:44

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

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.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

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.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@seonghobae
seonghobae dismissed stale reviews from opencode-agent[bot] and opencode-agent[bot] August 5, 2026 05:50

Superseded by current head 337f426. The requested coverage-evidence state and reviewed head c994f4e are stale; current-head quality and security evidence must be reviewed independently.

@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 337f42601c214036fa4d4a55b7a29b710f4a4d2b.

  • Head SHA: 337f42601c214036fa4d4a55b7a29b710f4a4d2b

  • Workflow run: 30980475135

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow (6 files)"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow (6 files)"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Changed file (3 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (3 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["Docs (5 files)"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs (5 files)"]
  R3 --> V3["docs review"]
  Evidence --> S4["CI script (7 files)"]
  S4 --> I4["review and security gate shell path"]
  I4 --> R4["Review risk: CI script (7 files)"]
  R4 --> V4["bash -n plus Strix self-test"]
  Evidence --> S5["Test (18 files)"]
  S5 --> I5["regression suite"]
  I5 --> R5["Review risk: Test (18 files)"]
  R5 --> V5["targeted test run"]
Loading

Copy link
Copy Markdown
Contributor Author

Exact-head stack correction: the live branch head is 337f42601c214036fa4d4a55b7a29b710f4a4d2b, not the c01d1cd6e36f3507066d7f07c00e5bf7ff586584 head described in the current PR body. Treat every test, coverage, review, merge-preview, and security result tied to the earlier head as stale. #743 remains the first protected-baseline dependency. After #743 merges, reconcile this branch onto the resulting protected main, update the body to the new exact head/base/merge preview, and rerun complete quality, security, supply-chain, OpenCode, Noema, independent-approval, unresolved-thread, and branch-protection gates before merge.

@seonghobae
seonghobae enabled auto-merge (squash) August 5, 2026 08:10
@opencode-agent
opencode-agent Bot disabled auto-merge August 5, 2026 08:11
@seonghobae
seonghobae enabled auto-merge (squash) August 5, 2026 10:31
@opencode-agent
opencode-agent Bot disabled auto-merge August 5, 2026 10:31

Copy link
Copy Markdown
Contributor Author

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

Review the current exact head only after all current-head checks finish. Verify the review control plane end to end: fail-closed current-head evidence, reviewer identity and approval freshness, stale/queued/predecessor evidence rejection, NVIDIA NIM/OpenCode execution without COPILOT_GITHUB_TOKEN, bounded and redacted outputs, 100% statement/branch/docstring coverage, realistic adversarial tests, APA 7 doctoring, and protected-branch merge semantics. Do not reuse any earlier-head verdict. Approve only if no blocker remains; otherwise provide a precise patchable finding.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

@seonghobae I will review only the current exact head after the current-head checks complete. I will not use earlier-head evidence.

I will verify the control plane, evidence freshness, reviewer identity, stale-evidence rejection, NVIDIA NIM/OpenCode token handling, output limits and redaction, coverage and docstrings, adversarial tests, APA 7 documentation, and protected-branch merge controls. I will report only current actionable findings.

⚠️ 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.

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review

Exact head remains 337f42601c214036fa4d4a55b7a29b710f4a4d2b; please re-review this head only. The cited run 30980475135 produced 100% statement and branch coverage. Its shard job failed only when actions/upload-artifact@v4 returned HTTP 409 because artifact coverage-data-shard-1 already existed. The current exact-head Central Control Plane Quality CI and all listed security workflows pass. Treat the prior CHANGES_REQUESTED verdict as superseded only if your fresh review independently confirms this evidence. Review only; do not modify the branch, merge, release, or weaken protections.

Copy link
Copy Markdown
Contributor Author

@opencode-agent

Reconcile this control-plane branch with current protected main after #743 merged at f070c504c1cb06891b800d7ab0cf6ac7d3cf8eae. Preserve the exact validated comment-router, hourly bounded repair loop, JavaScript runtime coverage boundary, sandbox evidence redaction, NVIDIA_NIM_API_KEY/OpenCode credential contract, and all permanent tests/doctoring; remove completed one-shot automation; rerun complete statement/branch/docstring and security gates on the rebuilt exact head. Do not merge or bypass approval.

Copy link
Copy Markdown
Contributor Author

Superseded by focused current-main replacement #787. The replacement preserves only the unique trusted review-agent mention router, bounded organization sweep, operator documentation, and permanent 100% statement/branch/docstring gate; it intentionally excludes the broad stale control-plane, coverage, dependency, and sandbox overlap already handled by #743, #759, #782, and #788. The predecessor branch remains available as immutable source evidence, but this PR must not consume additional review or Actions capacity.

@seonghobae seonghobae closed this Aug 5, 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