[DTP-Worker] Sprint 8 · buffer L75 · Domaine Démo : le run-sheet de pitch (demo/scenarios) affichait « 10 modules cités » dans le diagramme d'architecture de son README — un compte data-derived transcrit À LA MAIN sans AUCUN gate, alors que demo/scenarios/out/MANIFEST.json (byte-gaté par check_artifacts, counts.modules_cites_uniques = |union des modules_cites des deux scénarios, résolus par pointeur RFC 6901|, recompté à chaque build) fait autorité. Ajouter un beat qui cite un module encore non tissé (11) OU retirer la dernière citation d'un module d'un scénario (9) ferait dériver le diagramme en silence pendant que l'artefact dit autre chose — « vert trompeur » qu'aucune suite tests/ (qui teste des FONCTIONS, pas la prose du README) n'attrape → nouveau bloc dans check_readme_claims recomputant le nombre depuis counts.modules_cites_uniques et exigeant l'égalité avec le README. Cohérence croisée en bonus : counts.modules_cites_uniques == |modules_cites| (liste dédupliquée du manifeste, elle-même sans doublon) — mord un compteur désynchronisé de sa propre liste. Un claim absent échoue AUSSI (2 morsures vérifiées : dérive README 10→11 · claim disparu = red ; restauré = green). ci/README.md (table + détail) mis à jour · 7 gates re-verts.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,58 @@
|
||||
# Activity Log · 2026-07-31 · Claude Code DTP
|
||||
|
||||
## Session `20260731_120054` · Buffer S8 · Domaine Démo : le run-sheet de pitch (`demo/scenarios`) affichait « **10 modules cités** » dans le diagramme d'architecture de son README — un compte data-derived transcrit À LA MAIN sans AUCUN gate
|
||||
|
||||
**Tâche** : **Sprint 8 · buffer L75** (DevOps CI/CD · QA régression). Roadmap
|
||||
fonctionnellement close ; poursuite de la série anti-dérive (CLAUDE.md #6). Les
|
||||
sessions précédentes ont gaté les domaines tests, portails, RBAC (3 volets), SEO, CRM
|
||||
(pipeline vente), mobile, Legal (CONFOTUR), QA (audit 5D) et DevOps (run-book). Cette
|
||||
session cible le **domaine Démo** — le **run-sheet de pitch**, dont un compte
|
||||
data-derived cité dans le README pointait l'artefact généré sans être recomputé par
|
||||
aucun gate.
|
||||
|
||||
### Défaut trouvé — compte ungated, transcrit dans le diagramme du README
|
||||
|
||||
- **`05_deliverables_mvp/demo/scenarios/README.md:23`** : diagramme d'architecture →
|
||||
« `scenario_spec.json … out/ des modules livrés (`**`10 modules cités`**`)` ».
|
||||
- L'artefact source est byte-gaté par `check_artifacts` :
|
||||
`demo/scenarios/out/MANIFEST.json` recompte `counts.modules_cites_uniques`
|
||||
(= |union des `modules_cites` des deux scénarios, résolus par pointeur RFC 6901|) à
|
||||
chaque build. Le module ne saisit **aucune** valeur métier ; il résout depuis le
|
||||
disque les hand-off amont que les beats citent.
|
||||
- Aucun gate ne comparait la VALEUR écrite à l'artefact : ajouter un beat qui cite un
|
||||
module encore non tissé (**11**) ou retirer la dernière citation d'un module d'un
|
||||
scénario (**9**) ferait dériver le diagramme en silence — « vert trompeur » qu'aucune
|
||||
suite `tests/` (qui teste des FONCTIONS, pas la prose du README) n'attrape.
|
||||
- **État courant** : **aucun nombre périmé** — 10 recoupe MANIFEST exactement
|
||||
(anti-invention #6 : rien à réécrire). Le défaut est la **surface ungated**.
|
||||
|
||||
**Nouveau bloc dans `ci/check_readme_claims.sh`** : recompute le nombre depuis
|
||||
`counts.modules_cites_uniques` (jamais figé ici · zéro duplication du compteur du
|
||||
générateur #5) et exige l'égalité avec le README. Cohérence croisée en bonus :
|
||||
`counts.modules_cites_uniques == |modules_cites|` (liste dédupliquée du manifeste,
|
||||
elle-même sans doublon) — mord un compteur désynchronisé de sa propre liste. Un claim
|
||||
absent échoue AUSSI (traçabilité).
|
||||
|
||||
### Preuve (2 morsures vérifiées + restauration verte)
|
||||
|
||||
| Injection | Résultat |
|
||||
|---|---|
|
||||
| README drift `10→11` | ✗ dit 11 modules cités MAIS artefact 10 · exit 1 |
|
||||
| README claim supprimé (reformulé) | ✗ claim « (N modules cités) » INTROUVABLE · exit 1 |
|
||||
| restauré | ✓ 10 modules cités == artefact · exit 0 |
|
||||
|
||||
- **`ci/README.md`** — surface ajoutée à la table récap du pipeline + paragraphe
|
||||
descriptif (classe « run-sheet de démo »).
|
||||
|
||||
Suite CI complète re-verte : `guard_constraints` · `validate_json` · `check_docs` ·
|
||||
`check_artifacts` · `check_regression` · `check_ci_integrity` · `check_readme_claims`.
|
||||
|
||||
**Hors périmètre worker (VPS · #8)** : néant (gate bash/python3 stdlib en-repo).
|
||||
|
||||
**Auto-score 4Big** : 96/100.
|
||||
|
||||
---
|
||||
|
||||
## Session `20260731_113048` · Buffer S8 · Domaine DevOps : le run-book de déploiement VPS (`devops/deploy_runbook`) affichait « **7 phases** » (fiche agent devops, ×2) et « **7 confirmations** préalables » (README du module) — deux nombres data-derived transcrits À LA MAIN dans DEUX docs sans AUCUN gate
|
||||
|
||||
**Tâche** : **Sprint 8 · buffer L75** (DevOps CI/CD · QA régression). Roadmap
|
||||
|
||||
Reference in New Issue
Block a user