5d9ea5687d
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
277 lines
6.8 KiB
JSON
277 lines
6.8 KiB
JSON
{
|
|
"matrix": "OTO QA · Matrice de régression exhaustive",
|
|
"version": "1.0",
|
|
"reference_cadre": "Roadmap Sprint 8 · QA « Regression tests exhaustifs » · CLAUDE.md #5 (zéro régression silencieuse · niveau 4Big)",
|
|
"self_module": "qa/regression",
|
|
"thresholds": {
|
|
"min_test_files": 1,
|
|
"min_methods_per_suite": 8
|
|
},
|
|
"discover_cmd": [
|
|
"python3",
|
|
"-m",
|
|
"unittest",
|
|
"discover",
|
|
"-s",
|
|
"tests"
|
|
],
|
|
"coverage": {
|
|
"ok": true,
|
|
"suites_count": 21,
|
|
"gated_in_ci": 22,
|
|
"self_module_excluded": "qa/regression",
|
|
"self_module_gated": true,
|
|
"missing_tests_dir": [],
|
|
"not_in_gate": []
|
|
},
|
|
"suites": [
|
|
{
|
|
"id": "crm.commissions",
|
|
"path": "crm/commissions",
|
|
"jobs": [
|
|
"crm-commissions-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 25
|
|
},
|
|
{
|
|
"id": "crm.dossier_vente",
|
|
"path": "crm/dossier_vente",
|
|
"jobs": [
|
|
"crm-dossier-vente-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 31
|
|
},
|
|
{
|
|
"id": "crm.workflow_vente",
|
|
"path": "crm/workflow_vente",
|
|
"jobs": [
|
|
"crm-workflow-vente-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 25
|
|
},
|
|
{
|
|
"id": "demo.scenarios",
|
|
"path": "demo/scenarios",
|
|
"jobs": [
|
|
"demo-scenario-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 32
|
|
},
|
|
{
|
|
"id": "devops.deploy_runbook",
|
|
"path": "devops/deploy_runbook",
|
|
"jobs": [
|
|
"devops-deploy-runbook-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 29
|
|
},
|
|
{
|
|
"id": "faisabilite.bancable",
|
|
"path": "faisabilite/bancable",
|
|
"jobs": [
|
|
"bancable-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 22
|
|
},
|
|
{
|
|
"id": "faisabilite.generator",
|
|
"path": "faisabilite/generator",
|
|
"jobs": [
|
|
"faisabilite-gen-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 16
|
|
},
|
|
{
|
|
"id": "fiscal.ecf_dgii",
|
|
"path": "fiscal/ecf_dgii",
|
|
"jobs": [
|
|
"fiscal-ecf-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 39
|
|
},
|
|
{
|
|
"id": "frontend.chat_otoia",
|
|
"path": "frontend/chat_otoia",
|
|
"jobs": [
|
|
"chat-otoia-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 31
|
|
},
|
|
{
|
|
"id": "frontend.portails",
|
|
"path": "frontend/portails",
|
|
"jobs": [
|
|
"frontend-portails-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 19
|
|
},
|
|
{
|
|
"id": "legal.confotur",
|
|
"path": "legal/confotur",
|
|
"jobs": [
|
|
"legal-confotur-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 44
|
|
},
|
|
{
|
|
"id": "publiciste",
|
|
"path": "publiciste",
|
|
"jobs": [
|
|
"publiciste-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 23
|
|
},
|
|
{
|
|
"id": "qa.acceptance",
|
|
"path": "qa/acceptance",
|
|
"jobs": [
|
|
"qa-acceptance-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 31
|
|
},
|
|
{
|
|
"id": "qa.audit_4big",
|
|
"path": "qa/audit_4big",
|
|
"jobs": [
|
|
"qa-audit-4big-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 34
|
|
},
|
|
{
|
|
"id": "qa.audit_5d",
|
|
"path": "qa/audit_5d",
|
|
"jobs": [
|
|
"qa-audit-5d-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 37
|
|
},
|
|
{
|
|
"id": "rbac",
|
|
"path": "rbac",
|
|
"jobs": [
|
|
"rbac-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 10
|
|
},
|
|
{
|
|
"id": "rbac.apply_plan",
|
|
"path": "rbac/apply_plan",
|
|
"jobs": [
|
|
"rbac-applyplan-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 16
|
|
},
|
|
{
|
|
"id": "rbac.fixtures_gen",
|
|
"path": "rbac/fixtures_gen",
|
|
"jobs": [
|
|
"rbac-fixtures-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 11
|
|
},
|
|
{
|
|
"id": "rbac.roleprofile_gen",
|
|
"path": "rbac/roleprofile_gen",
|
|
"jobs": [
|
|
"rbac-roleprofile-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 11
|
|
},
|
|
{
|
|
"id": "rbac.userperm_gen",
|
|
"path": "rbac/userperm_gen",
|
|
"jobs": [
|
|
"rbac-userperm-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 12
|
|
},
|
|
{
|
|
"id": "seo",
|
|
"path": "seo",
|
|
"jobs": [
|
|
"seo-tests"
|
|
],
|
|
"in_gate": true,
|
|
"has_tests_dir": true,
|
|
"test_files": 1,
|
|
"test_methods": 36
|
|
}
|
|
],
|
|
"under_threshold": [],
|
|
"totals": {
|
|
"suites": 21,
|
|
"test_files": 21,
|
|
"test_methods": 534,
|
|
"min_methods": 10,
|
|
"under_threshold": 0
|
|
},
|
|
"verdict": "PASS",
|
|
"notes": [
|
|
"Harnais de MÉTA-NIVEAU : agrège l'exécution de TOUTES les suites de tests gated du mandat en une seule matrice + un verdict PASS/FAIL. Sprint 8 · QA « Regression tests exhaustifs ».",
|
|
"Périmètre PROUVÉ, pas déclaré : les suites sont DÉRIVÉES de .gitea/workflows/ci.yml (réutilise q4lib/registry.parse_ci — zéro duplication · #5), jamais listées à la main. Tout job de test ajouté au CI entre automatiquement dans la matrice.",
|
|
"Séparation des pouvoirs (ISA 315) : le harnais s'exclut lui-même (self_module) — il ne s'auto-exécute pas (évite la récursion) et ne se compte pas dans le total régression.",
|
|
"ANTI-INVENTION (#6) : le `build` (plan) ne contient AUCUN compteur de résultats (0 test vert écrit à la main) ; seuls des FAITS de disque (fichiers/méthodes test_*) et de CI (job, gate) y figurent. Les compteurs verts/rouges sont produits UNIQUEMENT par `run`, en parsant la sortie réelle de unittest.",
|
|
"Distinct de l'audit 4Big : audit_4big note la QUALITÉ statique par module (doc/schema/CLI/hand-off) ; ce harnais prouve que chaque suite S'EXÉCUTE AU VERT et fournit le compte agrégé faisant autorité (« N tests verts »). Axes complémentaires, non redondants."
|
|
]
|
|
}
|