[DTP-Worker 20260801_160354] Auto exec · session 20260801_160354
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
@@ -639,6 +639,66 @@ else:
|
||||
bad(f"Prose agrégée · e-CF — dit {mecf.group(1)} MAIS source dit {ecf_exp} "
|
||||
f"(fiscal/ecf_dgii) → régénérer la fiche")
|
||||
|
||||
# ============================================================================
|
||||
# Fiches agents · comptes de tests PAR SUITE écrits HORS de la colonne « Tests »
|
||||
# (prose libre + cellule à suffixe) — dernière poche de la MÊME classe per-suite.
|
||||
# ----------------------------------------------------------------------------
|
||||
# Les deux blocs ci-dessus recomputent (a) chaque CELLULE « Tests » des tables de
|
||||
# livrables via row_re — dont l'ancre de lien est `<mot>/` ET la cellule un ENTIER
|
||||
# NU — et (b) les AGRÉGATS multi-suites en prose de crm/erpnext_backend. Restent
|
||||
# CINQ claims de test PAR SUITE que NI l'un NI l'autre n'atteint :
|
||||
# • prose libre (hors table) : seo « **36 tests** » (suite `seo`) ·
|
||||
# frontend_console « **19 tests** » (frontend/portails) & « **31 tests** »
|
||||
# (frontend/chat_otoia) · onapi_legal « **44 tests** » (legal/confotur) ;
|
||||
# • cellule de table à SUFFIXE : devops « 29 (dont 14 injections négatives) »
|
||||
# (devops/deploy_runbook) — row_re échoue DEUX fois : l'ancre de lien est un
|
||||
# CHEMIN complet (`05_deliverables_mvp/devops/deploy_runbook/`, pas `<mot>/`)
|
||||
# ET la cellule n'est PAS un entier nu (suffixe « (dont …) »).
|
||||
# Ces cinq nombres sont SAISIS À LA MAIN et se périment dès qu'un `def test_` est
|
||||
# ajouté/retiré à la suite — exactement le « vert trompeur » per-suite que le bloc
|
||||
# des cellules corrige, mais sur des surfaces qu'il ne balaie pas (une suite +1 et
|
||||
# une autre −1 laisserait la SOMME « 564 tests » juste et ces lignes fausses).
|
||||
# Aucune suite tests/ (qui teste des FONCTIONS, pas la prose des fiches) n'attrape
|
||||
# ce périmé. On RECOMPUTE chaque nombre depuis `auth` (plan.suites[path].
|
||||
# test_methods / count_tests · MÊME source déjà chargée · zéro duplication #6) et
|
||||
# on exige que la fiche l'écrive EXACTEMENT. Chaque motif est ANCRÉ sur le nom de
|
||||
# job CI (ou le lien du module) adjacent pour viser LA bonne suite sans ambiguïté.
|
||||
# Un claim absent échoue AUSSI (traçabilité #6 : le recensement qui s'évapore est
|
||||
# lui-même une régression).
|
||||
# ============================================================================
|
||||
PER_SUITE_HORS_TABLE = [
|
||||
("03_agents/seo/AGENT.md", "seo",
|
||||
r"\*\*(\d+) tests\*\*, gated", "seo"),
|
||||
("03_agents/frontend_console/AGENT.md", "frontend/portails",
|
||||
r"\*\*(\d+) tests\*\* · job CI `frontend-portails-tests`", "portails"),
|
||||
("03_agents/frontend_console/AGENT.md", "frontend/chat_otoia",
|
||||
r"\*\*(\d+) tests\*\* · job CI `chat-otoia-tests`", "chat_otoia"),
|
||||
("03_agents/onapi_legal/AGENT.md", "legal/confotur",
|
||||
r"\*\*(\d+) tests\*\* \(dont \d+ négatifs\) · job CI `legal-confotur-tests`",
|
||||
"confotur"),
|
||||
("03_agents/devops/AGENT.md", "devops/deploy_runbook",
|
||||
r"deploy_runbook/README\.md\).*?\| (\d+) \(dont \d+", "deploy_runbook"),
|
||||
]
|
||||
for path_f, suite_path, pat, label in PER_SUITE_HORS_TABLE:
|
||||
try:
|
||||
txt = re.sub(r"\s+", " ", open(path_f, encoding="utf-8").read())
|
||||
except OSError as e:
|
||||
bad(f"Test par suite (hors table) · {path_f} illisible : {e}"); continue
|
||||
if suite_path not in auth:
|
||||
bad(f"Test par suite (hors table) · {label} — suite `{suite_path}` absente "
|
||||
f"de plan.suites/count_tests (câblage rompu ?)"); continue
|
||||
exp = auth[suite_path]
|
||||
m = re.search(pat, txt)
|
||||
if m is None:
|
||||
bad(f"Test par suite (hors table) · {path_f} · {label} — claim « N tests » "
|
||||
f"INTROUVABLE (attendu {exp} · suite `{suite_path}`)")
|
||||
elif int(m.group(1)) == exp:
|
||||
good(f"Test par suite (hors table) · {path_f} · {label} — {m.group(1)} == "
|
||||
f"source ({exp} · `{suite_path}`)")
|
||||
else:
|
||||
bad(f"Test par suite (hors table) · {path_f} · {label} — dit {m.group(1)} "
|
||||
f"MAIS source dit {exp} (plan.suites[`{suite_path}`]) → régénérer la fiche")
|
||||
|
||||
# ============================================================================
|
||||
# Portails frontend · comptes PAR WORKSPACE (cartes / liens / rôles) —
|
||||
# même classe de « vert trompeur », transcrits À LA MAIN dans DEUX docs.
|
||||
|
||||
Reference in New Issue
Block a user