Ignore stale stock events while retaining their delivery record
Stock revision 42 sets quantity to 7, then delayed revision 41 resets it to 12. Compare vendor revisions atomically and record the stale delivery without changing current stock.
- Focused work estimate
- 2h 30m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Concurrency control · Event ordering · Conflict detection
Estimated field mix
- Integrations50%
- Data engineering30%
- Database engineering20%
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 retailer receives stock from two vendor warehouses. The vendor API paginates snapshots and emits change events, but retries and deleted products have caused unexplained stock drift. Work against a local vendor simulator.
Setup prerequisites
- Create a local vendor API simulator with cursor pages and stock events.
- Use synthetic tenants, SKUs, and warehouse records; no vendor account is required.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- A higher revision replaces the current quantity and records its source event.
- Equal revisions with equal content are idempotent; equal revisions with different content create a conflict.
- Lower revisions remain in delivery history and cannot overwrite current stock.
Implementation constraints
- Define revision ordering in the adapter contract; timestamps alone are insufficient.
Verification to include
- Apply revisions 41, 42, and 41 and verify final quantity from 42.
- Race two updates and send conflicting content under one revision; verify monotonic state and a visible conflict.
Deliverables
- Revision-guarded stock updates and out-of-order fixtures
Rollout and recovery
Enable revision checks before consuming events; quarantine vendors that cannot supply the required ordering contract.
Value of the work
For the engineer: Practice external contracts, cursor recovery, mapping conflicts, and reconciliation under partial failure.
For the team: Inspect whether integration changes protect inventory correctness and give operators a clear recovery path.
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.