[DTP-Worker 20260806_121542] VÉRIF axe NEUF « cohérence interne des 26 oracles-schémas » (required-vacuité + auto-contradiction const/enum/default) → CLEAN 26/26 (1405 nœuds · 317 checks · 0 nœud insatisfiable), 2 détecteurs maison teeth-prouvés (4/4 mordent) — 6e axe-schéma, faux-vert impossible à voir par les 5 axes existants ; 0 édition de production, run_ci 33 PASS 0 FAIL 0 SKIP, pas de gate (#5)
This commit is contained in:
@@ -1,5 +1,44 @@
|
|||||||
# Activity Log · 2026-08-06 · Claude Code DTP Worker
|
# Activity Log · 2026-08-06 · Claude Code DTP Worker
|
||||||
|
|
||||||
|
## 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,
|
||||||
|
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 axe teeth des oracles-schémas
|
||||||
|
encore **jamais balayé**.
|
||||||
|
|
||||||
|
**Axe NEUF (absent de la mémoire).** Les 5 axes-schémas déjà en mémoire vérifient : (1) non-vacuité
|
||||||
|
(`schema-oracle-teeth-audit`) · (2) fermeture/complétude (`schema-oracle-closedness-not-defect`) ·
|
||||||
|
(3) câblage à un test (`schema-oracle-wiring-axis`) · (4) résolution des `$ref`
|
||||||
|
(`schema-oracle-ref-integrity`) · (5) enum/const vs skip `python -S` (`schema-oracle-enum-const-vs-S-skip`).
|
||||||
|
Aucun ne vérifie la **cohérence LOGIQUE INTERNE d'un nœud** : un schéma peut être clos, non-vacuous en
|
||||||
|
surface, `$ref`-sain ET pourtant contenir un nœud **impossible à satisfaire** (donc faux-vert : le test
|
||||||
|
qui valide un objet construit en mémoire ne le remarque jamais si l'objet n'exerce pas ce nœud).
|
||||||
|
|
||||||
|
**Deux détecteurs maison (stdlib pur, marchent partout, sans réseau ni jsonschema).**
|
||||||
|
1. **required-vacuité** — un nœud objet avec `additionalProperties:false` ET une clé `required` **absente
|
||||||
|
de `properties`/`patternProperties`** est **inatteignable** (aucun objet ne peut valider). Marche
|
||||||
|
récursif sur tous les mots-clés porteurs de sous-schéma (`properties`, `items`, `$defs`, `allOf`,
|
||||||
|
`anyOf`, `oneOf`, `if/then/else`, `additionalProperties`-objet, …). `additionalProperties`-objet
|
||||||
|
ou absent (défaut `true`) ⇒ **non** signalé (la clé peut se satisfaire hors `properties`) = conservateur.
|
||||||
|
→ **1405 nœuds balayés · 0 vacuité.**
|
||||||
|
2. **auto-contradiction** — `const`, chaque membre `enum`, et `default` sont confrontés à leurs
|
||||||
|
contraintes **sœurs** (`type`, bornes numériques `minimum`/`maximum`/`exclusive*`, `pattern`,
|
||||||
|
`min/maxLength`) ; plus les plages absurdes (`minimum>maximum`, `minItems>maxItems`). Un `const` qui
|
||||||
|
viole son propre `type`, un `default` hors `pattern`, un membre d'enum sous le `minimum` = données
|
||||||
|
invalides latentes / nœud mort. → **317 constraint-checks · 0 contradiction.**
|
||||||
|
|
||||||
|
**Dents prouvées.** Copies-mutant dans `/tmp` : `required:["ghost"]`+`additionalProperties:false` →
|
||||||
|
détecteur 1 **MORD** ; `const:"notint"` sous `type:integer`, membre enum `5` sous `minimum:10`,
|
||||||
|
`default:"abc"` hors `pattern:^[0-9]+$`, `minimum:100/maximum:1` → détecteur 2 **MORD** (4/4). Les vrais
|
||||||
|
26 schémas restent CLEAN sur les deux → ce n'est pas un détecteur inerte.
|
||||||
|
|
||||||
|
**Conclusion.** **CLEAN 26/26** sur deux sous-axes de cohérence interne jamais couverts. Aucun faux-vert
|
||||||
|
d'oracle de ce type. **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-internal-consistency`). Sweep
|
||||||
|
**rejouable tel quel** (stdlib pur) — **NON promu en gate** (#5, occurrence-zéro).
|
||||||
|
|
||||||
## Session `20260806_101528` — VÉRIF · axe NEUF « fermeture & complétude des 26 oracles-schémas » → 1 anomalie investiguée (financement) = NON-DÉFAUT (choix explicite + couverture transitive byte-repro) · 0 édition de production
|
## Session `20260806_101528` — VÉRIF · axe NEUF « fermeture & complétude des 26 oracles-schémas » → 1 anomalie investiguée (financement) = NON-DÉFAUT (choix explicite + couverture transitive byte-repro) · 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,
|
||||||
|
|||||||
Reference in New Issue
Block a user