From 7621b87c49f6a7c7201abe6e816a27c606100871 Mon Sep 17 00:00:00 2001 From: Arthur Ria Date: Mon, 24 Aug 2026 15:45:52 +0200 Subject: [PATCH] =?UTF-8?q?Roadmap=20:=20ajoute=20le=20lot=204=20(mod?= =?UTF-8?q?=C3=A8le=20de=20donn=C3=A9es=20et=20applications)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deux angles morts mesurés sur le tenant LIMAGRAI2512. L4.1 — QueryType est figé à 0 (Reading) en dur dans api-service.js : le modèle Writing est inatteignable. Ce n'est pas une limite de l'API, QueryType 1 répond correctement sur Context.Products — il manque le paramètre. D3 reste vrai en revanche : en Writing les statuts sont des énumérations, donc le défaut doit rester 0. L4.2 — Application vient de WMS_APPLICATION, partagé par tous les profils, sans surcharge possible. Le MCP n'interroge que EasyWMS alors que /AD/api/Application/GetAll en déclare 9. CustomApp porte le spécifique client (153 workflows, 54 queries, 11 entités préfixés CST_) et est entièrement invisible ; avec AGV, Notifications, GalileoFaults et Common, ce sont 260 workflows hors périmètre. Côté API AD le correctif est simple, l'application n'étant qu'un champ du payload — vérifié, ["CustomApp", tenant, 5, 0] renvoie bien les workflows CST_. Il faudra en revanche indexer les caches par application. Côté QueryExecute c'est non résolu : passer Application "CustomApp" ne change pas le contexte de lecture, les entités CST_ ne répondent ni au singulier ni au pluriel et aucune n'apparaît dans les 232 entités du Metadata EasyWMS. Elles sont définies dans EasyBuilder (FromMetadata: false). Consigné comme question ouverte, sans solution promise. Co-Authored-By: Claude Opus 5 --- ROADMAP.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index a68d3cd..29c51a0 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -151,6 +151,68 @@ que la cause réelle est l'absence de signal. --- +## Lot 4 — Modèle de données et applications + +Deux angles morts constatés le 24/08/2026, plus larges que les lots 1 à 3. Les +chiffres ci-dessous sont mesurés sur le tenant `LIMAGRAI2512`. + +### L4.1 — Le modèle Writing est inatteignable + +`QueryType` est figé à `0` (Reading) en dur dans `api-service.js` +(`executeQuery` et `executeScalarQuery`). Aucun outil ne permet d'interroger le +modèle **Writing**. + +Ce n'est pas une limite de l'API : `{"Application":"EasyWMS","QueryType":1, +"Expression":"Context.Products.OrderBy(z => z.Id)","Take":1}` répond +correctement. Il manque simplement le paramètre. + +Attention en l'exposant : D3 reste vrai — en `QueryType: 1` les champs de statut +sont des **énumérations**, donc les comparaisons par chaîne (`== "Release"`) +échouent. Le défaut doit rester `0`, et la bascule être un choix explicite et +documenté, pas une option qu'on active au hasard. + +### L4.2 — Une seule application sur neuf est visible + +`Application` vient de `WMS_APPLICATION` dans `.env`, **partagé par tous les +profils**, sans surcharge par appel ni paramètre d'outil. Le MCP n'interroge donc +jamais que `EasyWMS`. + +`POST /AD/api/Application/GetAll` en déclare **9** : + +| Application | Workflows | Queries | Entities | +|---|---:|---:|---:| +| EasyWMS | 4012 | 2239 | 338 | +| **CustomApp** | **153** | **54** | **11** | +| AGV | 71 | 14 | 5 | +| Notifications | 26 | 35 | 24 | +| GalileoFaults | 9 | 20 | 24 | +| Common | 1 | 7 | 25 | +| SmartUI, User, WarehouseWebDesigner | 0 | 0–8 | 0 | + +**CustomApp porte le spécifique client** — ses workflows sont préfixés `CST_` +(`CST_SendRejectContainersToPK`, `CST_Task`, `CST_Container`…). C'est +précisément ce qu'on cherche en debug, et c'est aujourd'hui invisible. Au total +**260 workflows et ~130 queries** hors périmètre. + +Deux chantiers de difficulté très différentes : + +**API AD — simple.** L'application est un champ du payload +(`[application, tenant, pageSize, offset]`). Vérifié : `["CustomApp", tenant, +5, 0]` sur `/Workflow/GetByApplication` renvoie bien les workflows `CST_`. Il +suffit d'un paramètre `application` sur les outils AD et workflow, avec une clé +de cache incluant l'application (sinon un cache pollué mélange les +applications). + +**QueryExecute — non résolu, à investiguer.** Passer `Application: "CustomApp"` +ne change **pas** le contexte de lecture : l'erreur reste +`ApplicationReadingContext ne contient pas de définition pour …`. Les 11 entités +`CST_` ne sont atteignables ni au singulier ni au pluriel, et **aucune** n'est +présente dans les 232 entités du Metadata `EasyWMS` (vérifié). Elles sont +définies dans EasyBuilder (`FromMetadata: false`) — reste à déterminer si elles +sont interrogeables, et sous quel nom. Ne rien promettre avant d'avoir tranché. + +--- + ## Écarté | Proposition | Raison |