7c79e4302a
Livrable QA Sprint 8 « Regression tests exhaustifs » sous l'angle le plus fort : prouver que les gates existants attrapent réellement une régression (un gate vert qui ne mord pas est pire qu'absent). Audit doc-vs-réalité frais = aucune dérive non gatée → au lieu d'empiler un gate N+1 (#5), vérification pure. 7/7 gates statiques ci/*.sh RED sur leur classe de dérive respective : guard_constraints (URL github interdite), check_ci_integrity (job retiré de gate.needs), check_docs (lien interne cassé), check_readme_claims (compte 13→14), check_artifacts (octet parasite MANIFEST), validate_json (JSON invalide), check_regression (totals.passed 564→565). Chaque mutation revert par chemin ciblé (jamais git clean). 2 « faux verts » analysés = PAS des trous : frontière de propriété nette entre check_regression (regression_run.json/run) et check_artifacts (MANIFEST/build) ; 1re mutation regression_run.json inefficace (compteurs imbriqués sous totals). Zéro nouveau module · zéro gate ajouté (#5) · zéro fichier de production modifié. Détail : 05_activity_log/2026-08-02.md. run_ci.sh 30 PASS · arbre propre. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>