[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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user