# Rapport quotidien · 2026-07-30 · Session 27 (20260730_232914) ## Sprint 8 · Buffer · Regression exhaustive + DevOps CI/CD ### Livrable Nouveau **gate de reproductibilité des artefacts** (`ci/check_artifacts.sh`) + correction d'une **dérive réelle** détectée par ce gate. ### Défaut corrigé (détecté, pas inventé) `demo/scenarios/out/run_sheet.json` était **périmé** : il embarquait `ci_modules_count = 18` alors que la source vivante (`qa/audit_4big`) en compte désormais **21** (suites ajoutées depuis le Sprint 7). Générateur déterministe → fichier commité jamais régénéré. Dérive **silencieuse** : les suites `tests/` testent des fonctions, pas le fichier commité. Corrigé par régénération (`build -o out`, diff 1 ligne `18→21`). ### Gate systémique (préventif) `ci/check_artifacts.sh` régénère chaque `05_deliverables_mvp/**/out/` depuis son générateur et exige l'**égalité byte-for-byte** avec le commité. Découverte auto (zéro liste à la main). Bloquant en CI (`.gitea/workflows/ci.yml` → `check-artifacts` dans `needs` du `gate`). stdlib pur, zéro pip. ### Vérifications | Contrôle | Résultat | |---|---| | Test négatif du gate (dérive réinjectée) | ✅ EXIT 1 + « DÉRIVE » | | Gate en état sain | ✅ 18/18 modules reproductibles · EXIT 0 | | 4 gates statiques (guard/json/docs/artifacts) | ✅ EXIT 0 | | Suites CI-parsing (regression/acceptance/audit_4big/demo) | ✅ 24 · 31 · 34 · 32 | | Régression exhaustive | ✅ 21/21 suites · 534 tests | | Compteurs dérivés stables | ✅ 21 / 534 inchangés | ### Hors périmètre worker (VPS · #8) Néant — modifications 100 % in-repo (gate CI local, doc, artefact régénéré). **Auto-score 4Big : 96/100**