fix(review): re-evaluate fallback change requests - #2126
seonghobae wants to merge 12 commits into
Conversation
Reject fallback change requests as reusable substantive receipts and prevent falling through to an older approval. Keep actual product findings and approval restrictions intact. Commit-Message-Assisted-by: Codex (OpenAI Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Warning Review limit reachedNext included review available in 59 minutes. View limit detailsLimit 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. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
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 |
|
@coderabbitai review Independent validation: focused suites passed 77 tests; with GITHUB_ACTIONS=true and the existing approval gate included, 108 tests passed. Please review fallback rejection and newest-review ordering without weakening approval eligibility. |
|
|
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review of da2c955b09b77c4729a31a30d29fef210e1a1677 (COMMENT, not approval).
The three-file delta correctly applies the existing fallback-marker exclusion to both APPROVED and CHANGES_REQUESTED receipts. Reverse-chronological evaluation now stops at a newer fallback instead of reusing an older same-head approval, while a later substantive change request remains reusable. Approval eligibility, actor/head binding, Draft approval rejection, and malformed/status-only filtering are unchanged. I found no new substantive source defect in this delta.
Fresh isolated validation with warnings as errors: receipt/live-Draft/required-verdict suites 77 passed; production/test compile and git diff --check passed. The local environment injects an unrelated pytest-asyncio deprecation before collection, so the focused run disabled that non-project plugin; the repository tests themselves emit no warning.
Hosted CodeQL 34705252034 is not a source-analysis failure: first-pass Python job 103584917913 recorded verdict=pending; exact-head dispatch statuses for both languages are now success. The remaining required-run settlement belongs to #2106/#2056. Current OpenCode status is also fail-closed and there is no independent current-head approval, so this review does not authorize merge or bypass.
Only re-evaluate the canonical peer-check-only envelope. Preserve mixed and unknown finding headings and keep approval eligibility unchanged. Commit-Message-Assisted-by: Codex (OpenAI Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Preserve both histories and the original mixed finding regression; retain canonical producer binding and unknown-heading blockers. Validation: GITHUB_ACTIONS=true focused suite 117 passed. Signed-off-by: Seongho Bae <me@seonghobae.me> Commit-Message-Assisted-by: Codex (OpenAI Codex)
Commit-Message-Assisted-by: Codex (OpenAI Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
@coderabbitai review Please review current head |
|
|
|
Full local regression completed on
Exit 0: 3057 passed, 1 skipped, 36 subtests passed in 234.70s. Local log: |
|
Exact-head gate update for Security Scan 34706242915, Python Security 34706242834, and SAST Semgrep 34706242829 are terminal GREEN. CodeQL PR 34706242951 is terminal FAIL: Python job 103586831978 and Actions job 103586832008 each show This head has no independent |
Commit-Message-Assisted-by: Codex (OpenAI Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
…uation' into codex/opencode-peer-check-reevaluation
|
The concrete unstructured-prose finding is repaired at Restoring Ready for independent review of the repaired code. Ready does not assert approval or merge readiness; required checks and independent formal approval remain enforced. This resumes the normal review event rather than bypassing checks or manually retrying a live run. |
|
Second exact canary for #2125/#2126, preserving canonical ownership: #2114 is unchanged at A fresh #2126's own current Noema RED was separately RCA'd: exact-head job |
There was a problem hiding this comment.
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
51299f1a4398ce8481d14bbb0515dd5367aefaee. - 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:
- Required Noema Review/noema-review: FAILURE (https://github.com/ContextualWisdomLab/.github/actions/runs/34707140933/job/103621703488)
- noema-review check run: failure (https://github.com/ContextualWisdomLab/.github/actions/runs/34707140933/job/103621703488)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Docs: opencode-peer-check-reevaluation.md"]
S1 --> I1["operator or user guidance"]
I1 --> R1["Review risk: Docs: opencode-peer-check-reevaluation.md"]
R1 --> V1["docs review"]
Evidence --> S2["CI script: opencode_review_receipt_gate.py"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script: opencode_review_receipt_gate.py"]
R2 --> V2["bash -n plus Strix self-test"]
Evidence --> S3["Test: test_opencode_review_receipt_gate.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_opencode_review_receipt_gate.py"]
R3 --> V3["targeted test run"]
OpenCode Review Overview
|
|
Fresh downstream acceptance case for this receipt contract: Use unchanged #2114 as the post-integration acceptance consumer: after this contract lands normally and its Noema/Strix peers recover, a fresh formal review must be requested rather than treating the old peer-only CHANGES_REQUESTED as substantive forever. Conversely, mixed or unknown prose must remain blocking exactly as this branch's current tests require. This does not authorize #2126 or #2114 merge; #2126 itself still needs exact-head peer-check/review convergence and protected integration. |
|
Exact-head Noema acceptance update — Required Noema run
This is a second unchanged-head serving/model-verdict-stage failure after attempt 2. Attempt 2's provider/probe details remain historical evidence already attached to |
|
Attempt 3 gives a stronger RCA and changes the next action: do not rerun this unchanged head again against the current central sidecar pin. Exact head remains The artifact shows the central sidecar reached So this Noema RED is review-infrastructure/runtime evidence, not a new #2126 source finding. The current OpenCode |
Problem and change
A peer-check-only OpenCode change request remained a substantive receipt after CodeQL recovered, causing the caller to skip a new review for MLLO admission #2113. Heading-only classification also discarded real findings written as ordinary prose.
Recognize the complete canonical producer payload: fixed text, current head SHA, failed-check rows and the optional generated diagram. Extra prose and unknown formats remain blockers. A newer fallback cannot resurrect an older approval. Approval eligibility, protection and model routing are unchanged.
Fixes #2125. This preserves #1706's separate caller-verdict delta and both concurrent histories through ordinary merges.
Validation
Current head:
51299f1a4398ce8481d14bbb0515dd5367aefaee.git diff --checkpassed.7ea0e368eb0cd537b696e4ec5999859d13d90504; it is historical, not current-head full regression evidence.Hosted checks, independent formal review, protected-main merge and a fresh #2113 receiver/formal review remain required. Local tests do not establish MLLO deployment.