Reconcile archive and restore after Paper card reselection - #3082
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. |
Chris0Jeky
left a comment
There was a problem hiding this comment.
Independent Terra review: CLEAN at cddd7c1 against main160818440214a18c60392576452e28e9e283bc76.
The successful inactive keyed-child callback delivers the committed card before releasing shared pending ownership. The CardModal host accepts reconciliation only for the current matching board/card, preserves the selected form draft, and supplies the committed updatedAt to the replacement action. Stale-parent event and permission suppression remain in the existing paths.
The focused tests cover archive/restore success/failure across A-to-B-to-A, lock release, committed lifecycle/version, unrelated B, event/close suppression, focus and newer local A drafts. No realistic changed-seam HIGH/CRITICAL finding was identified. Review did not run tests, build, browser, hosted CI or inspect parked PR3072. These remain separate qualification evidence.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 29a3142a93
ℹ️ 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".
|
Delivered as merge commit 2cdc452. Required ci-required.yml run34722482168 succeeded at final head29a3142a93c3851a56c85dd382bd06242452a750 against base96f4b7cc259487b3bcdd97c2d4da057a1f78c44f; every hosted check was successful. Full frontend qualification passed 6,909 tests with 3 existing skips, lint, typecheck and build. Issue3060 is closed; issue and PR project items are Done / Priority IV. First post-merge review reconciliation confirms the only thread is resolved after tracking its MEDIUM residual in #3083. No fix is claimed for that separate form/assignment write-version follow-up. The clean delivered worktree was removed with plain git worktree remove after checking ancestry, ignored outputs and running processes. QA evidence remains in C:/td0912-evidence/3060-archive-settlement. Existing human actions are unchanged. |
|
Fresh post-merge review on current The implementation captures the committed card identity, routes an inactive-context completion through The older form/assignment-version concern remains correctly separated as #3083; this review does not broaden #3082 to claim that follow-up is solved. |
Switching Paper inspector A to B and back while A's archive or restore request was pending left the replacement inspector with the old lifecycle state after success. Its next action could submit a redundant request and receive a version conflict. The selected matching inspector now receives the committed lifecycle and updatedAt before the shared pending lock is released, while preserving newer local draft edits.
The focused regression covers both archive and restore, success and failure, unrelated selection, focus, event suppression and the returned draft. Seven cases pass; the two stale lifecycle directions failed before the fix. One independent Terra review is clean. The implementation's three source blobs are unchanged from reviewed cddd7c1 after incorporating recovery integration #3081. STATUS and MASTERPLAN record the candidate.
Combined frontend qualification: 6,909 passed, three existing skips, 445 files; full lint, typecheck and production build pass. The first source-only full-suite attempt was interrupted without a conclusion; the completed combined run provides the final result. The tested runtime tree is unchanged at the published head. No new backend, browser, physical-device or screen-reader acceptance is claimed for this frontend slice.
Recovery integration #3081 landed as 96f4b7c. This branch includes that delivered main base with no additional runtime or test changes; the PR diff is limited to the archive fix, its regression and the two progress records. Exact-head/base ci-required.yml remains required before merge. The bounded review confirmed a MEDIUM follow-up: after a late restore, form and assignment saves still retain old write baselines and can receive a 409 while preserving the draft. This is tracked in #3083 with explicit committed-version acceptance. Broader #3023 draft work and parked #3057 permission work remain separate. Existing human actions in OUTSTANDING_TASKS.md are unchanged.
Closes #3060