[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:
@@ -1,5 +1,72 @@
|
||||
# Activity Log · 2026-08-03 · Claude Code DTP Worker
|
||||
|
||||
## Session 013634 · Dérive ground-truth réelle : app mobile documentée « Expo 54 en place » alors que le runtime réel est **Expo 51** (upgrade 54 abandonné) — corrigée (#6)
|
||||
|
||||
**Contexte.** `./run_ci.sh` au démarrage : **30 PASS · 0 FAIL · 0 SKIP**, arbre propre.
|
||||
La directive la plus récente (commit `85d2fa3`, aujourd'hui) —
|
||||
`DIRECTIVE_MOBILE_STORES_20260803.md` — porte le Sprint 5 Mobile. J'ai cherché la
|
||||
prochaine tâche prioritaire **non-complétée** qui soit **dans le périmètre worker**.
|
||||
|
||||
**Périmètre : l'essentiel de la directive Mobile est bloqué / hors-repo (#8).** Le
|
||||
module de config mobile in-repo (`05_deliverables_mvp/mobile/app_config/`) est
|
||||
**complet et vert** (schéma + 12 invariants · Expo SDK 54 = **cible de rebuild**
|
||||
correctement ancrée à la roadmap S5). Les actions P1 (`mobile-build.yml` EAS), P2-P5
|
||||
(features / assets binaires / submit stores) visent l'app réelle
|
||||
`/opt/oto/mobile/native/` (**hors de ce dépôt**) et sont **bloquées** sur
|
||||
EAS_TOKEN + credentials Apple/Google (attendus de Michel). Rien à construire ici.
|
||||
|
||||
**Défaut RÉEL trouvé (investigation read-only, aucune commande VPS).** La directive
|
||||
elle-même (§« État actuel · audit 2026-08-03 ») déclare le runtime **Expo SDK 51.0.0**,
|
||||
l'upgrade Expo 54 **abandonné le 2026-07-27**. Vérification indépendante du
|
||||
`package.json` réel : `expo ~51.0.0` · `react 18.2.0` · `react-native 0.74.5` ·
|
||||
`expo-router ~3.5.0` — et **même le backup `native.bak-upgrade54-*` est resté sur ~51**
|
||||
(le bump 54 n'a jamais atterri). Or l'inventaire d'actifs
|
||||
`AGENTS_EXISTING_ASSETS.md §8:63` affirmait « **Expo SDK 54 + React 19.1.0 + React
|
||||
Native 0.81.5 (upgrade 2026-07)** » comme runtime **en place**, et la fiche
|
||||
`03_agents/mobile/AGENT.md` recopiait ces versions (« Expo 54 en place »). C'est
|
||||
**exactement la classe interdite** par CLAUDE.md (« Documenter code sans vérifier
|
||||
existence courante ») + **#6** (« zéro invention · toujours vérifier sources ») :
|
||||
un actif documenté comme existant qui ne correspond pas à l'existence réelle. Un
|
||||
agent Mobile s'y fiant construirait sur une prémisse fausse (Expo 54 déjà en place).
|
||||
|
||||
**Correctif — chirurgical, sourcé, distinguant ACTUEL vs CIBLE-REBUILD.**
|
||||
1. `AGENTS_EXISTING_ASSETS.md §8:63` : runtime **actuel** corrigé en Expo 51.0.0 /
|
||||
React 18.2.0 / RN 0.74.5 / expo-router ~3.5.0 (vérifié `package.json`), avec note
|
||||
« upgrade 54 abandonné 2026-07-27 · cible rebuild = 54 (roadmap S5) ».
|
||||
2. `03_agents/mobile/AGENT.md` : 5 mentions de runtime-courant « Expo 54 / React
|
||||
19.1.0 / RN 0.81.5 » corrigées en Expo 51 réel, **en préservant** la cible de
|
||||
rebuild Sprint 5 = Expo 54 (titre, rôle, scope, table modules, état courant).
|
||||
|
||||
**Ce que je n'ai PAS touché (délibérément).** (a) La roadmap S5 « **Rebuild Expo 54** »
|
||||
= la **cible** du rebuild, décision de Michel (directive P0 : « décision upgrade
|
||||
51→54 » explicitement ouverte) — je ne tranche pas. (b) Le module `mobile/app_config`
|
||||
(`expo_sdk_major: 54`) = la config **écrite pour ce rebuild-cible**, byte-gatée et
|
||||
ancrée à la roadmap par `check_readme_claims.sh:7739` (artefact⇔MANIFEST⇔spec⇔roadmap⇔
|
||||
README, gate (d) rejette tout « Expo N≠54 » dans son README) — **correcte telle
|
||||
quelle**, non touchée. La distinction clé : **runtime ACTUEL (51)** ≠ **cible de
|
||||
rebuild S5 (54)** ; l'inventaire d'actifs doit dire le réel, le module de config dit
|
||||
la cible. Aucune contradiction — ils décrivent deux choses différentes.
|
||||
|
||||
**⚠️ SIGNAL À MICHEL (décision P0, non tranchée par moi).** La roadmap prescrit
|
||||
« Rebuild Expo 54 » mais le runtime réel est Expo 51 et l'upgrade 54 a été abandonné
|
||||
2026-07-27 sans atterrir (backup inclus). La directive P0 demande justement cette
|
||||
décision (reprendre 54, ou rester sur 51 LTS). Tant que la roadmap n'est pas mise à
|
||||
jour par Michel, le module de config reste — correctement — la cible 54. Signal
|
||||
documenté ici (canal ungated), pas masqué, pas tranché unilatéralement.
|
||||
|
||||
**Sûreté (vérifiée AVANT édition).** Les littéraux de version `0.81.5`/`19.1.0`/
|
||||
`18.2.0`/`0.74` n'apparaissent dans **aucun** gate (grep) ; `check_readme_claims.sh`
|
||||
ne pinne ces fichiers que sur (l.239) un **compte d'agents** et (l.8071) l'**IP VPS +
|
||||
noms Docker** — jamais la version Expo ; le gate Expo-SDK (l.7739) ne scanne que
|
||||
`mobile/app_config/README.md`. Les mentions corrigées étaient donc **ungated** →
|
||||
édition sûre, zéro gate affaibli.
|
||||
|
||||
**Vérifications.** `./run_ci.sh` → **30 PASS · 0 FAIL · 0 SKIP** (inchangé). `git
|
||||
status` = 2 fichiers (`AGENTS_EXISTING_ASSETS.md` + `03_agents/mobile/AGENT.md`).
|
||||
**Zéro nouveau module · zéro gate ajouté (#5) · aucune logique de prod ni de gate
|
||||
touchée** — pure correction de dérive ground-truth sourcée. Aucune commande touchant
|
||||
au VPS (#8) · aucun `git clean` <!-- ci-allow : mention de l'interdit absolu, jamais exécuté -->.
|
||||
|
||||
## Session 010630 · Gate `constraints-guard` RED réparé (mandat signé Michel l.35) + contradiction inter-mandats signalée
|
||||
|
||||
**Contexte.** `./run_ci.sh` au démarrage : **29 PASS · 1 FAIL** — régression NEUVE du
|
||||
|
||||
Reference in New Issue
Block a user