[DTP-Worker 20260806_094524] VÉRIF axe teeth neuf « tests silencieusement fantômes (shadowing) » → CLEAN 25/25
Nouvel axe absent de la mémoire, distinct de module-suite-teeth-mutation (mute la LOGIQUE) et schema-oracle-teeth-audit (audite l'ORACLE) : cible le HARNAIS de test lui-même. 3 cas où une méthode est définie mais unittest discover ne l'exécute jamais, sans qu'aucun gate ne le voie — (a) def test_x dupliqué dans une classe (Python garde la dernière liaison), (b) class TestFoo dupliqué dans un fichier (2ᵉ masque 1ʳᵉ), (c) def test_* niveau-module (discover ne le lance pas). Trou réel : un shadow passe par absence ET ferait SUR-compter check_readme_claims (compte textuel des def test_). Détecteur AST teeth-prouvé sur sonde synthétique (3/3 mordent). Balayage réel CLEAN 25/25 fichiers (0 méthode-dup, 0 classe-dup, 0 test niveau-module). Sweep rejouable, NOT a gate (occurrence-zéro, #5). run_ci 33 PASS 0 FAIL 0 SKIP · 0 prod édité · 0 artefact reconstruit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,41 @@
|
||||
# Activity Log · 2026-08-06 · Claude Code DTP Worker
|
||||
|
||||
## Session `20260806_094524` — VÉRIF indépendante · NOUVEL axe teeth « tests silencieusement fantômes (shadowing) » → CLEAN 25/25 · 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 côté repo ; prod VPS /
|
||||
builds EAS / dépôts ONAPI hors périmètre worker · #8). Les ~15 derniers commits sont des sweeps
|
||||
vérification-only à rendement décroissant. Objectif : chasser un **vrai défaut ungaté** sur un **axe
|
||||
teeth encore jamais balayé** (anti-churn).
|
||||
|
||||
**Axe NEUF (absent de la mémoire) → famille « tests silencieusement fantômes ».** Distinct de
|
||||
`module-suite-teeth-mutation` (mute la LOGIQUE générateur) et `schema-oracle-teeth-audit` (audite
|
||||
l'ORACLE) : ici la cible est le **harnais de test lui-même** — 3 cas où une méthode de test est
|
||||
*définie* mais `unittest discover` ne l'exécute **jamais**, sans qu'aucun gate ne détecte la perte :
|
||||
- **`def test_x` dupliqué dans une classe** — Python garde la **dernière** liaison ; la 1ʳᵉ ne tourne jamais.
|
||||
- **`class TestFoo` dupliqué dans un fichier** — la 2ᵉ classe masque la 1ʳᵉ ; les tests de la 1ʳᵉ ne tournent jamais.
|
||||
- **`def test_*` au niveau module** (hors TestCase) — `discover` ne le lance pas, mais un compteur textuel le tallye.
|
||||
|
||||
**Pourquoi c'est un vrai trou (aveugle aux autres sweeps).** Un shadow fait **passer le test par
|
||||
absence** ; et `check_readme_claims` (classe `doc-numeric-claims-gate`) compte les `def test_`
|
||||
**textuellement** → un shadow ferait **SUR-compter** le README vs le compte runtime réel (dérive
|
||||
inverse de l'habituelle). byte-repro / forward-compat / mutation-de-suite sont tous aveugles.
|
||||
|
||||
**Détecteur (AST) — teeth-prouvé.** Parse de chaque `git ls-files '*test*.py'` : par ClassDef,
|
||||
`Counter` des méthodes `test*` > 1 ; par fichier, `Counter` des noms de ClassDef > 1 ; corps de
|
||||
module, `def test_*` = niveau-module. **Sonde synthétique 3-cas → les 3 MORDENT** (méthode-dup,
|
||||
classe-dup, niveau-module). Balayage réel → **CLEAN 25/25** fichiers de test (0 méthode-dup,
|
||||
0 classe-dup, 0 test niveau-module).
|
||||
|
||||
**Verdict.** Repo **CLEAN** sur le nouvel axe. **Aucun défaut de production.** Ces dents sont
|
||||
réellement gardées par aucun gate (un test shadow serait détecté ici et nulle part ailleurs), mais
|
||||
l'occurrence-zéro ne justifie **pas** un gate permanent (#5) : consigné comme sweep **rejouable**
|
||||
(mémoire `test-shadowing-sweep`), sibling de `runtime-encoding-integrity-sweep` / `hash-seed-…`.
|
||||
|
||||
**Portée / anti-churn.** **Production éditée : néant.** Édité : ce journal + 1 entrée mémoire.
|
||||
**0 artefact reconstruit**, **0 gate ajouté** (#5), **0 chiffre inventé** (#6 — 25/25 recomputés par
|
||||
balayage), **0 commande VPS** (#8). Structure du gate inchangée (33 checks).
|
||||
|
||||
## Session `20260806_091519` — FIX doc · NOUVEL axe objectif « cohérence du compte de colonnes des tables Markdown » → 1 vrai défaut (ligne à colonne orpheline dans le TEMPLATE canonique de faisabilité)
|
||||
|
||||
**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