Codex review replies in-thread + @codex-tagged; perms allowlist#2
Conversation
Fixes the convention bug where a Codex review thread was closed with a top-level PR comment and no @codex tag (Codex never re-evaluated). - scripts/review-gate.sh: new 'reply' subcommand posts via addPullRequestReviewThreadReply (in the thread, not a PR comment) - CLAUDE.md / .codex/DELEGATION.md / /review-gate: mandate in-thread reply + @codex tag, and resolve a substantive thread only after Codex re-evaluates (never unilaterally)
|
@codex review |
|
To use Codex here, create an environment for this repo. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1932ffb7d3
ℹ️ 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".
Addresses Codex review P2 on PR #2: comments(first:1) only ever showed the original finding, so once a thread had finding -> reply -> Codex re-review, status/threads would resolve on stale data. Now fetches comments(last:20) and surfaces both the finding and the latest reply.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3fcd8b57af
ℹ️ 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".
Addresses Codex P2 on PR #2 ("fetch the original finding separately"): the GraphQL query now uses aliased finding:comments(first:1) + recent:comments(last:20), so the original finding is never lost no matter how many replies a thread has; renderers updated accordingly. Corrects the convention itself (empirically: Codex re-review lands as a NEW thread, not an in-thread reply): reply in-thread for the audit record then resolve; the gate is 'zero unresolved Codex threads + CI green + mergeStateStatus CLEAN', not waiting for an in-thread re-review. Updated CLAUDE.md, .codex/DELEGATION.md, /review-gate.
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Per direction: when Codex leaves a review comment, acknowledge with a TOP-LEVEL PR comment that @codex-mentions it and highlights the change, resolve the old conversation, then wait for re-review (which always arrives as new threads). Updates CLAUDE.md, .codex/DELEGATION.md, /review-gate; review-gate.sh 'reply' demoted to optional audit note.
|
@codex re-review please. Since the last review I addressed both findings and pushed through 823bfa2:
CI is green on 823bfa2. Please re-review the current state. |
|
Codex Review: Didn't find any major issues. 🎉 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Why
Process-bug fix. On PR #1 I closed a Codex review thread with a top-level PR comment and no
@codextag, so Codex never re-evaluated and the thread was resolved unilaterally. With "conversations must be resolved before merge" enforced, this convention has to be correct.Changes
scripts/review-gate.sh: newreply <threadId> <body>subcommand — posts in the review thread viaaddPullRequestReviewThreadReply, not a top-level comment.CLAUDE.md/.codex/DELEGATION.md/.claude/commands/review-gate.md: mandate reply in-thread +@codextag, and resolve a substantive thread only after Codex re-evaluates (never unilaterally; trivial fixes may rely on the in-thread@codexreply as the record)..claude/settings.json: allowlist read-onlypnpm typecheck/pnpm lint(from the fewer-permission-prompts scan) — separate commit.Dogfood
This PR's Codex feedback (if any) will be answered with the new convention:
review-gate.sh reply <thread> "... @codex ..."in-thread, resolve only after re-eval.No Linear link (Linear MCP not loaded in this session).