Deliver proposal webhook durability and card recovery fixes - #3081
Conversation
…24-webhook-transactional-stage
Refuse changed archived matches before any batch writes while preserving unchanged skips and duplicate ambiguity. Add 13 application cases and explicit validation limits for #2935.
# Conflicts: # docs/STATUS.md
Keep UI recovery finite even if transport ignores cancellation, preserve generation ownership, and add lifecycle/API regressions plus design notes for #3063.
…tion Reuse the existing cleanup service for active and archived cards, persist audit with account state, and publish only after commit. Add application and SQLite API regressions plus architecture/qualification notes for #3000.
…irection Keep the plain-object timeout/cancellation stimulus and exact identity check; record the first hosted result and required requalification. Runtime source unchanged.
…github.com/Chris0Jeky/Taskdeck into codex/3063-estimate-lifetime-qualification
…//github.com/Chris0Jeky/Taskdeck into codex/3000-deactivation-qualification
…12-product-recovery-integration
…12-product-recovery-integration
…12-product-recovery-integration
Chris0Jeky
left a comment
There was a problem hiding this comment.
Independent integration review: CLEAN at runtime/test tree f9228e8. The Terra reviewer checked the combined demo entry, direct deactivation notifications versus deferred proposal webhooks, and archived import planning against the relation store. It found no merge-specific HIGH/CRITICAL defect. The existing per-slice independent reviews remain the source reviews; this was a bounded integration pass, not a repeated broad audit.
The coordinator verified all six source ancestors and all 94 changed code/test blobs against their reviewed source owners. The later main160818440 merge and documentation commits leave those runtime/test files unchanged at final head6bc8ea4976b5a83671d03d4f78b0dd9ccb71b1a2. Full frontend qualification is green; final backend/hosted gates remain separate requirements. The parked permission PR3072 is excluded.
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. |
|
Delivered in merge commit 96f4b7c after ci-required.yml run34720964639 passed at exact head6bc8ea4976b5a83671d03d4f78b0dd9ccb71b1a2 and base160818440214a18c60392576452e28e9e283bc76. Independent source/integration reviews are clean; the completed Codex review has no findings. The only nonsuccess check entry was a cancelled advisory Smart CI plan, not a failed required test. Final local qualification: 9,839 backend passed / 34 existing skips across six projects, and 6,907 frontend passed / three existing skips across445 files, plus lint/typecheck/build. The delivery preserves all five source PRs, which GitHub now marks merged. Issues2935/3000/3024/3056/3063 are closed and all eleven project items are Done with verified priorities. The first post-merge review-thread check is clear. Durable native evidence is preserved in C:/td0912-evidence, with the final local receipt in product-recovery-local-qualification.md. Five delivered worktrees were removed with clean source, ancestry and ignored-output checks; the demo source cleanup hit a Windows filesystem permission error after Git deregistered that worktree, so its remaining directory is preserved. No force removal was attempted. The two earlier automatic-policy-denied cleanup trees are also preserved. Source branches and committed history remain available. The parked permission PR3072 and existing human actions remain separate. No release, deployment, physical-device or historical-old-binary acceptance is claimed. Archive reselection proceeds independently in PR3082. |
|
Post-merge fresh-context review found one transaction-boundary residual and recorded it as #3117. The durable webhook preparation introduced here appears sound: matching deliveries are staged inside the operation transaction, preparation failure rolls back, and deferred channel publication is isolated after commit. The remaining defect is later in the committed tail: assignment notification and linked-capture synchronization still inherit the caller cancellation token and can throw into the outer rollback/mark-Failed catch after #3117 contains the concrete paths, failure semantics, and regression acceptance. I found no reason to revert the webhook staging itself. |
This delivery combines five completed recovery slices on the delivered typed-relations base. Reviewed proposal events now persist webhook deliveries before commit, changed archived imports fail during planning, deactivation removes card assignments atomically, estimate reads have bounded lifetimes, and demo sessions omit the server-only Estimates entry.
The source commits and PRs are preserved: #3071, #3068, #3078, #3075 and #3080. All runtime/test merges were automatic; both concurrent progress-document records were retained. A comparison of 94 changed code/test blobs found no difference from their reviewed source owners. Independent source reviews and one bounded integration review are clean.
Validation:
The final combined local backend qualification completed successfully: 9,839 passed, 34 existing skips and zero failures across all six projects. The command was dotnet test backend/Taskdeck.sln -c Release -m:1 with TRX logging at code-equivalent 00c4609; the final head has no backend or frontend changes relative to that checkpoint. Counts were checked against individual TRX outcomes. This PR is ready for review. Exact-head/base ci-required.yml must qualify the final delivery before merge.
Scope limits: permission PR #3072 remains parked and excluded. Direct deactivation still has its existing post-commit notification window; the proposal webhook change is not a global outbox conversion. No actual process-kill, external webhook HTTP, physical-device, screen-reader, cross-browser or new concurrent-writer acceptance is claimed. Existing follow-up issues and all 41 human actions in OUTSTANDING_TASKS.md remain open as applicable. No release or deployment is included.
Closes #3024
Closes #2935
Closes #3000
Closes #3063
Closes #3056