L5.1 : fenetre verbatim sur le blob data de get_workflow_details
La reponse embarquait la definition EasyBuilder complete, au-dela du seuil de
rejet du client MCP (~70 000 caracteres, D24). Deux parametres de fenetre au
schema (D23) : max_data_chars (defaut 20 000) et data_offset (defaut 0). Les
metadonnees du workflow restent completes dans chaque tranche ; seul `data`
est fenetre, et dataTotalChars est porte par toute reponse.
La tranche est verbatim -- decoupe de chaine, rien d'autre. Ne jamais resumer
ni parser ce blob : la concatenation des tranches doit reconstituer la
definition a l'octet pres. Verifie : 20 000 + 20 000 + 20 000 + 11 512 =
71 512, concatenation identique au blob d'origine (premiers et derniers
caracteres compris).
Mesures avant/apres (protocole, LIMAGRAIN, longueur de content[0].text) :
StackerCrane_LocationIsAccessibleByExtractor_PR 79 092 -> 23 117
(blob data : 71 512, desormais annonce par dataTotalChars)
CST_SendRejectContainersToPK (CustomApp) 101 816 -> 23 023
(blob data : 92 362)
StackerCrane_LoadMovementForOutboundTask_PR 10 587 -> 10 652
(blob de 9 013 : sous le defaut, objet workflow identique a l'octet pres,
ni truncated ni hint -- les +65 caracteres sont les trois champs de
fenetre, contrat "total toujours porte" de D24)
Gardes de valeur dans le code de l'outil, pas dans le wrapper (D23 ne valide
que les noms) : data_offset: -5 et max_data_chars: 1.5 echouent avant tout
appel reseau avec un message nommant l'attendu.
Baseline preservee : 23 outils, 6 resources.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -190,6 +190,22 @@ ne les augmentez pas à l'aveugle.
|
||||
|
||||
---
|
||||
|
||||
## Sorties bornées (D24)
|
||||
|
||||
Une réponse d'outil de plus de ~70 000 caractères est **rejetée par le client
|
||||
MCP**. Les outils qui peuvent dépasser ce seuil bornent et **signalent** :
|
||||
`truncated: true` (jamais `false`), `hint` actionnable, `returned`, et le total
|
||||
avant la coupe. Réutilisez ce vocabulaire, n'en inventez pas un second.
|
||||
|
||||
**`get_workflow_details` fenêtre le blob `data`** (la définition EasyBuilder :
|
||||
71 512 caractères sur un StackerCrane, 92 362 sur un gros `CST_*`) :
|
||||
`max_data_chars` (défaut 20 000) et `data_offset` (défaut 0). Les métadonnées
|
||||
restent complètes, `dataTotalChars` est porté par toute réponse, et la tranche
|
||||
est **verbatim** — concaténer les tranches dans l'ordre des offsets reconstitue
|
||||
la définition à l'octet près. Ne la résumez pas, ne la « parsez » pas.
|
||||
|
||||
---
|
||||
|
||||
## Écrire une requête WMS
|
||||
|
||||
```js
|
||||
|
||||
Reference in New Issue
Block a user