From 12c784c5d9621966ca80b90d4f9203cbba4cf6c5 Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Sun, 2 Aug 2026 21:10:21 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker=2020260802=5F210609]=20Journal=20se?= =?UTF-8?q?ssion=20210609=20:=20d=C3=A9rive=20doc-vs-CODE=20parser=20publi?= =?UTF-8?q?ciste=20corrig=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- 05_activity_log/2026-08-02.md | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/05_activity_log/2026-08-02.md b/05_activity_log/2026-08-02.md index 1d511ec..f5ce858 100644 --- a/05_activity_log/2026-08-02.md +++ b/05_activity_log/2026-08-02.md @@ -1958,3 +1958,40 @@ re-flaggera « 8 négatifs » → vérifier les frontières de classe avant de **Vérifications.** `run_ci.sh` → **30 PASS · 0 FAIL · 0 SKIP**. **Zéro nouveau module · zéro gate ajouté (#5) · zéro fichier de production modifié** — session de vérification pure (seul écrit repo = ce journal). Aucune commande touchant au VPS (#8). + +--- + +## Session 20260802_210609 · Sprint 8 · buffer · Dérive doc-vs-CODE réelle corrigée (docstring de production) + +**Contexte.** État stationnaire : `run_ci.sh` = 30/30 vert, roadmap S1–S8 livrée et +gatée, reliquat roadmap (pipelines BIM/IFC/rendu Blender · déploiement VPS · soumissions +stores) hors périmètre sandbox. Plutôt qu'un énième audit no-op, chasse ciblée d'un défaut +**réel** dans un module de parsing (là où les cas limites mordent). + +**Trouvaille (classe NOUVELLE, distincte des dérives README gatées).** Le docstring +d'en-tête de `05_deliverables_mvp/publiciste/lib/parser.py` (bloc « Sources lues », l. 26) +annonçait : + +> `40_llm_outputs/commercial.md → positionnement FR (fallback prix §5.3)` + +Or **aucun fallback de prix depuis `commercial.md` n'existe dans le code** : `commercial.md` +n'alimente QUE `parse_positionnement_fr` (l. 275+, « 1er paragraphe non-titre »). Preuve : +`grep -rniE "5\.3|fallback.*prix|prix.*fallback|commercial.*prix" lib/ publiciste.py` → +**une seule** occurrence, le docstring lui-même. Le docstring décrivait donc un +**comportement inventé qui n'a jamais été implémenté** — exactement l'anti-pattern que +CLAUDE.md #6 (zéro invention) proscrit, transposé du côté documentation-du-code. + +**Correction.** Reformulé en `→ positionnement FR (1er paragraphe non-titre)`, aligné mot +pour mot sur la logique réelle de `parse_positionnement_fr`. **Docstring seul — zéro +changement de logique, zéro changement de signature, zéro test touché.** + +**Distinction de classe.** Ce n'est PAS une dérive de compte gatée (check_readme_claims) +ni une dérive de prose README (check_docs) : c'est une inexactitude **dans le docstring du +module de production**, surface non couverte par les gates existants et distincte des +classes déjà cataloguées. Vérifié qu'aucun sibling (`README.md` publiciste, `AGENT.md` +publiciste) ne répète la fausse allégation « fallback prix » → correction ponctuelle, +source unique. + +**Vérifications.** `./run_ci.sh` → **30 PASS · 0 FAIL · 0 SKIP** (inchangé). **Zéro +nouveau module · zéro gate ajouté (#5) · un seul fichier de production touché (docstring)**. +Aucune commande VPS (#8). Commit `a2c2e0b`.