[DTP-Worker 20260803_013634] Sprint 5 · fix · Dérive ground-truth Mobile : « Expo 54 en place » corrigé → Expo 51 réel (upgrade 54 abandonné 2026-07-27)

AGENTS_EXISTING_ASSETS.md §8 + fiche 03_agents/mobile affirmaient le runtime
courant « Expo SDK 54 · React 19.1.0 · RN 0.81.5 (upgrade 2026-07) EN PLACE ».
Faux : la directive Michel 85d2fa3 (audit 2026-08-03) + le package.json réel
vérifié disent Expo ~51.0.0 / React 18.2.0 / RN 0.74.5 / expo-router ~3.5.0,
l'upgrade 54 abandonné le 2026-07-27 (le backup native.bak-upgrade54-* est resté
sur ~51). Classe interdite CLAUDE.md « documenter sans vérifier existence
courante » + #6. Corrigé en distinguant runtime ACTUEL (51) vs cible REBUILD S5
(54, roadmap — décision P0 ouverte, non tranchée). Module mobile/app_config
(byte-gaté Expo 54 = cible) + roadmap NON touchés (corrects). Versions ungated
(vérifié : aucun gate ne pinne 0.81.5/19.1.0/18.2.0). Signal roadmap-vs-réel
surfacé à Michel dans le log. run_ci.sh 30 PASS 0 FAIL · zéro module · zéro gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-08-03 01:45:20 +00:00
parent 85d2fa3c54
commit 94e9365cea
3 changed files with 79 additions and 9 deletions
+11 -8
View File
@@ -1,7 +1,7 @@
# 📱 Mobile Agent · app Expo 54 + API mobile ERPNext (score 95+/100)
# 📱 Mobile Agent · app Expo (SDK 51 actuel → rebuild cible 54) + API mobile ERPNext (score 95+/100)
**Rôle** : Cet agent maintient l'**application mobile** OTO (Expo SDK 54 /
React Native) et l'**API mobile** qui l'alimente depuis ERPNext natif. Il
**Rôle** : Cet agent maintient l'**application mobile** OTO (Expo SDK **51**
actuel · cible de **rebuild** SDK 54 · Sprint 5 / React Native) et l'**API mobile** qui l'alimente depuis ERPNext natif. Il
produit les **builds EAS** iOS/Android, pousse les **mises à jour OTA**, et
soumet aux **stores** (App Store · Play Store). Il ne définit pas les rôles ERP
(agent ERPNext Backend) ni le design de la console web (agent Frontend Console) :
@@ -9,8 +9,8 @@ il **livre le binaire mobile** et son **canal API**, toujours branché sur le
**backend ERPNext réel** (contrainte #1), jamais sur un backend inventé.
## Scope
API mobile (`oto_module_mobile_api.py`) + client Expo 54 (React 19.1.0 /
React Native 0.81.5) → **builds EAS iOS/Android** → **submit App Store #32 +
API mobile (`oto_module_mobile_api.py`) + client Expo **51** (React 18.2.0 /
React Native 0.74.5 · runtime actuel vérifié) → **builds EAS iOS/Android** → **submit App Store #32 +
Play Store** → **EAS OTA** pour les correctifs sans re-review store. RBAC mobile
seedé côté ERPNext (`seed_mobile_rbac.py`). Refresh OTA quand l'API ou l'UI
évolue.
@@ -56,7 +56,7 @@ contractualisée, pas inventée :
| `/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`) |
| `/opt/oto/static/oto_mobile.js` | client JS mobile / glue | front embarqué |
| **Expo SDK 54** · React 19.1.0 · React Native 0.81.5 (upgrade 2026-07) | runtime app | base des builds EAS |
| **Expo SDK 51.0.0** · React 18.2.0 · React Native 0.74.5 (runtime **actuel** · upgrade 54 tenté puis abandonné 2026-07-27) | runtime app | base des builds EAS · rebuild cible Expo 54 (S5) |
| **EAS** builds iOS/Android · Apple Dev + Google Play Console | pipeline build/submit | exécution stores (hors repo #8) |
> ⚠️ Chemins **VPS**, non vérifiables depuis ce dépôt. Ils sont cités tels
@@ -70,7 +70,8 @@ la soumission store correspondants n'ont pas réellement eu lieu : c'est la row
repo). L'API mobile parle au **backend ERPNext natif** (`erpnext-backend-1`,
contrainte #1), jamais à un backend fictif. Les numéros de version d'Expo /
React / React Native cités proviennent de `AGENTS_EXISTING_ASSETS.md §8`
(upgrade daté 2026-07) et ne sont pas inventés.
(runtime actuel Expo 51 vérifié `package.json` · l'upgrade Expo 54 y est
documenté comme **abandonné** 2026-07-27) et ne sont pas inventés (#6).
## Non-négociables (voir CLAUDE.md racine pour la liste complète)
- Gitea only (jamais GitHub) — code app poussé sur `michel/oto-enterprise-os-dtp`
@@ -85,7 +86,9 @@ Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`. Volet Mobile : **Sprint 5**
(« Rebuild **Expo 54** + submit **App Store #32** + **Play Store** »). Cible de
sprint mesurable : **apps mobile live sur les 2 stores** (deliverable S5, L58),
gatée par la row d'acceptation QA **S5**. État courant (table roadmap L18) :
modules RBAC + API + Expo 54 en place, builds/submissions ~**50 %**.
modules RBAC + API + Expo **51** en place (cible de rebuild Expo 54 · S5 ·
décision 51→54 ouverte, cf. `DIRECTIVE_MOBILE_STORES_20260803.md` P0),
builds/submissions ~**50 %**.
## Coordination inter-agents
- **ERPNext Backend** : porteur du rôle RBAC `OTO Plateforme Mobile` (perm