Make repeated removal requests return the same active operation
A double-click starts two cleanup chains that race and send contradictory completion messages.
- Focused work estimate
- 2h 15m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Idempotency · Transactions
Estimated field mix
- Database engineering40%
- Privacy engineering40%
- Backend20%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional collaboration product lets a member request removal of their personal profile. Search, notifications and cached displays retain copies after the primary row disappears. The exercise uses a documented product deletion policy and synthetic identities.
Setup prerequisites
- Create local profile, search-index and notification fixtures with controlled provider failures.
- Define synthetic members, organizations and a current-session authorization fixture.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- Use a subject-scoped active-operation uniqueness rule and a stable request identity.
- Return the existing operation for a duplicate accepted request.
- Preserve previous terminal history when a genuinely new eligible request is allowed by the policy.
Implementation constraints
- Create the request and dispatch intent transactionally; a retry must not depend on process memory.
Verification to include
- Submit concurrent duplicates and verify one operation plus one dispatch intent.
- Lose the first response and retry, confirming the same safe operation reference.
Deliverables
- Idempotent request creation and concurrency regressions
Rollout and recovery
Apply the uniqueness constraint before deploying the accepting endpoint.
Value of the work
For the engineer: Practice distributed cleanup, identity scope, idempotency and accurate user-facing lifecycle states.
For the team: Produce a reviewable deletion workflow and copy inventory for adaptation to an approved company policy.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.