docs(README): documente les retentatives automatiques (1.1.0) - #18
Open
arsenik-dtheo[bot] wants to merge 1 commit into
Open
arsenik-dtheo[bot] wants to merge 1 commit into
arsenik-dtheo[bot] wants to merge 1 commit into
Conversation
Le README décrit maintenant la politique de retry livrée par l'épic : erreurs retentées (429, 529, 5xx et erreurs de connexion encapsulées dans Typesafe::ConnectionError), défauts (2 retries / 0,5 s / 8,0 s), Retry-After honoré, backoff exponentiel à jitter, rejeu à l'identique, retries silencieux, et réglage/désactivation via retry_options: (max_retries / base_delay / max_delay, validation stricte à la construction, héritage par Typesafe::Jev). L'ancien exemple de retry manuel des erreurs retentables, contredit par le comportement automatique, est remplacé par un exemple rescue exact (ConnectionError#cause, APIError#status/#request_id/#body). CHANGELOG : la section Unreleased devient l'entrée 1.1.0, augmentée de la section Documentation. Version bumpée 1.0.0 -> 1.1.0 (bump unique de l'épic, porté par son PR final), spec de contrat de version synchronisée, lockfile resynchronisé.
arsenik-dtheo
Bot
force-pushed
the
epic-6/05-documentation-version
branch
from
September 21, 2026 06:12
7fe861c to
3d32860
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #12
Partie de l'épic #6
🔍 Ce que fait cette PR
L'épic devient démontrable de bout en bout et documenté : le README décrit les retentatives automatiques (périmètre 429/529/5xx et erreurs réseau via
ConnectionError, défauts 2 / 0,5 s / 8,0 s,Retry-Afterhonoré, backoff exponentiel à jitter, rejeu à l'identique, retries silencieux), la section Configuration pointe vers les nouvellesretry_options:(avec l'exemplemax_retries: 0et la validation stricteArgumentError), et l'ancien exemple de retry manuel — contredit par le comportement automatique livré par cet épic — est remplacé par unrescueexact. La table des erreurs s'enrichit deConnectionError(#cause). Le CHANGELOG enregistre 1.1.0 et la version du gem est bumpée — bump unique de l'épic, porté par cette PR finale.✅ Critères couverts
ConnectionError, défauts (2 / 0,5 / 8,0), exempleretry_options:incluantmax_retries: 0→ nouvelle section## Retries+ table Errors ; exemples vérifiés par exécution contre le gem (valeurs attendues,ArgumentErrornommant la clé, mutation du Hash passé sans effet)## [1.1.0]VERSION = "1.1.0"(+ spec de contrat de version)Jev) → chaque affirmation relue contrenormalize_retry_options/validate_max_retries!/validate_delay!/Jev#initialize👀 Comment vérifier
README.mdsection## Retries: un lecteur peut écrire le code de la spec sans lire le restebundle exec rspec— 268 exemples verts (aucun comportement nouveau : uniquement doc et version)🧪 Vérifications
spec/typesafe_spec.rb(mécanisme du bump) — cf.## Décisions de testde la specruby -csur les.rbtouchés)Signalements
[NIT]de la revue (cycle 1, verdict APPROVED), non bloquants, non corrigés ici :Retry-Afterest plafonné à 8 s — il ne l'est pas (max_delayne borne pas l'en-tête), etRetry-After: 0est ignoré ; une phrase lèverait l'ambiguïtéNETWORK_ERRORS(TLS, flux tronqué, hôte inaccessible)### Documentationhors types Keep a ChangelogAPIError(lib) contient encore l'ancien exemple de retry manuel — commentaire de lib, au-delà du périmètre README/CHANGELOG📚 Références
docs/plans/retry-client/spec.mdepic-6/04-retry-options←epic-6/05-documentation-version