[DTP-Worker] Sprint 8 · buffer L75 · Intégrité matrice régression : fix gate check_regression cassé en CI (run baseline commité) + invariant disque→CI (INV4 orphan_tests_dirs)

Défaut #1 (bug CI réel) : ci/check_regression.sh exigeait regression_run.json
commité comme baseline, mais le fichier était .gitignore → absent en checkout
propre → le job Gitea check-regression échouait sur CHAQUE run CI (ne passait
qu'en local via un fichier non suivi). L'artefact run est byte-déterministe
(aucun horodatage/hôte/durée · path relatif) → committer est licite. Fix :
run désormais commité (baseline), .gitignore + README réécrits.

Défaut #2 (invariant manquant) : coverage_report prouvait CI→disque mais pas
l'inverse. Nouveau disk_test_modules() + orphan_tests_dirs dans INV4 : un module
gagnant un tests/ sans job CI fait chuter la couverture (fini la sous-comptée
silencieuse de la matrice). Schéma + 2 tests de morsure.

Consommateur régénéré : qa/audit_4big/quality_report.json (README 3710→4236 o,
24→26 méthodes). Matrice 534/21/PASS inchangée (harnais self-exclu, INV3).
5 gates verts · 26+34 tests OK · YAML valide.
This commit is contained in:
Claude Code DTP Worker
2026-07-31 00:41:16 +00:00
parent 0eaf5bde39
commit 76fb0e768d
10 changed files with 399 additions and 56 deletions
+3 -2
View File
@@ -1,4 +1,5 @@
__pycache__/
*.pyc
# Sortie du mode `run` : non déterministe (temps machine) → jamais commitée.
out/regression_run.json
# NB : `out/regression_run.json` (mode `run`) EST commité — il est byte-déterministe
# (aucun horodatage/hôte/durée ; `path` relatif) et sert de baseline au gate CI
# `ci/check_regression.sh`, qui exige qu'un run frais lui soit byte-identique.