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 |
|
The narrowly scoped CI recovery is implemented in 5d9bf9d and independently reviewed by Terra high with no C/H findings. It carries only a request-local prior-refusal fact into a new explicit 403; a 500 still clears the previous board claim and takes the ordinary failure path. The new A403-to-B403 regression and existing cross-scope 500 protection pass. Author: 180 composable tests, typecheck/build/scoped lint, exact Chromium review-queue-recovery E2E 1/1. Reviewer independently repeated 180/180 tests. Final head ea6de1c additionally merges current main with docs-only changes; doc links666 pass. Fresh hosted CI is pending. The separate refresh-health attribution issue stays tracked on #2214. |
|
Disposable recovery checkout removed normally after confirming clean tracked source and existing PR ref equal to the final head. All owned E2E servers stopped. Generated bin/obj, dist, dependencies and the fresh synthetic E2E database were disposable; logs, review diff and cleanup inventory survive at C:/Taskdeck-wave/evidence/2214. |
|
Final current-base Terra reconciliation is clear. The refresh is a two-parent merge of the prior reviewed head and main f935ebc; its only added paths are the five representation-contract files, byte-identical to main, with no conflict-resolution edits. The added contract remains unregistered/unmapped with no runtime writer and no direct interaction with this reviewed seam was found. Original source/fix reviews remain applicable; fresh hosted CI at the refreshed head is the remaining gate. Closeout: PR #2814 and C:/Taskdeck-wave/evidence/HANDOFF.md. |
|
Fresh Terra base-interaction review completed against main 7ac99a7: no CRITICAL/HIGH blocker. Each current head was materialized and its merge tree reconciled cleanly. Original source/fix reviews remain applicable. For the control seams, control-trust tests passed 4/4 (#2792), nightly tests passed 35/35 with docs checks (#2791). Fresh current-head hosted CI remains required; this comment does not waive the maintainer-review gate on control paths. |
The Review queue now binds its access-refused state to the board whose request returned 403. Switching to another board clears the old authority claim before loading, so a 500 on the new board cannot inherit a false refusal. Permission-paused polling resumes for the new board.
An explicit second 403 retains repeated-refusal feedback across that scope change using request-local state. Same-board retry and generation guards remain intact; background reads do not acquire explicit-retry feedback.
Validation:
Refs #2214. The separately tracked refresh-health disclosure/counter attribution remains outside this correction. Evidence is preserved at C:/Taskdeck-wave/evidence/2214.