From f311a1bad92401d0fd45892f54ac1a237689b3ef Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Wed, 5 Aug 2026 14:18:38 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker=2020260805=5F141301]=20SWEEP=20neuf?= =?UTF-8?q?=20forward-compat=20warnings=20:=2025=20suites=20de=20gate.need?= =?UTF-8?q?s=20rejou=C3=A9es=20sous=20-W=20error=20(Deprecation/Syntax/Pen?= =?UTF-8?q?ding/Resource=20promus=20en=20erreurs)=20=E2=86=92=20CLEAN=2025?= =?UTF-8?q?/25=20=C2=B7=20624=20tests=20=C2=B7=200=20warning=20latent=20so?= =?UTF-8?q?us=20Python=203.10.12.=20Classe=20absente=20de=20la=20m=C3=A9mo?= =?UTF-8?q?ire,=20orthogonale=20aux=20axes=20teeth=20:=20un=20warning=20?= =?UTF-8?q?=C3=A9mis=20silencieusement=20aujourd'hui=20reste=20VERT=20(war?= =?UTF-8?q?ning=20!=3D=20erreur)=20mais=20casse=20tout=20seul=20au=20proch?= =?UTF-8?q?ain=20bump=20d'interpr=C3=A9teur=20=3D=20faux-vert=20FORWARD=20?= =?UTF-8?q?invisible=20aux=20tables=20de=20currency.=20Corpus=20pr=C3=AAt?= =?UTF-8?q?=20au=20durcissement=20d'interpr=C3=A9teur=20sans=20r=C3=A9gres?= =?UTF-8?q?sion=20silencieuse=20(aucune=20API=20d=C3=A9pr=C3=A9ci=C3=A9e,?= =?UTF-8?q?=20aucun=20handle=20fuit=C3=A9).=20Root=20tests/=20=3D=20Playwr?= =?UTF-8?q?ight=20e2e=20(job=20manuel=20hors=20gate)=20=E2=86=92=200=20tes?= =?UTF-8?q?t=20python=20attendu.=200=20prod,=200=20artefact=20rebuild,=200?= =?UTF-8?q?=20gate=20ajout=C3=A9=20(#5=20=C2=B7=20propri=C3=A9t=C3=A9=20re?= =?UTF-8?q?-jouable=20via=20la=20commande,=20pas=20une=20classe=20de=20d?= =?UTF-8?q?=C3=A9rive),=200=20chiffre=20saisi=20(#6),=200=20VPS=20(#8).=20?= =?UTF-8?q?run=5Fci=2033=20PASS.=20Editions=20:=20activity=5Flog=20+=20mem?= =?UTF-8?q?ory=20neuve.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 05_activity_log/2026-08-05.md | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/05_activity_log/2026-08-05.md b/05_activity_log/2026-08-05.md index 0f98565..c7d8ab1 100644 --- a/05_activity_log/2026-08-05.md +++ b/05_activity_log/2026-08-05.md @@ -1279,3 +1279,46 @@ mémoire ordonne LEAVE/don't-harmonize : la doc est correcte, c'est le lecteur q CLEAN sur les 26 modules ce jour, et le faux-positif `validate [-o OUT]` a **récidivé une 3ᵉ fois** (re-signalé par un `Explore` neuf malgré l'amorce de SKIP) → confirme qu'il faut le garder documenté comme piège, pas le "corriger". + +--- + +## Session 20260805_141301 · SWEEP neuf *forward-compat warnings* — 25 suites sous `-W error` → **CLEAN** (classe absente de la mémoire) + +**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre +propre (HEAD `48b19b9`). Roadmap `ROADMAP_8_WEEKS_OR_LESS.md` intégralement livrée/gatée in-repo ; +restes S3/S5/S6 (refactor BIM, builds EAS, dépôts ONAPI, déploiement prod) **hors périmètre worker** +(`CLAUDE.md` #8). Les surfaces de dérive usuelles sont saturées et le daily_report `2026-08-05` + +`OPEN_DECISIONS_REGISTER` sont courants — les ré-attester serait du churn (#5, déjà signalé ce jour, +cf. 121234/134254). J'ai donc visé une **classe de vérification que la mémoire ne couvre PAS** : +la **compatibilité Python future** du corpus de tests. + +**Hypothèse de risque.** Le runner tourne aujourd'hui sous **Python 3.10.12** ; toutes les suites +sont VERTES. Mais un `DeprecationWarning`/`SyntaxWarning`/`ResourceWarning` émis silencieusement +aujourd'hui (ex. escape-séquences d'expression régulière non-`r""`, `datetime.utcnow()`, sockets/ +fichiers non fermés) reste **invisible aux tables de currency** : la CI est verte tant que le warning +n'est pas promu en erreur — ce qui arrive tout seul à un futur bump d'interpréteur. Un vrai **faux +vert forward-looking**, orthogonal aux axes *teeth* (qui prouvent que les gates mordent *aujourd'hui*). + +**Méthode (lecture seule).** Rejeu des **25 suites** de `gate.needs` (bijection 25 dossiers `tests/` +↔ 25 jobs, déjà gatée) avec les warnings promus en erreurs : +`python3 -W error::DeprecationWarning -W error::SyntaxWarning -W error::PendingDeprecationWarning -W error::ResourceWarning -m unittest discover -s tests` +depuis le `working-directory` de chaque module. Le `tests/` **racine** a aussi été balayé : il rend +« Ran 0 tests » — attendu, c'est la suite **Playwright e2e** (`smoke.spec.ts`, TypeScript, job manuel +`workflow_dispatch` `e2e-baseline` hors gate de merge car exige un serveur live), pas une suite python. + +**Résultat — CLEAN.** **25/25 suites OK** sous warnings-as-errors (624 tests au total, cohérent avec +`regression_run.json`). **0 warning latent** dans tout le corpus python : le corpus est prêt à un +futur durcissement d'interpréteur sans régression silencieuse. Aucune suite ne dépend d'une API +dépréciée ni n'émet de `ResourceWarning` (pas de handle de fichier/socket fuité dans les fixtures). + +**Portée / anti-churn.** **0 fichier de production édité**, **0 artefact reconstruit** (aucun +`out/*.json` touché → pas de rebuild `quality_report`, cf. [[audit4big-rebuild-after-doc-edits]]), +**0 gate ajouté** (#5 — attester ≠ multiplier les gates ; ce n'est pas une *classe de dérive* mais +une propriété forward-compat, re-jouable à la demande via la commande ci-dessus après tout bump +Python ou ajout de suite), **0 chiffre saisi à la main** (#6 — 25 et 624 dérivés de `gate.needs`/du +runner), **0 commande VPS** (#8 — sweep 100 % local & lecture seule). Seule édition : ce journal + +une entrée mémoire neuve. + +**Vérif.** `git status --short` avant le sweep = vide (lecture seule) ; `./run_ci.sh` après → +**33 PASS · 0 FAIL · 0 SKIP** (aucun fichier gaté touché). Nouvelle mémoire *forward-compat warnings +sweep* consignée pour re-jeu futur.