Dom
3b592dd867
feat(core): signature de trajectoire PII-safe + normalisée (R1/R2 amendés, QG Qwen)
...
Anonymisation déterministe de la cible par regex DÉDIÉES (email/date/tél/IPP →
tokens) avant hashing : deux sessions sur le même champ (patients/dates
différents) → même signature. Normalisation casse/accents/espaces (logique
action_executor._norm_text, redéfinie localement pour rester léger).
Choix QG Qwen (2026-06-25) : PAS de pii_blur (il protège les dates qu'on veut
neutraliser), PAS de NER (un hash d'identité doit être déterministe/portable
labo↔DGX). Noms propres sans titre non gérés (stratégie b ; gate = audit
agrégat by_text DGX avant prod). R2 fallback coords RETIRÉ (casserait F1).
R3 (machine_id hors hash) déjà conforme.
TDD: +4 tests (RED→GREEN, 9/9). Primitive non wirée (0 consommateur runtime)
→ changement de calcul sans impact.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 10:47:18 +02:00
..
2026-06-08 15:27:06 +02:00
2026-06-02 16:24:10 +02:00
2026-06-02 16:24:10 +02:00
2026-04-17 17:46:40 +02:00
2026-05-24 16:48:37 +02:00
2026-05-24 16:48:37 +02:00
2026-04-15 09:06:19 +02:00
2026-05-24 21:54:39 +02:00
2026-06-02 15:52:35 +02:00
2026-06-02 15:52:35 +02:00
2026-04-09 21:03:25 +02:00
2026-03-26 10:19:18 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-06-02 16:24:10 +02:00
2026-03-15 10:02:09 +01:00
2026-05-09 15:30:25 +02:00
2026-03-18 16:24:01 +01:00
2026-05-12 18:49:49 +02:00
2026-05-24 16:48:37 +02:00
2026-04-10 09:01:13 +02:00
2026-06-02 16:24:10 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-06-02 16:20:38 +02:00
2026-05-25 06:08:18 +02:00
2026-05-29 17:09:47 +02:00
2026-06-02 16:20:38 +02:00
2026-05-29 21:48:00 +02:00
2026-05-29 18:54:54 +02:00
2026-05-29 11:25:00 +02:00
2026-05-29 18:54:54 +02:00
2026-05-24 21:53:24 +02:00
2026-03-16 22:25:12 +01:00
2026-03-16 22:58:44 +01:00
2026-06-08 15:27:06 +02:00
2026-06-08 15:27:06 +02:00
2026-06-18 17:50:12 +02:00
2026-01-29 11:23:51 +01:00
2026-06-08 17:43:12 +02:00
2026-05-24 17:52:38 +02:00
2026-06-03 14:06:03 +02:00
2026-04-15 09:06:28 +02:00
2026-03-15 10:02:09 +01:00
2026-06-02 16:24:10 +02:00
2026-06-02 16:27:19 +02:00
2026-03-15 10:02:09 +01:00
2026-03-16 23:10:51 +01:00
2026-04-09 22:21:40 +02:00
2026-04-15 09:06:41 +02:00
2026-04-10 08:09:05 +02:00
2026-05-24 16:48:37 +02:00
2026-06-02 16:24:10 +02:00
2026-05-29 11:25:00 +02:00
2026-06-03 14:06:03 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-05-24 16:48:37 +02:00
2026-06-08 15:43:04 +02:00
2026-01-29 11:23:51 +01:00
2026-05-29 13:45:44 +02:00
2026-04-20 17:03:44 +02:00
2026-04-15 22:02:30 +02:00
2026-06-02 16:24:10 +02:00
2026-03-15 10:02:09 +01:00
2026-06-02 16:24:10 +02:00
2026-05-29 21:48:00 +02:00
2026-06-02 16:24:10 +02:00
2026-06-02 16:24:10 +02:00
2026-06-02 16:24:10 +02:00
2026-03-26 10:19:18 +01:00
2026-05-05 23:09:43 +02:00
2026-06-08 11:51:18 +02:00
2026-05-05 22:50:22 +02:00
2026-06-02 16:27:19 +02:00
2026-05-24 21:58:06 +02:00
2026-06-04 16:49:53 +02:00
2026-04-22 10:43:28 +02:00
2026-06-02 16:20:38 +02:00
2026-04-14 16:48:23 +02:00
2026-05-24 21:07:12 +02:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-04-18 13:07:56 +02:00
2026-06-02 16:27:19 +02:00
2026-01-29 11:23:51 +01:00
2026-06-04 16:23:10 +02:00
2026-06-03 14:06:03 +02:00
2026-06-02 16:20:38 +02:00
2026-06-08 16:33:58 +02:00
2026-03-15 10:02:09 +01:00
2026-06-03 14:06:03 +02:00
2026-05-24 16:48:37 +02:00
2026-06-15 09:17:46 +02:00
2026-05-24 16:48:37 +02:00
2026-06-03 14:06:03 +02:00
2026-06-13 08:39:29 +02:00
2026-05-24 16:48:37 +02:00
2026-01-29 11:23:51 +01:00
2026-06-03 14:06:03 +02:00
2026-04-15 09:06:41 +02:00
2026-04-18 13:07:56 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-04-15 09:06:51 +02:00
2026-01-29 11:23:51 +01:00
2026-04-14 16:49:17 +02:00
2026-04-14 16:49:17 +02:00
2026-01-29 11:23:51 +01:00
2026-05-24 16:48:37 +02:00
2026-04-17 17:46:40 +02:00
2026-04-10 09:04:37 +02:00
2026-04-10 09:04:37 +02:00
2026-05-09 12:42:47 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-31 09:45:20 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-06-02 17:46:15 +02:00
2026-05-29 18:36:06 +02:00
2026-04-10 10:54:19 +02:00
2026-04-14 16:48:00 +02:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-06-03 14:06:03 +02:00
2026-04-25 17:48:18 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-06-02 16:27:19 +02:00
2026-05-24 16:48:37 +02:00
2026-06-25 10:47:18 +02:00
2026-04-14 16:48:00 +02:00
2026-06-03 14:06:03 +02:00
2026-03-15 10:02:09 +01:00
2026-04-10 08:28:55 +02:00
2026-04-10 11:02:51 +02:00
2026-05-24 16:48:37 +02:00
2026-05-24 16:48:37 +02:00
2026-05-24 16:48:37 +02:00
2026-05-24 17:52:06 +02:00
2026-03-15 10:02:09 +01:00
2026-06-02 16:27:19 +02:00
2026-06-05 12:06:10 +02:00
2026-06-03 14:06:03 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-04-20 17:03:44 +02:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-05-29 18:36:06 +02:00
2026-05-29 17:22:35 +02:00
2026-01-29 11:23:51 +01:00
2026-05-24 16:48:37 +02:00
2026-06-08 16:33:58 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-06-03 14:06:03 +02:00
2026-04-15 09:06:19 +02:00
2026-04-15 09:07:04 +02:00
2026-06-02 16:27:19 +02:00
2026-06-23 21:35:57 +02:00
2026-06-10 11:36:44 +02:00
2026-06-09 21:04:18 +02:00
2026-06-10 14:21:04 +02:00