L’enveloppe d’erreur
Chaque erreur utilise une forme stable — et ne divulgue jamais d’identifiants de tenant internes ni de texte d’erreur backend :code, pas sur message — les messages peuvent être reformulés ; les codes sont stables.
Identifiants de requête
Chaque réponse porteX-Request-Id. Envoyez le vôtre (1–128 caractères ; premier caractère alphanumérique, puis A-Za-z0-9._:-) pour corréler une requête à travers la bordure Conare et le plan mémoire ; sinon Conare en génère un. Citez-le dans toute demande de support.
Codes de statut
Dégradation plutôt qu’échec
Là où existe un repli moins coûteux, Conare se dégrade plutôt que d’échouer :- Rappel approfondi sur un quota hérité épuisé renvoie
{ answer: null, results: [...], deepUsed: false }— vous obtenez toujours des mémoires brutes classées. - Suggestions n’a pas de repli superficiel significatif, donc l’épuisement est un
402strict (plans à quota hérité :429). - Sortie de modèle mal formée sur les suggestions renvoie
{ suggestions: [], raw: "<text>" }— traitezrawcomme texte de repli affichable.
Jamais facturé
L’ingestion de session,save et la recherche/rappel superficiels ne sont jamais facturés, quel que soit le plan. Les alertes de dépense se déclenchent à 75/90/100 % et le comportement par défaut est un arrêt strict — aucun dépassement inattendu.