OrderRepository::createPending : persiste une commande borne en pending_payment
(customer_order + order_item + selection + modifier) en UNE transaction. Prix
recalcules serveur (RG-T16), TVA par ligne (RG-4 : product.vat_rate ; menu = TVA du
burger), numero K+id, idempotence (anti retry borne). Validation des references /
disponibilite / selections-hors-slot / modifiers (OrderValidationException -> 422).
Migration 0003 : colonne service_tag (chevalet, B4) sur customer_order.
NB : le decrement de stock (RG-T20) + transition paid = pay(), chunk 1b (necessite
aussi le seed des recettes, differe). Regles de calcul (produit normal, extras add,
TVA menu=burger) documentees dans le repo, a confirmer en revue.
6 tests unitaires (calcul d'argent, K+id, idempotence, validations). PHPUnit 307 + PHPStan L6.