"""Tests Sprint 76 — A.I.4 chantier 2 : évolution intra-document. Couvre : 1. ``compute_taxonomy_position_heatmap`` : - GT/hyp identiques → total_errors = 0, per_class entièrement zéro - GT vide → ``None`` - Erreur en début de doc → bin[0] non nul, autres bins nuls - Erreur en fin de doc → bin[n_bins-1] non nul - Erreurs uniformément distribuées → tous bins ≈ 1 - Cas dégénéré ``n_bins=0`` → ``ValueError`` - Doc avec moins de mots que n_bins → distribution sparse correcte 2. Rendu HTML : - Bien formé (SVG) - ``""`` si data None - ``""`` si total_errors=0 - ``""`` si toutes les classes ont 0 erreur 3. Anti-injection : labels i18n contenant ``