[DTP-Worker 20260802_183604] Sprint 8 · buffer · README racine (dérive doc-vs-réalité non gatée) : la puce « Régression » affirmait regression_run.json « non commité par design » → FAUX depuis la refonte baseline byte-gatée (76fb0e7)
Correction de VÉRITÉ (PAS un gate #5, PAS un chiffre inventé #6).
Constat : README.md:44-46 déclarait le compte agrégé « produit par qa/regression
run (non commité par design) ». Or regression_run.json EST commité (git ls-files le
confirme) et sert de baseline byte-identique au gate ci/check_regression.sh (mécanisme
introduit par 76fb0e7) ; le README du module (qa/regression/README.md:50,57-61) ET le
commentaire du gate lui-même (ci/check_readme_claims.sh:264,269 « commité · déterministe
· compte agrégé faisant autorité ») le disent. Le README racine reflétait l'ANCIEN
design pré-76fb0e7.
Angle mort : check_readme_claims ancre le nombre « 22 suites gated » (recompté de
regression_plan.totals.suites) mais PAS le fait-en-clair « (non commité par design) » ;
check_docs ne valide que les liens. La dérive vivait dans l'interstice.
Fix : puce réécrite vers la réalité — regression_run.json désigné artefact « commité et
byte-gaté », lien ajouté ; token gaté **22 suites gated** conservé verbatim ; lien
regression_plan.json préservé ; « non commité par design » supprimé. Aucun 564 hardcodé
(pas de surface non gatée nouvelle · fidèle à « ce README n'introduit aucune donnée nouvelle »).
Vérif : run_ci.sh 30 PASS / 0 FAIL / 0 SKIP (check_docs résout le nouveau lien commité ·
check_readme_claims retrouve 22 suites gated · guard_constraints vert). Zéro gate ajouté,
zéro fichier de code touché, aucune commande VPS.
Note : dir scratch untracked 05_deliverables_mvp/frontend/portails/out_fresh/ (byte-identique
à out/ commité, référencé par aucun code) laissé en place — authorship non confirmé, non
supprimé par prudence (jamais git clean · interdit #1).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,65 @@
|
||||
# Activity log · 2026-08-02 · Claude Code DTP Worker
|
||||
|
||||
## Session `20260802_183604` · Sprint 8 · buffer · Dérive doc-vs-réalité (README racine) : la ligne « Régression » affirmait `regression_run.json` « non commité par design » — FAUX depuis la refonte baseline byte-gatée (`76fb0e7`) → correction de vérité (PAS un gate #5, PAS un chiffre inventé #6)
|
||||
|
||||
**Nature — dérive réelle non gatée, corrigée par la vérité (pas un gate de plus).**
|
||||
Ouverture : arbre propre, `run_ci.sh` **30 PASS / 0 FAIL / 0 SKIP** (7 gates statiques +
|
||||
23 suites), campagne de gates **saturée**. La file de fiches est close (13/13) et un
|
||||
**audit doc-vs-réalité frais** (fan-out d'exploration sur les 13 `03_agents/*/AGENT.md`
|
||||
et les README de module) n'a remonté **aucune** dérive de fiche. Plutôt que d'empiler un
|
||||
gate redondant (#5, explicitement déconseillé par la mémoire *verify-uncovered-before-gating*)
|
||||
ou de ré-adosser le `daily_report` (canal 2 déjà à jour — le dernier commit `3ff51d9` **était**
|
||||
ce rapport), j'ai poussé l'audit vers une surface non couverte : le **README racine**, point
|
||||
d'entrée du mandat.
|
||||
|
||||
**Constat — un fait de commit-status périmé.** `README.md:44-46` (section « État courant »,
|
||||
puce **Régression**) déclarait : *« le compte de tests agrégé faisant autorité est produit
|
||||
par `qa/regression run` (**non commité par design**) — plan `…/regression_plan.json` »*.
|
||||
Or c'est **faux depuis la refonte** :
|
||||
- Le README **du module** régression (`05_deliverables_mvp/qa/regression/README.md:50,57-61`)
|
||||
énonce sans ambiguïté que `out/regression_run.json` est **COMMITÉ** et sert de **baseline
|
||||
byte-identique** au gate `ci/check_regression.sh`, qui régénère un `run` frais et exige
|
||||
l'**identité byte-for-byte** (+ verdict `PASS`) — mécanisme introduit par le commit
|
||||
**`76fb0e7`** (« *fix gate check_regression … run baseline commité* »).
|
||||
- `git ls-files 05_deliverables_mvp/qa/regression/out/` confirme les **trois** artefacts
|
||||
suivis, dont `regression_run.json`.
|
||||
- Le **commentaire d'en-tête du gate lui-même** (`ci/check_readme_claims.sh:264,269`) qualifie
|
||||
`regression_run.json` de « **commité · déterministe** » et de « **compte agrégé faisant
|
||||
autorité** ».
|
||||
Le README racine reflétait donc l'**ANCIEN design** (pré-`76fb0e7`, run non commité) — dérive
|
||||
classique « la doc de tête retarde d'une refonte ».
|
||||
|
||||
**Pourquoi aucun gate ne l'attrapait (angle mort, PAS à re-gater).** `check_readme_claims.sh`
|
||||
ancre la partie **numérique** de cette puce — le motif `\*\*(\d+) suites gated\*\*` recompté
|
||||
depuis `regression_plan.json::totals.suites` (=22) — mais le **fait en clair** « (non commité
|
||||
par design) » est une affirmation de **statut de commit**, hors du périmètre des recomputes de
|
||||
compteurs. `check_docs.sh` ne valide que les **cibles de liens** (le lien `regression_plan.json`
|
||||
était valide). La dérive vivait précisément dans l'interstice entre « chiffre gaté » et « lien
|
||||
valide ».
|
||||
|
||||
**2 solutions (workflow #4) — la bonne = corriger la doc, pas gater le statut.**
|
||||
- ❌ Ajouter un gate « statut de commit de `regression_run.json` » : redondant (#5) — le fait
|
||||
« commité » est déjà **structurellement** prouvé par `check_regression` (qui EXIGE le fichier
|
||||
commité pour comparer byte-for-byte ; sans lui le gate échouerait). Un checker de prose serait
|
||||
un doublon de la vérité déjà enforced.
|
||||
- ✅ **Corriger la puce vers la réalité.** Nouvelle rédaction (`README.md:44-48`) :
|
||||
*« Le **compte de tests agrégé faisant autorité** vit dans `…/regression_run.json`, artefact
|
||||
**commité et byte-gaté** : `ci/check_regression.sh` régénère un `run` frais et exige l'identité
|
||||
**byte-for-byte** avec la baseline commitée (verdict `PASS`). Recensement déterministe des
|
||||
suites : `…/regression_plan.json`. »* — le token gaté **`**22 suites gated**`** est **conservé
|
||||
verbatim** (le gate le recompte toujours), le lien `regression_plan.json` est **préservé**, un
|
||||
lien vers `regression_run.json` (commité) est **ajouté**, et le faux « non commité par design »
|
||||
est **supprimé**. **Aucun chiffre nouveau saisi** (#6) : je n'ai PAS hardcodé le total « 564 »
|
||||
dans une surface non gatée — je désigne l'artefact commité comme source, fidèle à la promesse
|
||||
du README (« ce README n'introduit aucune donnée nouvelle »).
|
||||
|
||||
**Vérif** (en-repo, zéro contact VPS). `run_ci.sh --static` → **7 PASS / 0 FAIL** :
|
||||
`check_docs` résout le nouveau lien `regression_run.json` (fichier commité) · `check_readme_claims`
|
||||
retrouve toujours `**22 suites gated**` (== `regression_plan.totals.suites`) · `guard_constraints`
|
||||
vert. `run_ci.sh` complet → **30 PASS / 0 FAIL / 0 SKIP**. `git status --porcelain` = seuls
|
||||
`README.md` (+ ce log) modifiés. **Zéro gate ajouté, zéro chiffre inventé, zéro fichier de code
|
||||
touché, aucune commande VPS.**
|
||||
|
||||
## Session `20260802_180604` · Sprint 8 · buffer · Reporting stakeholder (canal 2) — rattrapage du snapshot `daily_reports/2026-08-02` sur les 3 sessions de retouches doc/outillage depuis la clôture `160601` (4ᵉ addendum sourcé · ZÉRO gate ajouté #5)
|
||||
|
||||
**Nature — réconciliation de reporting, PAS un gate de plus (CLAUDE.md #5).** Ouverture :
|
||||
|
||||
Reference in New Issue
Block a user