0ef7c1a079
Axe absent de la mémoire : classe latent-KeyError i18n (un libellé référencé au rendu manquant dans une des 3 langues du dossier bancable). Balayé sur banclib/i18n.py + report.py :
- Parité : fr/en/es = jeu de clés IDENTIQUE 37/37/37 (miss+extra vides bidirectionnel) ; LANGS/LANG_FLAG/LANG_NOM concordent.
- Résolution : chaque L('…') statique + la clé dynamique lbl_{cle} (report.py:219) existe en fr ⟹ résout dans les 3 langues.
- Fumée : render_report x3 langues (chemin placeholder max) + render_all = 0 KeyError.
Verdict CLEAN + transitivement gaté : test_bancable.py rend déjà les 3 langues (render_report/render_all, briefs synthétique+normal l.~88-105) → une clé manquante casserait un test aujourd'hui. Donc PAS de gate dédié (#5 · doublon d'une protection transitive) ni de fix (aucun défaut). Distinct de seo-per-lang-cardinality-by-design (SEO, inégal par design).
0 code moteur V18 (bloqué #6) · 0 module prod touché · 0 artefact reconstruit · 0 chiffre figé (#6) · 0 gate (#5) · 0 commande VPS (#8) · 0 API externe. run_ci.sh = 33 PASS · 0 FAIL · 0 SKIP (inchangé). NFC-clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>