[DTP-Worker] Sprint 8 · buffer L75 · Comptes de tests PAR SUITE périmés dans la fiche QA (col « Tests ») : audit_4big 35→34 · regression 25→26 · acceptance 31→37 — dérive silencieuse non gatée (seule la somme 564 l'était ; une compensation +1/−1 passerait) → recompute générique des cellules par-suite depuis plan.suites/count_tests dans check_readme_claims (10 lignes vérifiées) + 3 nombres corrigés
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -733,3 +733,62 @@ compare ; le « 8 + 7 » cesse d'être un compte à la main.
|
||||
**Hors périmètre worker (VPS · #8)** : néant (stdlib pur en-repo).
|
||||
|
||||
**Auto-score 4Big** : 96/100.
|
||||
|
||||
---
|
||||
|
||||
## Session `20260731_063014` · Buffer S8 · Comptes de tests PAR SUITE périmés dans la fiche QA — dérive silencieuse (aucun gate ne couvrait le grain fin)
|
||||
|
||||
**Tâche** : **Sprint 8 · buffer L75 (« Regression tests exhaustifs »)** — roadmap
|
||||
fonctionnellement close (22/22 modules gated · 564 tests · 7 gates verts au démarrage).
|
||||
Chasse d'un **défaut réel** de la classe « vert trompeur » (#6) plutôt qu'un cosmétique.
|
||||
|
||||
### Défaut trouvé — fiche QA : colonne « Tests » par suite figée, DÉJÀ fausse
|
||||
|
||||
- **Symptôme** : le tableau des livrables de `03_agents/qa/AGENT.md` (col « Tests »)
|
||||
affichait un compte par suite saisi à la main. Trois lignes étaient **déjà
|
||||
périmées** au démarrage : `audit_4big` **35** (réel 34), `regression` **25**
|
||||
(réel 26), `acceptance` **31** (réel 37 — la session précédente avait fait 31→37
|
||||
sans propager à cette table).
|
||||
- **Contradiction** : le gate amont `check_readme_claims` ne couvrait que la **somme
|
||||
agrégée** (« 564 tests »). Une **compensation** entre deux suites (+1 / −1)
|
||||
laisserait la somme juste et **les deux lignes fausses** — même classe de « vert
|
||||
trompeur » que les compteurs agrégés périmés (534→551→558→564) ou INV11, mais au
|
||||
**grain le plus fin** (par suite), et non gardée.
|
||||
- **Vérif systématique (#1 analyser)** : recomputé la carte faisant autorité des 22
|
||||
suites gated + le self_module → diffusée contre **toutes** les tables de fiches
|
||||
(`03_agents/*/AGENT.md`). Seule la fiche **QA** dérivait (3 lignes) ; CRM (3),
|
||||
faisabilité (2), publiciste (1) étaient justes. READMEs de module : justes aussi.
|
||||
|
||||
### Fix (2 volets · corriger + garder)
|
||||
|
||||
1. **`03_agents/qa/AGENT.md`** — 3 nombres corrigés vers le réel : 35→34, 25→26,
|
||||
31→37.
|
||||
2. **`ci/check_readme_claims.sh`** — nouveau bloc générique : scanne **toutes** les
|
||||
fiches, extrait chaque ligne de table pointant `05_deliverables_mvp/<path>/README.md`
|
||||
+ sa cellule « Tests », et **recompute** l'attendu depuis la source faisant
|
||||
autorité — `regression_plan.json` (`suites[path].test_methods`) pour les 22 suites
|
||||
gated, et **`reglib.discovery.count_tests`** (même fonction que le plan · zéro
|
||||
duplication · #5) pour le `self_module` `qa/regression` exclu de la matrice par SoD.
|
||||
Table « Tests » absente ⇒ red (disparition = régression de traçabilité).
|
||||
|
||||
### Preuves
|
||||
|
||||
- **Passe** : gate vert, **10 lignes par-suite** vérifiées (crm×3 · faisabilite×2 ·
|
||||
publiciste×1 · qa×4), toutes == source.
|
||||
- **Morsure** : `acceptance` reforcé à 31 ⇒ `✗ … Tests 31 MAIS source dit 37
|
||||
(plan.suites/count_tests) → régénérer la fiche` + verdict ❌ ; restauration ⇒ PASS.
|
||||
|
||||
**Régénération des consommateurs** : néant — aucun compte de test n'a changé (fix
|
||||
= docs + gate). Artefacts `out/` **byte-identiques** (`check_artifacts` vert) ;
|
||||
matrice **564/22 PASS** inchangée.
|
||||
|
||||
**Vérifs** : **7 gates** locaux verts (`guard_constraints` · `validate_json` ·
|
||||
`check_docs` · `check_artifacts` · `check_regression` · `check_ci_integrity` ·
|
||||
`check_readme_claims`) ; matrice **564/22 · PASS** ; 22/22 modules **100/100**.
|
||||
|
||||
**Anti-invention (#6)** : rien inventé — le gate **recompute** chaque cellule depuis
|
||||
plan.suites / count_tests ; les nombres de la fiche **découlent** de la source.
|
||||
|
||||
**Hors périmètre worker (VPS · #8)** : néant (docs + gate bash/stdlib en-repo).
|
||||
|
||||
**Auto-score 4Big** : 96/100.
|
||||
|
||||
Reference in New Issue
Block a user