# 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 | ✅ |
