diff --git a/ROADMAP.md b/ROADMAP.md index 6ef4bc0..364a8c8 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -83,7 +83,22 @@ que la cause réelle est l'absence de signal. - Renvoyer `truncated: true` explicitement plutôt que de laisser le client se faire rejeter. -### L3.2 — Documentation +### L3.2 — Erreurs d'authentification muettes + +`authenticate()` (`api-service.js`) ré-enveloppe l'erreur axios en +`new Error('Authentication failed: ' + error.message)` : le **corps de la +réponse du STS est perdu**, alors qu'il contient le diagnostic complet. + +Preuve (24/08/2026, profil `AD`) : le smoke test affiche seulement +`Authentication failed: Request failed with status code 400` ; en rejouant la +même requête à la main, le corps était +`{"error":"invalid_request","error_description":"Tenant not found"}` — le +diagnostic exact, invisible depuis les outils comme depuis le smoke test. + +Faire remonter `error.response.data` dans le message, comme L1.1 l'a fait pour +les outils. Même contrainte : ne jamais logguer les credentials. + +### L3.3 — Documentation - DECISIONS.md : **D21** la règle `TableName` (D22, le routage par table explicite, a été livrée avec le lot 1). @@ -242,6 +257,14 @@ plus riche que `/AD/api/Application/GetAll`), `GET /healthcheck?tenantCode=` et ## Points ouverts (hors lots) +- **Profil `AD` : tenant introuvable** (mesuré le 24/08/2026). `npm test -- --all` + échoue 0/4 sur ce profil ; le STS de `10.255.255.2` répond + `400 {"error":"invalid_request","error_description":"Tenant not found"}` pour + le tenant `AD`. L'hôte et le STS fonctionnent (LIMAGRAIN, même hôte, passe + 4/4) : c'est la valeur `AD_TENANT` du `.env` qui ne correspond plus à un + tenant existant. Correction côté propriétaire du dépôt (mettre à jour ou + retirer le profil) — pas un bug du code. Le message opaque du smoke test est + traité à part (L3.2). - **`select_expression`** : les projections via le paramètre `Select` provoquent des erreurs de compilation côté serveur (D13). Irritant principal restant. - **Déploiement SSH sur la VM** : l'exécutable est validé, la configuration SSH