From 1839f521aa0508007b9bf2245cd0416a0b5df3c2 Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Thu, 6 Aug 2026 13:19:45 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker=2020260806=5F131551]=20V=C3=89RIF?= =?UTF-8?q?=20axe=20NEUF=20=C2=AB=20coh=C3=A9rence=20draft/keyword=20des?= =?UTF-8?q?=2026=20oracles-sch=C3=A9mas=20=C2=BB=20($schema=20d=C3=A9clar?= =?UTF-8?q?=C3=A9=20vs=20idiomes=20cross-draft)=20=E2=86=92=20CLEAN=2026/2?= =?UTF-8?q?6=20(tous=20draft-07,=2013/13=20porteurs=3Ddefinitions=20jamais?= =?UTF-8?q?=20$defs,=200=20bool=20exclusiveMinimum=20draft-04,=200=20mot-c?= =?UTF-8?q?l=C3=A9=20post-07=20silencieusement=20ignor=C3=A9)=20=E2=80=94?= =?UTF-8?q?=207e=20axe-sch=C3=A9ma=20jamais=20couvert=20:=20un=20mot-cl?= =?UTF-8?q?=C3=A9=20mal-d=C3=A9clar=C3=A9=20est=20ignor=C3=A9/re-typ=C3=A9?= =?UTF-8?q?=20par=20le=20validateur=20=3D=20faux-vert=20invisible=20aux=20?= =?UTF-8?q?6=20axes=20existants=20;=20d=C3=A9tecteur=20maison=20stdlib=20t?= =?UTF-8?q?eeth-prouv=C3=A9=205/5=20(mutants=20exclusiveMinimum:true/id/re?= =?UTF-8?q?quired:true/$defs/unevaluatedProperties=20MORDENT),=200=20?= =?UTF-8?q?=C3=A9dition=20de=20prod,=20run=5Fci=2033=20PASS=200=20FAIL=200?= =?UTF-8?q?=20SKIP,=20pas=20de=20gate=20(#5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 05_activity_log/2026-08-06.md | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/05_activity_log/2026-08-06.md b/05_activity_log/2026-08-06.md index b3d7249..9d34531 100644 --- a/05_activity_log/2026-08-06.md +++ b/05_activity_log/2026-08-06.md @@ -1,5 +1,41 @@ # Activity Log · 2026-08-06 · Claude Code DTP Worker +## Session `20260806_131551` — VÉRIF · axe NEUF « cohérence draft/keyword des 26 oracles-schémas » (déclaration `$schema` vs idiomes cross-draft) → CLEAN 26/26 · 0 édition de production + +**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 (Sprints 1→7 dans le repo ; prod VPS / +builds EAS / dépôts ONAPI hors périmètre worker · #8). `OPEN_DECISIONS_REGISTER.md` = 3 arbitrages +**produit appartenant à Michel** (non éditables). Objectif anti-churn : un **7ᵉ axe teeth des +oracles-schémas encore jamais balayé**. + +**Axe NEUF (absent de la mémoire).** Les 6 axes-schémas déjà en mémoire vérifient : (1) non-vacuité · +(2) fermeture/complétude · (3) câblage à un test · (4) résolution des `$ref` · (5) enum/const vs skip +`python -S` · (6) satisfiabilité interne (required-vacuité + auto-contradiction). **Aucun** ne vérifie +la **cohérence entre le `$schema` déclaré et les mots-clés effectivement employés**. C'est un faux-vert +réel : un validateur JSON-Schema interprète chaque schéma **selon le draft déclaré**, et un mot-clé +d'un autre draft change de sémantique ou est **silencieusement ignoré** — l'oracle valide alors autre +chose que ce qu'il croit. + +**Détecteur maison (stdlib pur, récursif).** Signale, sous une déclaration `draft-07` : +`exclusiveMinimum`/`exclusiveMaximum` **booléens** (idiome draft-04 → mal-typé et ignoré en draft-07) · +`id` au lieu de `$id` (draft-04) · `required` **booléen** (draft-03) · `$defs` comme porteur de +définitions (mot-clé draft-2019, alors que draft-07 utilise `definitions`) · les mots-clés +**post-draft-07** (`unevaluatedProperties/Items`, `$dynamicRef`, `$anchor`, `prefixItems`, +`dependentRequired`, …) **silencieusement ignorés** par un validateur draft-07. + +**Résultat.** **26/26 déclarent `draft-07`** (aucun `$schema` manquant) · **13/13** porteurs de +définitions utilisent `definitions` (jamais `$defs`) · **0 idiome booléen draft-04** · **0 mot-clé +post-draft-07**. → **CLEAN 26/26.** + +**Dents prouvées.** Copies-mutant en mémoire de `rbac.schema.json` (réel = 0 hazard) : `exclusiveMinimum:true`, +`id:"http://…#"`, `required:true`, `$defs:{…}`, `unevaluatedProperties:false` → détecteur **MORD 5/5**. +Les 26 schémas réels restent CLEAN → détecteur non-inerte. + +**Conclusion.** **CLEAN 26/26** sur un axe de cohérence draft/keyword jamais couvert par les 6 axes +existants. **0 édition de production** (#8), `./run_ci.sh` inchangé = **33 PASS · 0 FAIL · 0 SKIP**. +Fichiers touchés : ce journal + 1 entrée mémoire (`schema-oracle-draft-keyword-coherence`). Sweep +**rejouable tel quel** (stdlib pur, sans réseau ni jsonschema) — **NON promu en gate** (#5, occurrence-zéro). + ## Session `20260806_121542` — VÉRIF · axe NEUF « cohérence interne des 26 oracles-schémas » (required-vacuité + auto-contradiction const/enum/default) → CLEAN · 0 édition de production **Choix de tâche.** `./run_ci.sh` au démarrage = **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,