From 11e1cdd183764bdb0dc77b548b359d2dd4e25ac3 Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Wed, 5 Aug 2026 10:24:25 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker=2020260805=5F101214]=20FIX=20R?= =?UTF-8?q?=C3=89EL=20:=20la=20fiche=20MOBILE=20pr=C3=A9sentait=20`oto=5Fm?= =?UTF-8?q?odule=5Fmobile=5Fapi.py`=20comme=20source=20sans=20qualificatif?= =?UTF-8?q?=20alors=20que=20seul=20le=20.pyc=20existe=20=E2=80=94=20annota?= =?UTF-8?q?tion=20=C2=AB=20(compil=C3=A9=20pyc)=20=C2=BB=20perdue=20vs=20s?= =?UTF-8?q?a=20source=20cit=C3=A9e=20AGENTS=5FEXISTING=5FASSETS.md=20?= =?UTF-8?q?=C2=A78:59=20(et=20convention=20s=C5=93ur=20=C2=A79)=20?= =?UTF-8?q?=E2=86=92=20annot=C3=A9e=20pyc-only=20sur=20la=20seule=20ligne?= =?UTF-8?q?=20concern=C3=A9e,=204=20sources=20r=C3=A9elles=20laiss=C3=A9es?= =?UTF-8?q?=20intactes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- 03_agents/mobile/AGENT.md | 2 +- 05_activity_log/2026-08-05.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/03_agents/mobile/AGENT.md b/03_agents/mobile/AGENT.md index 9e10615..9140171 100644 --- a/03_agents/mobile/AGENT.md +++ b/03_agents/mobile/AGENT.md @@ -73,7 +73,7 @@ dérive du compte/job/CLI mordra désormais. | Module VPS (hors-repo) | Fonction | État roadmap | |---|---|---| -| `/opt/oto/oto_module_mobile_api.py` | **API mobile** ERPNext (endpoints app) | cœur du refactor Sprint 5 (backend natif #1) | +| `/opt/oto/oto_module_mobile_api.py` *(compilé pyc)* | **API mobile** ERPNext (endpoints app) | cœur du refactor Sprint 5 (backend natif #1) | | `/opt/oto/oto_module_mobile_download.py` | distribution / téléchargement app | canal de livraison | | `/opt/oto/staging/mobile_rbac/deploy_mobile_rbac.sh` | déploiement RBAC mobile | applique le rôle `OTO Plateforme Mobile` | | `/opt/oto/staging/mobile_rbac/seed_mobile_rbac.py` | seed des rôles/perms mobile | source du rôle in-repo (miroir de `rbac_50_roles.json`) | diff --git a/05_activity_log/2026-08-05.md b/05_activity_log/2026-08-05.md index ed30379..ada7ad7 100644 --- a/05_activity_log/2026-08-05.md +++ b/05_activity_log/2026-08-05.md @@ -964,3 +964,38 @@ module dont `MANIFEST.counts` n'est pas recompté dans `check_readme_claims` ; * surfacé** (couverture prose ungated), pas d'ajout ce tour pour éviter un gate fragile + hors-cible. **0 chiffre inventé** (#6 · 7 dérivé de MANIFEST/spec), **0 production éditée** (#5), **0 commande VPS** (#8), **aucun `git clean`**. `./run_ci.sh` → **33 PASS · 0 FAIL · 0 SKIP**. + +--- + +## Session 20260805_101214 · FIX RÉEL — la fiche MOBILE présentait `oto_module_mobile_api.py` comme source alors que seul le `.pyc` existe (annotation « (compilé pyc) » perdue vs sa propre source citée) + +**Classe** : `inventory-vs-filesystem-drift` — un claim d'existence d'asset dérive du filesystem VPS réel ; action sanctionnée = **annoter pyc-only selon la convention du doc lui-même** (distincte des claims chat.py/VPS-API qu'on SURFACE sans réécrire → registre D-03/D-04). + +**Défaut réel trouvé.** La table « Modules OTOV7 réels refactorés » de `03_agents/mobile/AGENT.md:76` +cite **explicitement** sa source `AGENTS_EXISTING_ASSETS.md §8`, mais la 1re ligne présentait +`/opt/oto/oto_module_mobile_api.py` comme un module source **sans qualificatif**, alors que : +- **Sa source citée** l'annote `(compilé pyc)` : `AGENTS_EXISTING_ASSETS.md:59` + → `- /opt/oto/oto_module_mobile_api.py (compilé pyc)`. La fiche avait **perdu** l'annotation. +- **Le filesystem confirme** : aucun `.py` à ce chemin ; seul `/opt/oto/__pycache__/oto_module_mobile_api.cpython-310.pyc` + (13 Ko, root, 2026-07-02) existe. Classé **PYC-only** (vs les 4 autres lignes de la table — + `oto_module_mobile_download.py`, `deploy_mobile_rbac.sh`, `seed_mobile_rbac.py`, `oto_mobile.js` — + toutes **SRC présentes**, correctement laissées sans annotation). +- **La convention sœur** confirme le format : `AGENTS_EXISTING_ASSETS.md §9` annote de la même + façon `- /opt/oto/oto_module_plans_ifc.py (compilé pyc)`. + +**Correctif — 1 ligne, 1 fichier.** Ajout de l'annotation `*(compilé pyc)*` à la seule ligne +concernée, alignant la fiche sur (a) sa source citée §8, (b) le filesystem réel, (c) la +convention §9. Les 4 autres lignes (sources réelles) laissées **INTACTES** — pas de sur-annotation. + +**Portée honnête / anti-churn.** **1 fichier** touché (1 fiche) + ce log. **0 gate ajouté** (#5) — +la couverture de ce claim d'existence porte sur un chemin **VPS hors-repo** non vérifiable par un +gate dépôt (#8) ; l'annotation aligne la prose sur la source in-repo `AGENTS_EXISTING_ASSETS.md`, +elle-même correcte. **0 chiffre inventé** (#6). **0 production éditée** (#5), **0 commande VPS** +(#8), **aucun `git clean`**. `./run_ci.sh` → **33 PASS · 0 FAIL · 0 SKIP**. + +**Audits négatifs consignés (deux passes Explore + vérifs manuelles, RAS).** Comptes/tests : +les 15+ « N tests/sections/invariants/rôles » restent synchronisés (ex. `ran=624` recomputé = +650 méthodes − 26 `qa.regression` self-test = 624 ✓ · `24 suites` matrice = 25 module-suites +gate.needs − 1 self-test ✓). Docstrings-vs-code : les 25 générateurs déclarent exactement +leurs sorties/verbes CLI. Citations verbatim & « gaté par X » : échantillon roadmap L29/L38/L46/ +L51/L63/L73 vérifié exact. Seul défaut concret = l'annotation pyc ci-dessus.