noCV
ADRIFT-106 · Apply changes safely

Make plan switching and seat allocation share one consistency boundary

Practice briefTaskExpert

A downgrade races a seat invitation; both requests pass their reads and leave more active seats than permitted.

Focused work estimate
6h + prerequisites
Priority in the scenario
High
Engineering practice
Transactions · Concurrency

Estimated field mix

  • Database engineering60%
  • Backend40%

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Your next step

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 document service grants storage and collaboration rights from subscriptions. Support cannot explain why delayed events restore old limits.

Setup prerequisites

  • Create a local subscription API with synthetic accounts.
  • Understand transactions and UTC intervals.

Preceding work

Complete these dependencies, or supply their agreed outputs before taking this ticket.

Acceptance criteria

  • Serialize competing allowance and allocation changes per account.
  • One conflicting request returns a retryable conflict.
  • A failed transaction leaves both seat count and rights unchanged.

Implementation constraints

  • Document the invariant and chosen locking order.

Verification to include

  • Run a two-client barrier test for downgrade versus invitation.
  • Force transaction rollback and check both tables retain prior values.

Deliverables

  • Transactional guard and concurrency reproduction

Rollout and recovery

Introduce with lock-wait monitoring; revert command routing if contention exceeds the documented local budget.

Value of the work

For the engineer: Practice temporal rules, concurrency and explainable API decisions.

For the team: Review whether entitlement changes preserve customer access and produce supportable decisions.

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.