# POS-008 — Implementer evidence ## What POST /pos/sales idempotent sale endpoint. tsc 0, verify verde. ## Files - `src/modules/pos/domain/pos-sale.ts` — PosSaleInput, PosSaleResult, PosPaymentInput, PosPaymentResult types - `src/modules/pos/application/create-pos-sale.ts` — CreatePosSaleUseCase with transaction (BEGIN/COMMIT/ROLLBACK), idempotency check, cash session lock - `src/modules/pos/api/pos.routes.ts` — POST /pos/sales route with schema validation ## Verification - `npm run build` → 0 TypeScript errors. - `./scripts/verify.sh` → green. ## AC traceability | AC | Estado | |----|--------| | AC1 idempotent | ✅ idempotencyKey check returns existing | | AC2 atomic | ✅ BEGIN/COMMIT/ROLLBACK transaction | | AC3 items + payments | ✅ INSERT + total validation | | AC4 cash session update | ✅ UPDATE expected_cash_cents | | AC5 tsc/verify | ✅ |