215c9e6f25
Gate anti-dérive #6 : demo/scenarios · frontend/chat_otoia · frontend/portails · mobile/app_config publient un roadmap_ref « …l.A[-B] « <bullet> » » dans out/MANIFEST.json (byte-gaté). check_artifacts ne prouve QUE spec==MANIFEST ; INV11 n'ancre que les roadmap_line NUMÉRIQUES de qa/acceptance. Reformuler/ renuméroter la roadmap laissait les 4 citations périmées en silence (silent-green prouvé : reword l.63 ⇒ 6 gates verts, chat_otoia cite toujours l'ancien texte). check_readme_claims : découvre chaque MANIFEST à citation et exige (1) fichier == roadmap canonique, (2) libellé normalisé ⊆ lignes A..B réelles, (3) spec == MANIFEST ; 4 modules connus EXIGÉS présents (anti-évaporation). 5 checks verts · 7 morsures (M1 silent-green reword roadmap · M2 renumber · M3 drift citation · M4 wrong file · M5 spec≠manifest · M6 évaporation · M7 hors-plage). Suite complète exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>