Passation lot 5 : clore la famille D24 (fenêtre workflow, garde requêtes, champ tool)
Deux mesures nouvelles du 25/08/2026 aggravent le dossier : une requête Reading ordinaire query_wms_entities(Products, limit 200) pèse 957 234 caractères et search_wms_data(PAL) 847 543 — le dépassement du seuil de rejet client (~70 000, D24) ne se limite donc pas au Writing ni aux workflows. Les points ouverts correspondants deviennent un lot 5 planifié dans la ROADMAP (L5.1 fenêtre verbatim sur le blob data, L5.2 garde de taille commune aux trois outils de requête avec le cas limite d'une ligne seule au-dessus du plafond, L5.3 balayage du champ tool). Pas de nouveau numéro de décision : le lot étend D24. D27 réservable si besoin. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+35
-20
@@ -84,6 +84,41 @@ plus riche que `/AD/api/Application/GetAll`), `GET /healthcheck?tenantCode=` et
|
||||
|
||||
---
|
||||
|
||||
## Lot 5 — Clore la famille D24 (rejets client sur sorties volumineuses)
|
||||
|
||||
Mesures du 25/08/2026 (protocole, LIMAGRAIN), toutes au-dessus du seuil de
|
||||
rejet client (~70 000 caractères, D24) :
|
||||
|
||||
| Appel | Taille |
|
||||
|---|---:|
|
||||
| `query_wms_entities("Products", limit: 200)` — Reading ordinaire | **957 234** |
|
||||
| `search_wms_data("PAL")` | **847 543** |
|
||||
| `get_workflow_details(CST_SendRejectContainersToPK)` | ~101 800 |
|
||||
| `call_query_api("Products", query_type: 1, limit: 1)` — **une seule ligne** Writing | **95 288** |
|
||||
|
||||
### L5.1 — Paginer le blob `data` de `get_workflow_details`
|
||||
|
||||
La définition complète d'un workflow dépasse le seuil (~101 800 pour
|
||||
`CST_SendRejectContainersToPK`, 79 092 pour un `StackerCrane_…` EasyWMS).
|
||||
Découper le blob `data` en tranches verbatim (paramètres de fenêtre au schéma),
|
||||
signalées D24 — sans jamais résumer ni reformuler le contenu.
|
||||
|
||||
### L5.2 — Garde de taille sur les outils de requête
|
||||
|
||||
Une ligne Writing = un agrégat complet sérialisé (95 288 caractères là où la
|
||||
même ligne Reading en fait ~4 500) ; 200 lignes Reading = ~957 000 ; `search_wms_data`
|
||||
= ~848 000. Garde de taille commune sur `query_wms_entities`, `call_query_api`
|
||||
et `search_wms_data` : lignes entières écartées, `truncated`/`returned`/`omitted`/`hint`
|
||||
(D24). Ne pas réduire `MAX_QUERY_ROWS` ni les limites par défaut.
|
||||
|
||||
### L5.3 — Champ `tool` absent des erreurs construites localement
|
||||
|
||||
Les `catch` locaux d'`api-tools.js` renvoient `{ success: false, error }` sans
|
||||
le champ `tool` du contrat (convention 3) — antérieur au lot 4. Balayer tous
|
||||
les modules d'outils pour le même motif.
|
||||
|
||||
---
|
||||
|
||||
## Écarté
|
||||
|
||||
| Proposition | Raison |
|
||||
@@ -118,26 +153,6 @@ plus riche que `/AD/api/Application/GetAll`), `GET /healthcheck?tenantCode=` et
|
||||
début de chaque appel).
|
||||
- **`select_expression`** : les projections via le paramètre `Select` provoquent
|
||||
des erreurs de compilation côté serveur (D13). Irritant principal restant.
|
||||
- **`get_workflow_details` peut dépasser le seuil de rejet client** (constaté
|
||||
le 25/08/2026, livraison du lot 4). La définition complète de
|
||||
`CST_SendRejectContainersToPK` (application `CustomApp`) fait ~101 800
|
||||
caractères via le protocole — au-delà du seuil de rejet mesuré en D24
|
||||
(~70 000). Comportement antérieur au lot 4 (les grosses définitions
|
||||
`EasyWMS` sont dans le même cas) : à borner et signaler (`truncated`/`hint`,
|
||||
D24) dans un lot futur.
|
||||
- **Une ligne Writing est énorme** (mesuré le 25/08/2026, révision du lot 4).
|
||||
`call_query_api("Products", query_type: 1, limit: 1)` → **95 288 caractères
|
||||
pour une seule ligne** : le modèle Writing sérialise l'agrégat complet
|
||||
(navigations, `$id`…), là où la même ligne en Reading pèse ~4 500 caractères.
|
||||
Au-delà du seuil de rejet client (~70 000, D24) dès `limit: 1`. À traiter
|
||||
avec le point `get_workflow_details` ci-dessus : même famille D24 (borner et
|
||||
signaler), et l'avertissement mérite d'apparaître dans la description du
|
||||
paramètre `query_type`.
|
||||
- **Champ `tool` absent des erreurs construites localement** (constaté le
|
||||
25/08/2026). Les `catch` locaux d'`api-tools.js` renvoient
|
||||
`{ success: false, error }` sans le champ `tool` du contrat (convention 3) —
|
||||
motif antérieur au lot 4. Cosmétique : soit laisser l'erreur remonter au
|
||||
wrapper (qui ajoute `tool`), soit l'ajouter aux enveloppes locales.
|
||||
- **Déploiement SSH sur la VM** : l'exécutable est validé, la configuration SSH
|
||||
reste à faire.
|
||||
- **Historique des shipment templates** : hors de portée, les logs concernés
|
||||
|
||||
Reference in New Issue
Block a user