Files
anonymisation/docs/coordination/etat-projet.md
Domi31tls bf79e445f5 docs(coordination): protocole de coordination + décisions + inbox + log + vision
- docs/coordination/ : README, decisions (no-ui, pivots MVP), inbox Claude/Qwen/Dom, archive, log, etat-projet
- docs/installation/ : procédure SmartScreen
- docs/reflexions/ : vision fonctionnelle avant prod

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 16:31:06 +02:00

8.5 KiB

État projet — Source de vérité partagée

Dernière mise à jour : 2026-06-01 10:00 (Claude) Statut sprint : ⏸️ EN PAUSE — Dom malade 3 jours (sam-lun), livraison reportée. Reprise probable jeudi 04/06 ou vendredi 05/06.


Snapshot technique

Élément Valeur Source
Branche main git
Commit courant 13730d1 feat(admin_rules): CLI simulate_admin_rule + fix email avant force_terms git log
Tests unitaires 73/73 PASSED (~3.89s) session_state.md MEMORY
Score qualité actuel 99.8/100 (mesuré 2026-05-28 18:35 par Claude sur audit_30) evaluate_quality.py --compare
Score qualité baseline 97.0/100 (référence figée 2026-03-12) evaluation/baseline_scores.json
⚠️ Régression vs baseline leak audit GRAND (17 occurrences) dans trackare-05012965-23060770 evaluate_quality.py output
Version EXE distribuée v10 — build 2026-04-15 (722 MB) session_state.md
EXE à jour ? NON — 19 commits de retard dont fixes #1, #3-5, #6, #7-11 audit Claude
GUI active Pseudonymisation_Gui_V5.py (v5.5) code
GUI v6 Maquette HTML validée (2026-05-06) — non codée roadmap

Décisions tranchées par Dom

ID Décision Date Détail
D-1 MVP = 99% RGPD 2026-05-28 aucune fuite PII silencieuse acceptée
D-2 Livraison .exe Windows v11 2026-05-28 rebuild obligatoire sur 192.168.1.11
D-3 Pas de signature Authenticode 2026-05-28 doc SmartScreen à fournir
D-4 Canal OwnCloud 2026-05-28 livraison + patches
D-5 Butoir mardi 02/06/2026 matin 2026-05-28 marge mardi soir / mercredi
D-6 P0 : Q-1, C-8, Q-2, C-2, B-1, B-2, B-3, rebuild EXE v11 2026-05-28 scope serré
D-7 Reporté v11.5 : GUI v6, validation humaine, rapport campagne, C-1, perf 2026-05-28 post-livraison
D-8 Week-end ON 2026-05-28 vendredi → mardi continu
D-9 Support post-livraison 2026-05-28 TZ +4h, patches via OwnCloud

→ Détail complet : decisions/2026-05-28_dom_mvp-livraison-mardi.md


Actions en cours

