# F-179

Cause: payments_transactions status CHECK rejects `COMPLETED`. POS now writes `succeeded`, validates session-terminal ownership, stores source/terminal/session/store/customer on the order, and correctly maps idempotent replay payment/item rows. Typecheck and POS tests 8/8 pass. Runtime sale and replay both HTTP 201 with the same order `0ea1004d-1fd5-41c6-be7c-c4910c88f481`.
