bump the commons dependency pin to v0.2.1 (retry attempts-floor fix). no code change;
the aretry migration is unaffected.
verified: 18/18 migration harness passes against commons 0.2.1.
Signed-off-by: disqualifier <dev@disqualifier.me>
- #7: request_with_retries routed only dicts to json=, so a valid JSON list body
was form-encoded via data=. add _route_body so dict OR list -> json=.
- #6: when every attempt returned a retryable status, the loop discarded the real
response and returned a synthetic FailureResponse (status 0). now the real last
4xx/5xx Response is returned on exhaustion (only a pure-exception failure yields
FailureResponse).
- migrate the retry/backoff loop onto commons.aretry (>=0.2.0); backoff schedule
unchanged (1,2,... = backoff_base**n), jitter off to match prior behavior.
verified by execution: list->json routing, exhausted 503 returns real 503 + body
with correct backoff, success/404 immediate, exception->falsy FailureResponse.
Signed-off-by: disqualifier <dev@disqualifier.me>