Partie de l'épic #6. Bloqué par #1.
|
|
| 🧮 Position dans la pile |
03 |
| 🌿 Branche attendue |
epic-6/03-erreurs-connexion |
| 📦 Profil |
tracer bullet |
🎯 À construire
Les échecs au niveau réseau — connexion refusée, échec DNS, timeout de connexion/lecture/écriture, connexion réinitialisée, flux coupé — cessent d'être levés bruts : ils sont encapsulés dans une nouvelle Typesafe::ConnectionError, sous-classe de APIError marquée retentable. Une coupure brève est donc absorbée par la boucle de retentative du ticket 01 ; à épuisement, la ConnectionError est levée avec l'exception d'origine conservée en cause. L'appelant garde un unique rescue Typesafe::Error pour tous les échecs.
✅ Critères d'acceptation
🔗 Bloqué par
- #1 — la boucle de retentative doit exister pour rejouer un échec réseau
🚧 Ce que ce ticket ne fait pas
- La liste exhaustive des exceptions enveloppées est un choix d'implémentation, à arrêter en codant (délibérément non tranché en affinage)
📚 Références
Partie de l'épic #6. Bloqué par #1.
03epic-6/03-erreurs-connexion🎯 À construire
Les échecs au niveau réseau — connexion refusée, échec DNS, timeout de connexion/lecture/écriture, connexion réinitialisée, flux coupé — cessent d'être levés bruts : ils sont encapsulés dans une nouvelle
Typesafe::ConnectionError, sous-classe deAPIErrormarquée retentable. Une coupure brève est donc absorbée par la boucle de retentative du ticket 01 ; à épuisement, laConnectionErrorest levée avec l'exception d'origine conservée en cause. L'appelant garde un uniquerescue Typesafe::Errorpour tous les échecs.✅ Critères d'acceptation
Typesafe::ConnectionErrorest levée, sous-classe deAPIError, avec l'exception d'origine en causeNet::HTTP,SocketError, timeouts) ne s'échappe plus deClient#evaluateConnectionErrorest traitée comme retentable : elle suit exactement la même politique de délai que 429/529/5xx🔗 Bloqué par
🚧 Ce que ce ticket ne fait pas
📚 Références
docs/plans/retry-client/spec.md—## Décisions d'implémentation,## Décisions de testLEXIQUE.md· ADR :docs/adr/0001-retentatives-automatiques-par-defaut.md