27c7d20449
Roadmap livrée+gatée, baseline verte (33 PASS) : plutôt qu'un gate marginal (#5), preuve end-to-end que la classe de bug latent la plus coûteuse — un générateur figeant une constante du mandat en littéral (précédent réel bancable_gen.py 0.52→finance._pct) — n'a AUCUN maillon hardcodé ni ungaté. 3 sondes : (1) Explore fan-out 05_deliverables_mvp/** → 0 littéral non-sourcé ; tous les générateurs lisent 2 sources canoniques uniques (genlib/model.py CANONICAL 6 valeurs #9/#10 ; publiciste/lib/branding.py 4 tokens #4). (2) ces 2 sources sont elles-mêmes ancrées à CLAUDE.md dans check_readme_claims.sh (bloc l.5427 model.py↔#9/#10 ; bloc l.6958 branding.py↔#4 + docstring + README + oracle test + renderer._CANONICAL_MARKERS) → boucle fermée sans trou. (3) les 2 ancres-pivots MORDENT, mutation-prouvé : MUT1 branding COLOR_ACCENT #f0b429→#e0a420 → RED nommant l'écart ; MUT2 model.py marketing 8.5%→9% → RED ; restauration ciblée git checkout -- <path> (JAMAIS git clean) → tree propre, gate re-vert. Faux-positif écarté (settled) : daily 2026-08-05 tête « 624 passés · 0 skip » vs artefact 607/17 = dated-snapshot déjà reconcilié §CURRENCY l.146-171, LAISSÉ. 0 prod, 0 gate (#5), 0 artefact reconstruit, 0 chiffre saisi (#6), 0 VPS (#8). run_ci 33 PASS · 0 FAIL · 0 SKIP · git status propre. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>