[DTP-Worker 20260805_111224] SWEEP read-only 3 classes de dérive doc → CLEAN + clôture d'une RÉCURRENCE de faux-positif de l'audit docstring-vs-code : le flag compat -o sur le sous-parser validate est un NON-défaut (bijection PARFAITE 8-vs-13 entre docstring validate [-o OUT] et argparse qui ajoute -o help="ignoré (compat)" — chaque module self-cohérent, zéro dérive). Décision LEAVE (anti-churn #5) : distinct de la convention de code de sortie harmonisée par 6b61ff8 (celle-ci avait une conséquence fonctionnelle main()->None vs 0 ; -o sur validate n'en a AUCUNE — flag ignoré, validate n'écrit pas), et hors OPEN_DECISIONS_REGISTER (réservé aux arbitrages produit de Michel). Classes 2+3 aussi CLEAN : 11 sous-comptes prose recomputés exacts, et classe NEUVE README/AGENT/docstring output-filenames ↔ out/ réel = 22/22 concordants (bancable excepté, pas d'out/ commité). 0 fichier de production édité, 0 gate ajouté, 0 chiffre inventé, 33 PASS CI. Mémoire docstring-vs-code-drift enrichie pour que les futurs sweeps Explore SKIPent le [-o OUT] (2e session qu'il est re-signalé à tort comme "7-8 défauts").
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,58 @@
|
|||||||
# Activity Log · 2026-08-05 · Claude Code DTP Worker
|
# Activity Log · 2026-08-05 · Claude Code DTP Worker
|
||||||
|
|
||||||
|
## Session 111224 · SWEEP read-only 3 classes de dérive doc → **CLEAN** · + consignation d'un **NON-défaut vérifié** (le flag compat `-o` sur `validate`) pour clore une **récurrence de faux-positif** de l'audit docstring-vs-code
|
||||||
|
|
||||||
|
**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
||||||
|
roadmap `ROADMAP_8_WEEKS_OR_LESS.md` intégralement livrée/gatée in-repo (les restes S3/S5/S6 = refactors
|
||||||
|
BIM/VPS **hors périmètre worker**, #8). Aucune tâche fonctionnelle in-repo → chasse à la dérive réelle
|
||||||
|
non-gatée, sur **trois classes** en parallèle (deux via Explore + vérif manuelle) :
|
||||||
|
|
||||||
|
1. **docstring-vs-code des 21 générateurs** ([[docstring-vs-code-drift]]) — verbes CLI, entrées lues, sorties
|
||||||
|
écrites déclarés vs réels. **CLEAN** (déjà attesté ce matin par 104219/84df56a ; re-balayé).
|
||||||
|
2. **sous-comptes prose numériques** ([[confotur-8-negatifs-not-drift]]) — « N tests / N négatifs / N invariants /
|
||||||
|
N sections / N rôles / N fichiers » recomputés depuis code/artefacts. **CLEAN** — 11 sous-comptes re-vérifiés
|
||||||
|
exacts (confotur 44/8, portails 19/4, seo 36/10, deploy 29/14, mobile 5 fichiers/44 rôles, RBAC 50, invariants
|
||||||
|
confotur 14 / portails 12, sections CONFOTUR 4). Aucune dérive (le seo 8→10 était déjà fixé fbe298f).
|
||||||
|
3. **filenames de sortie cités en doc ↔ `out/` réel** (classe nouvelle, non balayée récemment) — pour les 22
|
||||||
|
modules à `out/` commité : chaque filename annoncé « génère/livre » dans README/AGENT/docstring existe bien
|
||||||
|
dans `out/`, et aucun fichier réel n'est omis d'une énumération se prétendant exhaustive. **CLEAN 22/22**
|
||||||
|
(`bancable` skip — pas d'`out/` commité par conception, [[bancable-out-not-committed]]).
|
||||||
|
|
||||||
|
**Le seul « écart » remonté = un NON-défaut, désormais consigné pour ne plus le ré-investiguer.**
|
||||||
|
L'Explore docstring-vs-code a signalé **7 générateurs** dont la docstring montre `validate [-o OUT]` « alors
|
||||||
|
que `-o` est *ignoré (compat)* » — présenté comme « 7 défauts ». **Vérité-terrain (grep autoritaire sur les 21
|
||||||
|
générateurs)** : bijection **parfaite**. Exactement **8/21** générateurs ajoutent `-o` (avec `help="ignoré
|
||||||
|
(compat)"`) au sous-parser `validate` **ET** portent `validate [-o OUT]` en docstring ; les **13** autres
|
||||||
|
n'ajoutent pas `-o` **ET** portent `validate` nu. Chaque module est donc **internement cohérent** — la docstring
|
||||||
|
décrit fidèlement la grammaire CLI *réellement acceptée* par son propre `argparse`. **Zéro dérive docstring-vs-code.**
|
||||||
|
|
||||||
|
| validate accepte `-o` ? | docstring | générateurs |
|
||||||
|
|---|---|---|
|
||||||
|
| **+o** (compat, ignoré) | `validate [-o OUT]` | deploy_runbook · chat_otoia · portails · app_config · acceptance · rbac/fixtures · rbac/roleprofile · rbac/userperm (**8**) |
|
||||||
|
| **noO** | `validate` | commissions · dossier_vente · financement · workflow_vente · demo/scenarios · bancable · faisabilite · ecf_dgii · confotur · pie · audit_4big · audit_5d · regression (**13**) |
|
||||||
|
|
||||||
|
**Décision : LEAVE (anti-churn #5), pas de fix, pas de gate.** Ce n'est *pas* un défaut de doc (bijection exacte),
|
||||||
|
et c'est *distinct* de la convention de code de sortie harmonisée ce matin (104219) : cette dernière avait une
|
||||||
|
**conséquence fonctionnelle** (`gen.main(["validate"])` renvoyait `None` au lieu de `0` à un appelant programmatique)
|
||||||
|
→ fix justifié ; ici `-o` sur `validate` est **sans conséquence** (le flag est ignoré, et `validate` « n'écrit pas »
|
||||||
|
de toute façon, ce que les docstrings disent explicitement). Harmoniser le split (retirer `-o` des 8, ou l'ajouter
|
||||||
|
aux 13) modifierait la surface CLI acceptée **sans gain fonctionnel** — churn contre une divergence inoffensive et
|
||||||
|
self-cohérente. **Ce n'est pas non plus un item du registre** `OPEN_DECISIONS_REGISTER.md` (réservé aux arbitrages
|
||||||
|
**produit qui appartiennent à Michel** / runtime hors dépôt) : c'est une question de convention interne de code,
|
||||||
|
de périmètre worker, ici tranchée « laisser » avec traçabilité.
|
||||||
|
|
||||||
|
**Valeur durable de la session.** Le vrai livrable est la **clôture d'une récurrence** : sans consignation, chaque
|
||||||
|
future passe Explore sur la classe docstring re-signalera ces mêmes 8 `[-o OUT]` comme « 7-8 défauts » (la mienne
|
||||||
|
l'a fait aujourd'hui). Mémoire `[[docstring-vs-code-drift]]` mise à jour avec la bijection + verdict NON-défaut, pour
|
||||||
|
que les sweeps suivants la **skippent**. Aligné sur la discipline [[verify-uncovered-before-gating]] / *surface,
|
||||||
|
don't re-flag*.
|
||||||
|
|
||||||
|
**Portée honnête / anti-churn.** **0 fichier de production édité** (#5) · **0 gate ajouté** (#5, bijection exacte =
|
||||||
|
rien à gater) · **0 chiffre inventé** (#6) · **0 commande VPS** (#8) · **aucun `git clean`**. <!-- ci-allow : mention de l'interdit, jamais exécuté --> Touché : ce log + la
|
||||||
|
mémoire. `./run_ci.sh` → **33 PASS · 0 FAIL · 0 SKIP** (arbre inchangé, aucune régression possible).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Session 104219 · FIX de COHÉRENCE 4Big — `qa/acceptance/acceptance_gen.py` était le **SEUL outlier sur 23 générateurs** à rompre la convention universelle de code de sortie : `main()` typé `-> None` + appel nu `main()` (au lieu de `-> int` + `raise SystemExit(main())` chez les 22 autres) → aligné (`cmd_build`/`cmd_validate`/`main` → `int`, `return 0`, `raise SystemExit(main())`) · comportement inchangé · artefacts byte-identiques · 0 chiffre inventé · 0 gate ajouté
|
## Session 104219 · FIX de COHÉRENCE 4Big — `qa/acceptance/acceptance_gen.py` était le **SEUL outlier sur 23 générateurs** à rompre la convention universelle de code de sortie : `main()` typé `-> None` + appel nu `main()` (au lieu de `-> int` + `raise SystemExit(main())` chez les 22 autres) → aligné (`cmd_build`/`cmd_validate`/`main` → `int`, `return 0`, `raise SystemExit(main())`) · comportement inchangé · artefacts byte-identiques · 0 chiffre inventé · 0 gate ajouté
|
||||||
|
|
||||||
**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
||||||
|
|||||||
Reference in New Issue
Block a user