Claude Agent
37172ae2f9
fix(nrinmatriculare): normalizeaza spatii/cratime/puncte consecvent pe toate canalele
...
Doar 13.8% din numerele de inmatriculare istorice treceau validarea stricta
^[A-Z0-9]{1,10}$ (spike SQL), majoritatea din cauza formatelor reale cu
spatii/cratime ("B 99 XYZ", "B-99-XYZ") pe care normalizarea actuala
(strip+upper) nu le curata.
Adauga normalize_nr_inmatriculare() in app.idempotency (deja punctul comun
API+import pentru canonicalize_row) si o foloseste consecvent in:
- models.PrezentareIn (validare shape / normalizare API)
- validation.validate_prezentare (validare continut)
- idempotency.canonicalize_row (cheia de dedup)
Fara aceasta consecventa, validarea si idempotency ar diverge pe acelasi
numar de inmatriculare in formate echivalente.
2026-07-10 13:43:37 +00:00
..
2026-06-19 10:52:17 +00:00
2026-06-15 13:49:20 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-10 12:53:21 +00:00
2026-07-09 08:32:55 +00:00
2026-07-09 08:32:55 +00:00
2026-07-09 08:32:55 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:01:00 +00:00
2026-07-09 08:32:55 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-06-29 20:30:11 +00:00
2026-06-18 16:43:21 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-09 08:32:55 +00:00
2026-06-15 20:20:18 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 21:57:49 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 21:57:49 +00:00
2026-07-06 21:57:49 +00:00
2026-07-07 10:10:58 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-07 10:26:30 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-09 08:32:55 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-28 20:48:34 +00:00
2026-07-10 13:43:37 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-17 06:51:21 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-23 13:39:53 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-07 12:27:42 +00:00
2026-06-23 21:14:53 +00:00
2026-07-07 10:10:58 +00:00
2026-06-18 16:43:21 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-09 08:32:55 +00:00
2026-07-06 13:48:38 +00:00
2026-06-18 17:19:06 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-28 20:48:34 +00:00
2026-07-08 19:42:25 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 12:46:49 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:01:00 +00:00
2026-07-09 08:32:55 +00:00
2026-06-29 07:29:14 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 12:46:49 +00:00
2026-07-06 21:15:12 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-16 20:23:11 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-10 13:43:37 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:50:33 +00:00
2026-07-07 12:27:42 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:50:33 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-07 12:27:42 +00:00
2026-07-06 13:50:33 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-07 17:20:01 +00:00
2026-07-06 13:48:38 +00:00
2026-07-07 10:10:58 +00:00
2026-07-06 13:48:38 +00:00
2026-07-09 14:20:47 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-09 08:32:55 +00:00
2026-07-08 19:42:25 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-08 15:45:34 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-07-06 13:48:38 +00:00
2026-06-23 19:35:47 +00:00