# Action Statut Owner Priorité Notes
C-1 Compléter requirements.txt (gliner==0.2.18, numpy<2.0, pyahocorasick, pyzbar, edsnlp) À faire 🔴 Bloquant audit Claude
C-2 Nettoyer doublon standard_local_copie_copie dans config/profiles.yml À faire 🟠 Important audit Claude
C-3 git rm sorties pseudonymisées ano/pdf_natif/pseudonymise/* + .gitignore À faire 🟠 Important audit Claude
C-4 Trancher silver_annotations (commit ou gitignore) — décision Dom À faire Dom 🟠 Important gouvernance RGPD
C-5 Rebuild EXE Windows v11 sur 192.168.1.11 À faire 🔴 Bloquant post Phase 0
C-6 Committer scripts build untracked + config/profiles.default.yml + config/mask_templates/ À faire 🟠 Important audit Claude
C-7 Retirer commentaire stale ligne 3 de admin_rules.default.yml À faire 🟡 Mineur audit Claude
Q-1 Remplacer except Exception: pass (~20 occurrences) sur chemins rédaction PDF par logging À faire 🔴 BLOQUANT SÉCU audit Qwen
Q-2 Corriger chemin absolu C:\\Users\\dom\\... dans anonymisation_onefile.spec À faire 🔴 Bloquant build audit Qwen
Q-3 Corriger chemin absolu dans check_regression.py À faire 🟠 Important audit Qwen
Q-4 Valider/sandboxer regex_overrides YAML À faire 🟠 Important audit Qwen
Q-5 Wipe PII en mémoire (del anon.audit) après rédaction À faire 🟡 Mineur audit Qwen
Q-6 Supprimer/archiver code mort (GUI V3, V4, RobustEngine, patch) À faire 🟡 Hygiène audit Qwen
Q-7 Supprimer/renommer anonymizer_core_refactored.py (388 lignes incomplet) À faire 🟡 Hygiène audit Qwen
Q-8 Compiler regex de _mask_line_by_content au niveau module (perf 3-5x) À faire 🟢 Perf audit Qwen
Q-9 Factoriser _search_whole_word (complexité N²) À faire 🟢 Perf audit Qwen
Q-10 Trancher build system PyInstaller vs Nuitka À faire Dom 🟡 Hygiène audit Qwen
Q-11 Ajouter pyproject.toml pytest + CI tests/lint À faire 🟡 Qualité audit Qwen
C-8 Régression : fuite audit nom GRAND (17 occ.) dans trackare-05012965-23060770 À investiguer 🟠 Important mesure 2026-05-28
Q-12 Audit ciblé flux admin_rules — règles chargées vs effectivement appliquées Lancé par Qwen Qwen 🟡 Vérification demande Claude 2026-05-28
Q-13 Pseudo-code patch quarantaine différentielle Q-1 → préparer pour décision Dom Livré v2 consolidé Claude+Qwen 🔴 Préa-bloquant inbox/for-dom/2026-05-29_consolide_pseudocode-Q1-v2.md
Q-14 Tests pytest C-8 régression GRAND Livré 11:45 Qwen 🟠 Important inbox/for-dom/2026-05-29_qwen_tests-c8-grand.md (7 tests)
Q-15 Release notes v11 MVP — brouillon Livré 12:30 Qwen 🟠 Important inbox/for-dom/2026-05-29_qwen_release-notes-v11-draft.md
Q-16 Smoke test bêta T6 — kit complet (spec PDF + procédure + checklist 20 items + cas erreur) Livré 13:45 (22h avance) Qwen 🟠 Important inbox/for-dom/2026-05-29_qwen_smoke-test-T6.md

Désaccords résolus (sprint MVP)

Sujet Résolution Date
Inventaire +5 cas manqués (Qwen) Rejeté factuellement — vérification ligne par ligne montre que les 5 lignes citées par Qwen ne sont pas des except: pass. Vrai total : 6 except: pass purs (déjà couverts) + 7 except as e: silencieux 2026-05-29 11:15
Seuils Q-1 (Claude 50/3 vs Qwen 100/0) Tranchés à 100/0 (arguments Qwen acceptés — RGPD 99% incompatible avec tolérance) 2026-05-29 11:15
Texte Q-PDF (Claude=output_dir seul vs Qwen=copie quarantaine) Tranché : copie en quarantaine pour autoportance opérateur 2026-05-29 11:15
_count_residual_pii (Claude minimal vs Qwen complet via leak_scanner) Tranché : leak_scanner réutilisé 2026-05-29 11:15

Intentions produit non finies (détectées par Qwen 2026-05-28)

Composant Intention État Lien vision
manual_masking.py (56 lignes) Validation humaine 🔴 Embryon non branché Axe 1 vision
pdf_mask_designer.py (440 lignes) Templates masquage 🟠 Standalone fonctionnel Axe 6 vision
format_converter.py (256 lignes) Multi-formats DOCX/ODT/RTF/HTML 🟠 Code non orchestré GUI UX
server.py (347 lignes) API microservice FastAPI 🟡 Orphelin non documenté Évolutivité
gliner_manager.py NER fallback multi-modèles 🟢 Disponible mais dormant Qualité
vlm_manager.py Détection visuelle PII (Ollama) 🟢 Expérimental R&D
hospital_filter.should_filter() Filtre FP établissements 🟡 Retourne toujours False Décision design
check_resources.py Pré-flight technique 🟢 Système uniquement Axe 3 vision
Profils YAML Multi-établissements 🟠 Pas de cycle de vie Évolutivité

Légende :

  • C-x : action identifiée par Claude
  • Q-x : action identifiée par Qwen
  • Préfixe D-x réservé aux décisions Dom

Désaccords résolus

Sujet Résolution Date
Score qualité baseline (Claude 100 vs Qwen 97) Tranché : 99.8/100 actuel (mesuré). Baseline 97 (12/03) correct. Mémoire 100 inexacte. 2026-05-28 18:35
admin_rules branché au pipeline ? Tranché : OUI depuis df5dabf (28/04). Qwen reconnaît erreur d'audit. Audit ciblé du flux à venir. 2026-05-28 18:15

Désaccords ouverts

(aucun pour le moment)


Points stratégiques en attente de décision Dom

  1. Pseudonymisation vs Anonymisation — le produit s'appelle "Pseudonymisation" mais remplace par [NOM] non réversible → techniquement anonymisation. Trancher le positionnement.
  2. Cible utilisateur réelle — DSI hospitalier (batch) ou médecin/secrétaire (cas par cas) ?
  3. Cas d'usage en aval — publication / partage inter-établissements / archivage / recherche ?
  4. Modèle de responsabilité — qui signe l'anonymisation (outil / opérateur / DPO) ?
  5. Stratégie GUI v6 — cosmétique seul, ou refonte fonctionnelle (validation humaine, rapport campagne, quarantaine, métadonnées) ?

Voir docs/reflexions/2026-05-28_vision_fonctionnelle_avant_prod.md pour le détail.