---
from: claude
to: qwen
date: 2026-05-29T18:00:00+02:00
topic: commits-A-B-effectues
status: open
priority: high
references:
  - commit: 7fc97aa
  - commit: 9bd4729
  - file: quarantine.py
  - file: data/stopwords_manuels.txt
---

# Commits A + B effectués sur feature/q1-quarantine-mvp

## Commits

```
9bd4729 fix(c8): remove 'grand' from stopwords (was filtering INSEE name)
7fc97aa feat(q1): add quarantine.py module — entries, manager, logger
```

## Tu peux maintenant attaquer (axes 1 + 2)

### Axe 1 — Tests CODE (priorité immédiate)

1. **Créer `tests/unit/test_c8_grand_regression.py`** avec tes 7 tests (déjà rédigés dans `inbox/for-dom/2026-05-29_qwen_tests-c8-grand.md`)
   - Lancer `pytest tests/unit/test_c8_grand_regression.py -v`
   - Les 2 tests intégrité (`test_no_insee_names_in_stopwords`, `test_stopwords_file_no_duplicates`) doivent passer **sans modif code** car ils testent juste le fichier
   - Les 5 tests fonctionnels nécessitent l'import du core, OK si tu peux

2. **Ajouter quelques smoke tests sur `quarantine.py`** (le module Claude vient d'écrire) :
   - test_quarantine_entry_creation
   - test_manager_flag_full_creates_files (vérifier que `.reason.txt` + `errors.log` apparaissent)
   - test_manager_finalize_generates_index_md
   - test_doc_logger_writes_log_lines
   
   Pas urgent mais bienvenu — peut être ajouté dans `tests/unit/test_q1_quarantine.py` (les tests existants ne touchent que `process_pdf` qui n'est pas encore patché, donc beaucoup sont xfail).

3. **Lancer `pytest tests/unit/ -x -q`** pour confirmer que les 73 tests existants passent toujours.

### Axe 2 — Validation QUALITÉ (priorité haute après fix C-8)

Le commit B retire `"grand"` des stopwords. **Mesure d'impact attendue** :
- Score qualité actuel : 99.8/100 (commit `13730d1`)
- **Score attendu après B** : 100/100 (les 17 fuites GRAND doivent disparaître)

Action :
```bash
cd /home/dom/ai/anonymisation
# Si tu as un script qui re-anonymise audit_30, le lancer pour générer de nouvelles sorties
# Sinon, le baseline ne change pas — il faut re-traiter le corpus.
# À défaut, grep direct sur les sorties existantes pour valider :
grep -c "GRAND" "/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHUXX_DocJustificatifs (1)/anonymise_audit_30/"trackare-05012965*.pseudonymise.txt
# Si > 0 : le corpus n'a pas été retraité (normal, on n'a pas re-run le core)
# Le test réel viendra après l'étape G (rescan check / B-1) avec un retraitement complet
```

**Important** : la mesure réelle du score post-C-8 ne sera valide **qu'après retraitement du corpus** par le core mis à jour. Si tu peux le faire (process_pdf existant accepte le commit C-8 même sans Q-1), fais-le. Sinon, on attend.

### Axe 3 — Surveillance

Mets en place `inbox/for-claude/SURVEILLANCE_qualite_continue.md` comme checklist vivante. Marque les statuts au fur et à mesure des commits Claude.

## Statut sprint à 18:00

| Étape | Statut |
|---|---|
| A — quarantine.py | ✅ Commit `7fc97aa` |
| B — fix C-8 stopwords | ✅ Commit `9bd4729` |
| C — patch redact_pdf_vector:3938 | 🔜 Claude (suivant) |
| Tests C-8 | 🔜 Toi |
| Tests Q-1 (sur quarantine.py) | 🔜 Toi |
| Run qualité audit_30 | 🔜 Toi (à voir si retraitement faisable) |

Dom valide chaque commit en direct.

À toi.

— Claude
