Skip to content

fix(review): scope refusal state to its board - #2797

Merged
Chris0Jeky merged 7 commits into
mainfrom
issue-2214/scope-refusal-state
Sep 9, 2026
Merged

fix(review): scope refusal state to its board#2797
Chris0Jeky merged 7 commits into
mainfrom
issue-2214/scope-refusal-state

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 8, 2026

Copy link
Copy Markdown
Owner

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:

  • 180 composable tests passed, including A403-to-B403 feedback and B403-to-C500 attribution regressions. Terra independently repeated all 180.
  • Exact Chromium review-queue-recovery E2E passed 1/1, including the formerly failing feedback assertion.
  • Typecheck, production build and scoped ESLint passed. The final docs-only main merge passed doc links (666 files).
  • Original independent review and the narrow Terra CI-fix review found no remaining C/H blocker. Hosted CI must pass at ea6de1c before merge.

Refs #2214. The separately tracked refresh-health disclosure/counter attribution remains outside this correction. Evidence is preserved at C:/Taskdeck-wave/evidence/2214.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T09:29:54.264884Z 83f9920 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread frontend/taskdeck-web/src/composables/useReviewProposals.ts
@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 8, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

CI triage update (round 1 complete): E2E Smoke failed in review-queue-recovery.spec.ts:61. The Playwright artifact shows that, after an A -> B scope change and the second explicit intercepted 403, paper-review-access-revoked-retry is absent. At this head, loadProposalsWithOutcome clears the previous revoked state when the requested scope differs before it issues B's read; the next 403 is therefore treated as a first refusal and does not set retry feedback. The durable revoked-access panel remains visible. This is a confirmed MEDIUM feedback regression, not a flaky/unavailable-log conclusion; it is outside the C/H-only one-fix-batch rule. CI is red and this PR is parked pending a separately scoped repair/re-gate.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

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.

@Chris0Jeky
Chris0Jeky merged commit 7be107b into main Sep 9, 2026
35 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-2214/scope-refusal-state branch September 9, 2026 10:57
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant