# TRAIL DPS 4.2.7 - LOT 3.2.7 - Correctif INSERT recu EULA

Date : 7 aout 2026

## Diagnostic

Le LOT 3.2.6 a corrige la reutilisation du placeholder `:accepted_at` dans la recherche de periode commerciale. L audit production du 7 aout 2026 montre ensuite `eula_receipt_persist_error` sur le check principal et sur le canal dedie, avec `receipt_present=true`. La normalisation et la resolution de contexte sont donc franchies et l erreur survient pendant la persistance.

Dans `LicenseRepository::persistEulaAcceptanceReceipt()`, l INSERT reutilisait encore deux fois le meme placeholder nomme `:received_at_utc` pour `first_received_at_utc` et `last_received_at_utc`. Avec `PDO::ATTR_EMULATE_PREPARES=false`, les prepares natifs MySQL/PDO ne permettent pas cette reutilisation et peuvent produire HY093 avant l INSERT.

## Correctif

- `:first_received_at_utc` et `:last_received_at_utc` sont maintenant deux placeholders distincts, lies a la meme date serveur ;
- le numero serveur devient `lot-3.2.7-eula-receipt-insert-bind-fix` ;
- l audit `eula_receipt_persist_error` inclut desormais `error_code`, `sqlstate` et `driver_code` lorsqu une exception PDO survient, sans enregistrer la requete SQL ni des secrets ;
- aucune migration MySQL n est necessaire ;
- aucune modification PLACE n est necessaire. Le recu local existant est retransmis automatiquement.

## Resultat attendu

Au prochain check PLACE ou au prochain appel du canal dedie, la table `eula_acceptance_receipts` doit recevoir ou rafraichir une ligne. L audit doit enregistrer `eula_acceptance_receipt` et la rubrique administration `Recus EULA serveur` doit afficher le recu.
