bf11db6d85
RECOMPUTE le ledger d'invariants depuis le SEUL registre-source (les `# N ·` de `_validate` de audit_5d_gen.py) et gate les 6 transcriptions manuelles de « 15 invariants » (4 dans le .py, 2 dans le README), toutes invisibles à check_artifacts. Ledger PROPRE 1..15 (schéma compté à part). Exige : (a) ledger contigu 1..N (lacune/doublon nu mordu) ; (b) toute mention « N invariants » du .py == |ledger| ; (d) toute mention README == |ledger|. Le distinct « 17 contrôles » est exclu nativement par l'ancre sur le mot « invariants » (aucun faux positif). 6 morsures adversariales dont M3 (ajout `# 16 ·` mord .py+README, preuve que l'autorité est le CODE) et M6 (« 17 contrôles » reste invisible). 6 gates re-verts exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>