Files
Claude Code DTP Worker 4b0752906d [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>
2026-07-30 11:09:08 +00:00

44 lines
1.7 KiB
Python

"""Réutilisation des briques déjà livrées (workflow #5 · zéro duplication).
Le harnais de régression ne redéfinit RIEN qui existe ailleurs :
- `parse_ci` : le parseur de `.gitea/workflows/ci.yml` de l'auditeur 4Big
(`qa/audit_4big/q4lib/registry.py`) — la SEULE autorité sur les
jobs de test réellement gated. On le réutilise pour DÉRIVER
l'ensemble des suites de la matrice (jamais une liste à la main)
et pour prouver que chaque suite alimente bien le job `gate`.
- `validate` : le validateur JSON-Schema maison du Publiciste (draft-07,
sous-ensemble) — le plan est validé SANS pip, car le gate CI
Gitea Actions tourne sans réseau (CLAUDE.md #2).
Import par manipulation de `sys.path` (idiome des modules voisins :
`q4lib/deps.py`, `scenlib/deps.py`) plutôt que duplication — une seule source de
vérité pour tout le mandat.
"""
from __future__ import annotations
import os
import sys
_HERE = os.path.dirname(os.path.abspath(__file__))
# qa/regression/reglib → 05_deliverables_mvp
_DELIVERABLES = os.path.normpath(os.path.join(_HERE, "..", "..", ".."))
_PUB = os.path.join(_DELIVERABLES, "publiciste")
_AUDIT = os.path.join(_DELIVERABLES, "qa", "audit_4big")
for _p in (_PUB, _AUDIT):
if _p not in sys.path:
sys.path.insert(0, _p)
from lib import validator # type: ignore # noqa: E402
from q4lib import registry # type: ignore # noqa: E402
validate = validator.validate
parse_ci = registry.parse_ci
# Racine des livrables, exposée aux autres modules reglib.
DELIVERABLES_ROOT = _DELIVERABLES
__all__ = ["validate", "parse_ci", "DELIVERABLES_ROOT"]