[DTP-Worker] Sprint 8 · Générateur Matrice de régression exhaustive (19 suites · 474 tests · gate méta-niveau) (QA · roadmap L74)

Harnais méta-niveau : agrège l'exécution de toutes les suites gated en une
matrice + verdict PASS/FAIL et fournit le compte agrégé faisant autorité
(N tests verts). Périmètre dérivé du CI (réutilise q4lib/registry.parse_ci ·
zéro duplication) ; anti-invention (#6) : le plan ne contient aucun compteur de
résultat, recomputé à la validation. Enregistré dans l'audit 4Big (18→19
modules · PASS 19/19). run exhaustif : 19/19 suites vertes · 474 tests passés.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-07-30 11:09:08 +00:00
parent cac65386ab
commit 4b0752906d
20 changed files with 1503 additions and 8 deletions
+51
View File
@@ -1,5 +1,56 @@
# Activity Log · 2026-07-30 · Claude Code DTP
## Session `20260730_105732` (session 22)
**Tâche** : **Sprint 8 · QA** — Générateur de la **Matrice de régression
exhaustive** (roadmap Sprint 8 · QA « **Regression tests exhaustifs** »). Sprint 7
réalisable en repo étant clos (L68/L69 livrés · L67 polish `otov7.com` dépend du
site live · #8), on enchaîne sur le premier volet Sprint 8 réalisable en repo.
**Décision d'architecture** : harnais de **MÉTA-NIVEAU** + gate, pas un simple
runner. Il agrège l'exécution de **toutes** les suites gated en **une matrice +
verdict PASS/FAIL** et fournit le **compte agrégé faisant autorité** (« N tests
verts »). **Distinct de l'audit 4Big** (non redondant · #5) : l'audit note la
qualité **statique** par module ; ce harnais prouve que chaque suite **s'exécute
au vert**. Deux artefacts : `build` → plan déterministe commité (**aucun compteur
de résultat**) ; `run` → matrice live non déterministe (non commitée).
**Zéro invention (#6)** : périmètre **dérivé du CI** via `q4lib/registry.parse_ci`
(réutilisé · zéro duplication) ; les comptes de disque sont **recomputés** à la
validation (INV5) → un compte figé/fabriqué est détecté ; le nombre de tests verts
n'existe **qu'à l'exécution**. **Séparation des pouvoirs (ISA 315)** : le harnais
s'exclut lui-même (pas de récursion, pas d'auto-comptage).
**Fichiers créés**`05_deliverables_mvp/qa/regression/` :
- `regression_spec.json` (contrat · planchers structurels · 0 chiffre métier)
- `reglib/{__init__,deps,discovery,runner,builder}.py` (réutilise `parse_ci` +
validateur Publiciste ; parseur PUR de sortie unittest ; plan + matrice)
- `regression_gen.py` (CLI `build`/`validate`/`run` · **8 invariants**)
- `regression.schema.json` (contrat de sortie draft-07)
- `out/{regression_plan,MANIFEST}.json` (hand-off) · `tests/test_regression.py`
(**24 tests** dont 3 exécutions réelles en tmpdir + 6 injections d'invariant) ·
`README.md` · `.gitignore` (exclut la sortie non déterministe de `run`)
**Fichiers modifiés** :
- `.gitea/workflows/ci.yml` : job `qa-regression-tests` + ajout au `gate`.
- `qa/audit_4big/` : enregistrement du module `qa/regression` (couverture
bijective **18 → 19 modules** · PASS 19/19 à 100) ; `out/` régénéré ; test
rendu robuste (`len(spec['modules'])` au lieu du littéral `18`).
**Résultat `run` exhaustif** : **19/19 suites vertes · 474 tests passés · 0 échec ·
0 erreur** — compte agrégé reproductible en une commande.
**Vérifs** : 24/24 tests module ; 34/34 audit_4big ; gate CI local vert (guard +
JSON + docs + YAML) ; builds déterministes.
**Hors périmètre worker (VPS · #8)** : planifier `run` sur le runner CI/VPS +
publier le compte agrégé dans le desk ERPNext → agent QA / DevOps.
**Détail complet** : voir
[`05_deliverables_mvp/daily_reports/2026-07-30-session22.md`](../05_deliverables_mvp/daily_reports/2026-07-30-session22.md).
**Auto-score 4Big** : 96/100.
## Session `20260730_102730` (session 21)
**Tâche** : **Sprint 7 · CRM + Faisabilité** — Générateur des **Scénarios démo