fix(review): scope refusal state to its board - #2797
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Independent review at 13ad222: no confirmed HIGH or CRITICAL findings. Verified the B 403 -> C 500 handoff, generation/supersession guards, same-board retry behavior, and re-armed poll lifetime; the scope transition clears only the stale B authority claim. Focused spec: 179 passed; typecheck and scoped ESLint pass. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13ad222047
ℹ️ 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".
|
Independent Terra review, round 1 — no confirmed Critical/High finding at head 869e592, live base 8d7cd7d (merge base 2fd93d6). The existing Codex P2 is correctly tracked on #2214 and is non-blocking under the bounded gate. Local evidence: npx vitest --run --maxWorkers=2 src/tests/composables/useReviewProposals.spec.ts (179 passed). No fix batch required. |
|
CI triage update (round 1 complete): E2E Smoke failed in |
Scope refusal state to its board
The Review queue previously retained board B's access-refused panel when the reviewer switched to board C and C's first list request failed with a non-403 error. The panel made a false claim about C. Refusal state now records the board whose request received the 403, clears only when another board becomes the request target, and resumes a permission-paused poll for that new board.
The existing same-board 403 retry and generation guards remain unchanged. A new regression covers B 403 -> C 500 and verifies C reports an ordinary failure without inheriting B's access refusal.
Refs #2214
Validation
npx vitest --run --maxWorkers=2 src/tests/composables/useReviewProposals.spec.ts -t "does not carry a revoked board claim"(red before fix, green after)npx vitest --run --maxWorkers=2 src/tests/composables/useReviewProposals.spec.ts(179 passed)npm run typechecknpx eslint src/composables/useReviewProposals.ts src/tests/composables/useReviewProposals.spec.ts