# Inventory Module — Manual Review Checklist ## Concurrency Safety - [ ] Stock deduction uses atomic operations (optimistic lock, Redis decr, DB atomic update) - [ ] No SELECT + UPDATE gap for stock operations - [ ] Lock granularity: per-SKU, not global lock on inventory table ## Pre-sale / Reservation - [ ] Pre-sale inventory separated from actual inventory - [ ] Reservation timeout and auto-release mechanism - [ ] Reservation-to-actual-deduction transition is atomic ## Audit Trail - [ ] Every stock change logged with: SKU, quantity, operation type, order ID, timestamp - [ ] Stock reconciliation queryable from audit log - [ ] No direct DB updates bypassing the service layer ## Stock Recovery - [ ] Order cancellation triggers stock recovery - [ ] Recovery is idempotent (double-cancel doesn't double-recover) - [ ] Recovery handles edge case: stock recovered after SKU deleted