[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:
@@ -108,6 +108,7 @@ def check_invariants(plan: dict, spec: dict) -> list[str]:
|
||||
errs.append(
|
||||
f"INV4 couverture non prouvée : missing_tests_dir="
|
||||
f"{cov['missing_tests_dir']} not_in_gate={cov['not_in_gate']} "
|
||||
f"orphan_tests_dirs={cov['orphan_tests_dirs']} "
|
||||
f"self_module_gated={cov['self_module_gated']}")
|
||||
if cov["self_module_excluded"] != self_mod:
|
||||
errs.append("INV4 self_module_excluded incohérent avec le spec")
|
||||
|
||||
Reference in New Issue
Block a user