Skip to content

ci: accept exact-head Codex no-finding comments - #4006

Merged
kojiwakayama merged 1 commit into
mainfrom
fix/codex-review-comment-gate
Aug 22, 2026
Merged

kojiwakayama merged 1 commit into
mainfrom
fix/codex-review-comment-gate

Conversation

@kojiwakayama

Copy link
Copy Markdown
Contributor

Why

The automated-review gate accepts formal Codex reviews, but Codex reports a zero-finding review as an authenticated issue comment. That leaves reviewed PRs red when CodeRabbit is rate-limited and deadlocks the protected merge queue. PR #3999 is the first affected migration PR.

Design

  • require the exact Codex bot login, Bot type, and immutable numeric account id
  • require the exact zero-finding prefix and exactly 10 hexadecimal characters in the reviewed-commit field
  • resolve that token through the GitHub commit API
  • accept it only when GitHub returns a full 40-character SHA equal to the current PR head
  • fail closed on malformed, stale, ambiguous, missing, or errored resolution
  • preserve the existing formal-review and CodeRabbit paths

Verification

  • focused gate test: 1 test / 11 steps green
  • format, lint, Deno typecheck, and diff check green
  • live PR test: centralize suite selection across runtimes #3999 Codex comment resolved to and matched its full head SHA
  • independent security review: approved, no findings, 94% confidence
  • full test:scripts was also run: 150 tests / 490 steps passed; two unrelated existing/generated-artifact failures remain outside this diff

Bootstrap

The workflow intentionally loads gate code from the default branch. Therefore this PR itself still runs the old gate implementation until this change merges. Any one-time reconciliation must be tied to an authenticated exact-head review artifact; no skipped/rate-limited comment counts.

Codex emits zero-finding results as issue comments with a ten-character commit token. Resolve that token through GitHub and require the returned full SHA to equal the pull request head before publishing success.

Constraint: Codex zero-finding comments expose only a 10-hex commit token

Rejected: Direct prefix comparison | permits a chosen-prefix replay against another head

Rejected: Status timestamp freshness | delayed review results can race a force-push

Confidence: high

Scope-risk: narrow

Reversibility: clean

Directive: Keep comment evidence bound through GitHub commit resolution; do not replace this with prefix-only matching

Tested: Focused gate tests, format, lint, typecheck, diff check, live comment and commit payload, independent security review

Not-tested: Full test:scripts is blocked by unrelated generated-artifact and documentation-source failures reproduced outside this diff
@kojiwakayama

Copy link
Copy Markdown
Contributor Author

@codex review

@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

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

Next review available in: 1 second

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 @coderabbitai review or push new commits to the PR.

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 configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 241b4746-4ca4-4df7-8c09-bd1ed7698404

📥 Commits

Reviewing files that changed from the base of the PR and between 1f470fa and d6a9567.

📒 Files selected for processing (2)
  • scripts/ci/automated-review-gate.mjs
  • scripts/ci/automated-review-gate.test.ts

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.

@github-actions

Copy link
Copy Markdown

📦 Client bundle boundary

Entrypoint Modules Source size Server leaks
src/index.client.ts 327 1961 KiB ✅ 0

A server module in a client graph aborts hydration in the browser. New leaks fail CI; known leaks are tracked in scripts/lint/client-bundle-baseline.json to burn down.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: d6a95677e3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@kojiwakayama
kojiwakayama added this pull request to the merge queue Aug 22, 2026
Merged via the queue into main with commit 42ffff1 Aug 22, 2026
67 of 71 checks passed
@kojiwakayama
kojiwakayama deleted the fix/codex-review-comment-gate branch August 22, 2026 23:43
@kojiwakayama

Copy link
Copy Markdown
Contributor Author

Post-merge gate verification: PR-head CI and merge-group SHA 42ffff12e9 are green, the hosted Codex review is bound to d6a95677e3, and the independent security review found no issues at 95% confidence. The one-time bootstrap status was necessary because pull_request_target loaded the old gate from main; this comment intentionally retriggers the now-merged default-branch gate so the exact-head Codex artifact is validated automatically.

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.

1 participant