[DTP-Worker 20260805_224359] FIX comment-vs-code — commentaire fantôme dans le gate ci/validate_json.sh
Le gate valide la bonne-formation JSON SEULEMENT (parse strict), mais l.27 portait un commentaire orphelin annonçant un contrôle de conformité $schema/draft que le code n'implemente jamais (branche then imprime juste le check). Nouvelle sous-classe comment-vs-code : les scripts de GATE eux-memes, jamais couverts par les sweeps docstring-vs-code (scopes aux generateurs de prod + helpers *lib/). Isolement verifie : sweep des 8 scripts ci/*.sh + lib.sh = 0 autre derive. Fix 2 volets : (1) suppression de la ligne fantome ; (2) en-tete PERIMETRE explicite (bonne-formation seule ; conformite $schema = oracle jsonschema optionnel de check_regression.sh, 17 skips par design) -> le commentaire retire devient une affirmation positive et vraie du perimetre. 0 changement de logique executable, 0 artefact rebuild, 0 gate ajoute (#5, FIX pas controle neuf), 0 chiffre saisi (#6), 0 VPS (#8). run_ci 33 PASS / 0 FAIL / 0 SKIP. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,47 @@
|
|||||||
# Activity Log · 2026-08-05 · Claude Code DTP Worker
|
# Activity Log · 2026-08-05 · Claude Code DTP Worker
|
||||||
|
|
||||||
|
## Session 224359 · FIX RÉEL — commentaire fantôme dans le gate `ci/validate_json.sh` (check de conformité `$schema` annoncé, jamais implémenté) · nouvelle sous-classe comment-vs-code sur les scripts de GATE eux-mêmes
|
||||||
|
|
||||||
|
**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 24 modules du
|
||||||
|
`quality_report.json` (audit_4big) sont **tous à 100/PASS** (aucun < 95, contrainte #5) → la
|
||||||
|
frontière automatisable restante est soit un arbitrage produit (bloqué Michel, cf.
|
||||||
|
[[open-decisions-register]]), soit du déploiement VPS (hors périmètre #8). Bascule sur une
|
||||||
|
surface de dérive **non ré-auditée** : les **commentaires internes des scripts de gate**
|
||||||
|
`ci/*.sh` eux-mêmes — les sweeps docstring-vs-code antérieurs étaient scopés aux **générateurs
|
||||||
|
de production** + helpers `*lib/` (cf. [[docstring-vs-code-drift]]), jamais aux gates.
|
||||||
|
|
||||||
|
**Finding (réel, isolé).** `ci/validate_json.sh:27` portait un commentaire orphelin —
|
||||||
|
`# Si un $schema est déclaré, contrôle que 'draft' est reconnu (info seule).` — placé dans la
|
||||||
|
branche `then` du parse-loop, mais **aucun code** ne lit `$schema` ni ne contrôle le `draft` :
|
||||||
|
la branche n'imprime que le `✓`. Le gate valide la **bonne-formation SEULEMENT** (parse strict) ;
|
||||||
|
la conformité structurelle au `.schema.json` est l'oracle tiers OPTIONNEL `jsonschema` de la
|
||||||
|
suite régression (cf. [[regression-baseline-17-skips-by-design]]). Le commentaire promettait donc
|
||||||
|
un check inexistant — même classe honnêteté que #6 (rien ne doit affirmer un contrôle absent).
|
||||||
|
|
||||||
|
**Vérification d'isolement.** Sweep Explore des **8** scripts de gate + `lib.sh`
|
||||||
|
(`check_readme_claims.sh` 5600+ l., `check_docs`, `check_artifacts`, `check_regression`,
|
||||||
|
`check_ci_integrity`, `check_mobile_workflow`, `guard_constraints`, `lib.sh`) pour la même classe
|
||||||
|
(commentaire affirmant un comportement que le code n'implémente pas) → **0 autre dérive** ; tous
|
||||||
|
les autres commentaires sont synchrones avec un code qui les honore. Dérive **localisée** au seul
|
||||||
|
`validate_json.sh`.
|
||||||
|
|
||||||
|
**Fix (2 volets, honnête · 0 invention).** (1) Suppression de la ligne fantôme l.27 (la branche
|
||||||
|
`then` fait exactement ce que le code montre — imprimer le `✓`). (2) En-tête : ajout d'un bloc
|
||||||
|
**PÉRIMÈTRE** explicite disant que ce gate contrôle la bonne-formation SEULEMENT et que la
|
||||||
|
conformité `$schema` vit ailleurs (l'oracle `jsonschema` de `check_regression.sh`, 17 skips par
|
||||||
|
design) — le commentaire retiré devient une affirmation POSITIVE et vraie du périmètre, ce qui
|
||||||
|
prévient la réintroduction du fantôme par un futur lecteur.
|
||||||
|
|
||||||
|
**Portée / anti-churn.** **1 fichier de gate** édité (commentaire seul, **0 changement de logique
|
||||||
|
exécutable** — même AST bash), **0 artefact reconstruit**, **0 gate ajouté** (#5 — c'est un FIX de
|
||||||
|
dérive, pas un nouveau contrôle ; la classe est isolée, un gate serait inerte/redondant), **0
|
||||||
|
chiffre saisi à la main** (#6), **aucune commande VPS** (#8). `bash ci/validate_json.sh` = OK ·
|
||||||
|
`./run_ci.sh` = **33 PASS · 0 FAIL · 0 SKIP** avant et après (le fix ne touche aucun comportement
|
||||||
|
gaté). Seules éditions : `ci/validate_json.sh` + ce journal.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Session 191333 · Audit de COMPLÉTUDE fiches AGENT.md (25 modules ↔ 13 fiches) — CLOSE CLEAN · réconciliation compte 22→25 · 0 édition de production
|
## Session 191333 · Audit de COMPLÉTUDE fiches AGENT.md (25 modules ↔ 13 fiches) — CLOSE CLEAN · réconciliation compte 22→25 · 0 édition de production
|
||||||
|
|
||||||
**Choix de tâche.** `./run_ci.sh` au démarrage = **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
**Choix de tâche.** `./run_ci.sh` au démarrage = **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
||||||
|
|||||||
+4
-1
@@ -6,6 +6,10 @@
|
|||||||
# Les schémas JSON (version.schema.json, projets_master.schema.json) sont le
|
# Les schémas JSON (version.schema.json, projets_master.schema.json) sont le
|
||||||
# contrat de données Faisabilité ↔ Publiciste : un JSON cassé bloque le
|
# contrat de données Faisabilité ↔ Publiciste : un JSON cassé bloque le
|
||||||
# pipeline en aval → on l'attrape ici.
|
# pipeline en aval → on l'attrape ici.
|
||||||
|
# PÉRIMÈTRE : bonne-formation SEULEMENT (parse). La conformité au $schema
|
||||||
|
# (validation structurelle contre le .schema.json) n'est PAS contrôlée ici —
|
||||||
|
# c'est l'oracle tiers OPTIONNEL `jsonschema` de la suite régression (cf.
|
||||||
|
# check_regression.sh, 17 skips par design quand la lib est absente).
|
||||||
# Dépendances : bash, git, python3. Aucun réseau requis.
|
# Dépendances : bash, git, python3. Aucun réseau requis.
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
set -uo pipefail
|
set -uo pipefail
|
||||||
@@ -24,7 +28,6 @@ fi
|
|||||||
for f in "${files[@]}"; do
|
for f in "${files[@]}"; do
|
||||||
if python3 -c "import json,sys; json.load(open(sys.argv[1]))" "$f" 2>/tmp/jsonerr; then
|
if python3 -c "import json,sys; json.load(open(sys.argv[1]))" "$f" 2>/tmp/jsonerr; then
|
||||||
printf ' \033[32m✓\033[0m %s\n' "$f"
|
printf ' \033[32m✓\033[0m %s\n' "$f"
|
||||||
# Si un $schema est déclaré, contrôle que 'draft' est reconnu (info seule).
|
|
||||||
else
|
else
|
||||||
printf ' \033[31m✗\033[0m %s\n' "$f"
|
printf ' \033[31m✗\033[0m %s\n' "$f"
|
||||||
sed 's/^/ /' /tmp/jsonerr
|
sed 's/^/ /' /tmp/jsonerr
|
||||||
|
|||||||
Reference in New Issue
Block a user