Files
Claude Code DTP Worker e16c4f676d [DTP-Worker] Sprint 8 · buffer · Gate reproductibilité artefacts (ci/check_artifacts.sh) + fix dérive run_sheet demo 18→21
Nouveau gate CI bloquant : régénère chaque 05_deliverables_mvp/**/out/ depuis son
générateur `build` et exige l'égalité byte-for-byte avec le fichier commité
(découverte auto · stdlib pur · zéro pip). Attrape la dérive silencieuse d'un
artefact qui auto-résout une valeur depuis un autre module et devient périmé quand
la source grandit — dérive qu'aucune suite tests/ (fonctions, pas fichier commité)
n'attrapait.

Défaut détecté et corrigé par ce gate : demo/scenarios/out/run_sheet.json
embarquait ci_modules_count=18 (buildé Sprint 7) alors que qa/audit_4big en compte
désormais 21. Régénéré (diff 1 ligne). Consistance live re-vérifiée.

Wiring : job check-artifacts + needs du gate agrégé (.gitea/workflows/ci.yml) ·
doc (ci/README.md). Vérifs : test négatif du gate OK (dérive → EXIT 1), 4 gates
statiques EXIT 0, suites CI-parsing vertes (regression/acceptance/audit_4big/demo),
21/21 suites · 534 tests, compteurs dérivés stables.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 23:38:15 +00:00

1.7 KiB

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.ymlcheck-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