Skip to content

Detach card assignments atomically when a user deactivates - #3078

Merged
Chris0Jeky merged 1 commit into
mainfrom
codex/3000-deactivation-assignments-20260912
Sep 12, 2026
Merged

Chris0Jeky merged 1 commit into
mainfrom
codex/3000-deactivation-assignments-20260912

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Deactivating a user previously left that user assigned to cards. Self-deactivation now stages assignment removal and audit entries inside the account-state transaction, including archived cards and boards. Other assignees and board ownership/membership stay intact. Cache invalidation and card-assignment notifications happen only after commit; reactivation does not recreate assignments.

Validation:

  • Eight new Application cases pass for cleanup, ordering, missing users, detach/save/commit failures, reactivation and post-commit notification failure.
  • Four real SQLite API cases pass for active/archived cleanup, other-assignee preservation, unauthorized/foreign requests, rollback after SQL save, and a separate observer seeing committed cleanup before the first notification. Detail/export/audit and queued webhook checks are included.
  • Full backend qualification at 6dfa495: 9,746 passed, 34 existing skips, zero failures across six projects. This preserves author source80803b227c70f28d0682c2c8462508b5490d4317 and main9a8c14c6b. Native log and TRX receipts are under C:/td0912-evidence/deactivation-full-backend-trx.
  • Independent source review is clean. Original required run34718304809 passed before typed-relations delivery advanced main; the product recovery integration supplies the next combined-base qualification. No final-current-base CI claim is made here.

The original author's missing SDK limitation is superseded by these local executable results. This direct notification path still has a commit-to-notification window; the separate proposal webhook change does not make deactivation a durable outbox path. No process-kill, live SignalR, external HTTP or real concurrent-writer acceptance is claimed. OUTSTANDING_TASKS.md retains all 41 open human actions.

Closes #3000

…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.

Copy link
Copy Markdown
Owner Author

@codex review

Please review the transaction/save/commit/notification boundary, self-scoped actor provenance, required service dependency and the failure-after-SQL-save test. No local .NET pass is claimed; exact-head hosted application/API qualification is required. The documented direct-deactivation commit-to-webhook gap is intentionally not conflated with the separate proposal outbox work.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 80803b227c

ℹ️ 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".

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 12, 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-12T21:43:04.854430Z 80803b2 Draft marked ready
ℹ️ 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 Chris0Jeky added backend Primary implementation impact in .NET API/domain/application/infrastructure. bug Something isn't working Priority IV Later maturity/deepening; revisited at horizon planning. labels Sep 12, 2026 — with ChatGPT Codex Connector
@Chris0Jeky
Chris0Jeky marked this pull request as ready for review September 12, 2026 21:38
@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 12, 2026
@Chris0Jeky
Chris0Jeky merged commit 6dfa495 into main Sep 12, 2026
83 of 89 checks passed
@Chris0Jeky
Chris0Jeky deleted the codex/3000-deactivation-assignments-20260912 branch September 12, 2026 22:18
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Primary implementation impact in .NET API/domain/application/infrastructure. bug Something isn't working Priority IV Later maturity/deepening; revisited at horizon planning.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Backend][Assignments] User deactivation does not detach existing card assignments (from PR #2977 Codex review)

1 participant