[DTP-Worker 20260803_120715] Fix drift · surfaces sœurs 22→24 laissées par réconciliation 100714 dans prose gate-docs (ci/) · invariant général de-hardcodé + citations contenu fiche alignées 24/624

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-08-03 12:20:17 +00:00
parent 9eebaadc64
commit f9d303f262
3 changed files with 62 additions and 7 deletions
+55
View File
@@ -883,3 +883,58 @@ modules ≥ 95** inchangé, diff confiné à cette unique ligne (score pie incha
**Réalisé / gate-vert.** 1 ligne prose éditée + `quality_report.json` re-généré byte-gaté.
`./run_ci.sh` en clôture = **32 PASS · 0 FAIL · 0 SKIP**. Commit à suivre.
---
## Session 120715 · Fix drift résiduel `22→24` · surfaces sœurs laissées par la réconciliation `100714` dans la prose des gate-docs (`ci/`)
**Choix de tâche.** `./run_ci.sh` à l'ouverture = **32 PASS · 0 FAIL · 0 SKIP** — propre.
Les 8 sprints de `ROADMAP_8_WEEKS_OR_LESS.md` sont livrés (24 modules gated), la matrice
de recette couvre bijectivement les 15 promesses (8 sprint-deliverables + 7 métriques MVP,
ancrées aux `roadmap_line`). Aucune tâche roadmap non-complétée ⇒ fallback mandat « auditer /
améliorer une doc » appliqué à un **vrai trou** de dérive, pas une retouche cosmétique.
**Audits à blanc (0 dérive).** (a) Sweep docstring-vs-CODE des 2 modules les plus neufs
(`pie/manifest`, `crm/financement_bancaire`) via sous-agent Explore → sorties/entrées/invariants/
comptes tous fidèles au code, **propres** ([[docstring-vs-code-drift]] saturé, confirmé). (b) Le
canal `daily_reports/2026-08-03.md` **n'est PAS périmé** : l'instantané `000623` (22 modules) était
exact *à l'écriture* — `pie` + `financement_bancaire` ont été ajoutés à `100714` — et l'addendum
`100714` du même fichier réconcilie déjà 22→24 (24/24 · 624 tests · 15/15). **Ne pas ré-écrire un
instantané historiquement exact.**
**Trou identifié — surfaces sœurs `22→24` non balayées.** La réconciliation `100714` (commit
`e24f2c9`) a mis à jour les surfaces **gatées** (fiches QA/DevOps/ERPNext, README racine → tous
« 24 suites · 624 tests ») mais a laissé **6 mentions résiduelles** dans la **prose explicative des
gate-docs** (`ci/README.md` + commentaires `ci/check_readme_claims.sh` — surfaces **non gatées**,
d'où silence). Classe [[prose-facts-vs-numeric-drift]] : claims free-text au **présent** divergeant
de l'artefact. Distinguées avec soin des voisins **à conserver** :
- **Reproductions historiques** (numéros d'époque, exacts) : « 20 modules listés sur 22 », « bijective
22/22 vs CI » (défaut réel *reproduit* quand il y avait 22 modules) → **intactes**.
- **Hypothétiques pédagogiques** : « ex. 21→22 modules », « 17→22 », les exemples de *compensation*
« 534/560/564 tests » (le `ci/README.md` réserve les placeholders `N`/`M` aux valeurs vives et les
entiers concrets aux exemples de dérive passée) → **intacts**.
- **Citations de n° de ligne** : « README:22-23 » (pas un compte) → **intactes**.
**Correctif (6 éditions chirurgicales, 2 fichiers).**
1. **De-hardcode de l'invariant général** (×2 · `ci/README.md` L733 + commentaire miroir
`check_readme_claims.sh` L3168) : « l'union des cellules Modules == les **22** modules de
l'artefact » → « == **l'ensemble des** modules de l'artefact ». Cette clause décrit au **présent**
ce que le gate `deploy_runbook` **exige NOW** (artefact = **24** modules, union vérifiée) ; y figer
un compte est une dérive-en-puissance qui vient *justement* de dériver. Phrasing agnostique =
**anti-récidive** (ne re-dérivera plus à l'ajout d'un module).
2. **Alignement des citations de contenu de fiche au présent** (×4 · bloc « Fiche DevOps · COMPTE de
suites gated » de `check_readme_claims.sh`) : « la cellule porte « **22** suites gated » », « l'agrégat
QA « **22** suites gated · **564** tests » », « la MÊME valeur **22** vit à DEUX endroits », « sans capter
la valeur **22** de la fiche QA » → **24** / **624**. Ces commentaires *citent le contenu courant* des
fiches DevOps/QA, lesquelles portent désormais « 24 suites · 624 tests » (vérifié :
`03_agents/{devops,qa}/AGENT.md`). Sweep complet du bloc — aucune sœur `22`/`564` résiduelle.
**Zéro artefact / générateur touché.** `ci/` n'est pas un module de `05_deliverables_mvp/` → **non
scoré par `audit_4big`** ([[audit4big-rebuild-after-doc-edits]]) ⇒ pas de rebuild `quality_report`.
Aucun gate ne dépend du texte de ces commentaires (le code recompute depuis `reg["suites"]` /
`deploy_runbook.json`). Vérifié : `deploy_runbook.json` = **24** modules (union, `financement_bancaire`
+ `pie/manifest` présents) · fiches gatées = **24/624** · `quality_report` = 24/24@100 · `regression_run`
= 24 suites · 624 tests.
**Réalisé / gate-vert.** 6 lignes de prose gate-doc éditées, prose only. `./run_ci.sh` en clôture =
**32 PASS · 0 FAIL · 0 SKIP**. Commit à suivre.