Inventory had to handle retries.
Holds, partner changes, retries, expiry, and partial failures can happen together. The system needed one place to track the state.
Built a NestJS, Fastify, and MySQL inventory service with transactional holds, idempotent commit and cancel behaviour, compensation, immutable events, expiry and recovery jobs, and reconciliation.
A transactional inventory boundary that kept retries and concurrent changes explicit.