[DTP-Worker 20260805_211340] GATE — complétude de l'énumération des gates dans la TABLE §1 de ci/README.md (jumeau ungaté de la fiche QA)

La table §1 « Ce que fait le pipeline » de ci/README.md est LA doc canonique des jobs
statiques (une ligne par gate ci/*.sh). Sa complétude était le jumeau exact de la fiche QA
fermée par afa6165, mais NON gaté : check_ci_integrity verrouille le câblage (ci/*.sh ↔
gate.needs), le bloc fiche-QA ne lit que 03_agents/qa/AGENT.md — rien n'exigeait que chaque
gate figure dans la table §1. Un 9ᵉ gate y serait omis EN SILENCE. Prouvé ungate par mutation
(retrait de la ligne de table check_mobile_workflow → run_ci --static 8 PASS, aucun gate ne mord).

Fix = extension du gate existant (PAS un nouveau job · #5) : bloc Python dans check_readme_claims.sh
(avant sys.exit) réutilisant _gate_names re-dérivé de git ls-files 'ci/*.sh' (hors lib.sh · #6).
Exige chaque basename cité dans une LIGNE DE TABLE (|…) de la section §1 — délibérément PAS la
prose §1 (qui ne cite que certains gates pour l'explication mobile-build.yml : un contrôle
whole-section serait édenté sur un retrait de ligne de table). 0 nouveau ci/*.sh, 33 jobs inchangés.

Teeth 2 axes : MUT1 suppression de la vraie ligne de table (l.24) → RED nommant check_mobile_workflow.sh ;
MUT2 9ᵉ ci/*.sh factice tracké → RED sur les DEUX surfaces (fiche QA + table §1 : forward-protection)
puis git rm --cached + rm, arbre byte-restauré (JAMAIS git clean). Piège inerte écarté : sed 15d
visait l'en-tête de table (grep -n renumérotait relatif au pipe), re-ciblé sur la ligne 24 réelle.

Doc sous-section « COMPLÉTUDE de l'énumération dans la TABLE §1 » ajoutée en §2 de ci/README
(discipline ci-readme-table-detail-in-section2). Sweep préalable repo-wide 7-gates/32-jobs : 0
dérive réelle (toutes occurrences historiques datées ou pédagogiques, classées KEEP).

0 édition de production, 0 artefact rebuild, 0 chiffre saisi (#6 — 8/9 recomputés), 0 VPS (#8).
run_ci 33 PASS · 0 FAIL · 0 SKIP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-08-05 21:23:25 +00:00
parent 9c7791f23a
commit cb3de786f8
3 changed files with 103 additions and 0 deletions
+13
View File
@@ -1649,6 +1649,19 @@ la fiche → mismatch (gate réel non cité) · ajout d'un 9ᵉ `ci/*.sh` track
documenté → mismatch (**forward-protection** : le prochain gate ne pourra pas être omis) ;
restauré = vert.
**COMPLÉTUDE de l'énumération dans la TABLE §1 de ce README.** La table §1 « Ce que
fait le pipeline » (ci-dessus) est LA doc canonique des jobs statiques — une ligne par
gate `ci/*.sh`. Sa complétude était le **jumeau ungaté** de la fiche QA : `check_ci_integrity`
verrouille le câblage CI, le bloc précédent énumère côté fiche, mais **rien** n'exigeait que
chaque gate figure dans la table §1. Un 9ᵉ gate y serait omis EN SILENCE (prouvé ungate :
retrait de la ligne de table de `check_mobile_workflow` → 8 gates statiques verts). On
réutilise l'ensemble re-dérivé de `git ls-files 'ci/*.sh'` (hors `lib.sh`, #6) et on exige
que chaque basename soit cité dans une **ligne de TABLE** (`|`…) de la section §1 — **pas** la
prose §1 (qui ne cite que certains gates pour l'explication `mobile-build.yml`, ce qui
rendrait un contrôle whole-section édenté sur un retrait de ligne de table). **2 morsures
vérifiées** : retrait de la ligne de table `check_mobile_workflow.sh` → mismatch nommant le
gate · ajout d'un 9ᵉ `ci/*.sh` tracké → mismatch (**forward-protection**) ; restauré = vert.
Un claim **absent** échoue aussi (la dérive de formulation qui ferait
disparaître un chiffre est elle-même une régression de traçabilité). stdlib pur
(bash/git/python3), zéro réseau.