Skip to content

fix(http): retry incomplete completion body transport failures - #215

Merged
n-papaioannou merged 2 commits into
ifixai-ai:mainfrom
rudycelekli:fix/ifix-incomplete-http-body-20261006
Oct 7, 2026
Merged

n-papaioannou merged 2 commits into
ifixai-ai:mainfrom
rudycelekli:fix/ifix-incomplete-http-body-20261006

Conversation

@rudycelekli

Copy link
Copy Markdown
Contributor

What changed

An HTTP connection can close before the declared completion body finishes. aiohttp raises ClientPayloadError in that case; it currently escapes HttpProvider.send_message instead of using the existing connection-error retry contract.

Normalize this payload transport error alongside ClientConnectionError. Existing retry counts, backoff, malformed-complete-JSON response errors and successful completion parsing are retained. The retrieval path already handles ClientError separately.

Native proof and checks

  • Actual owned asyncio HTTP server receives the public provider request, closes the first response halfway through its declared body, and can return a complete valid response on retry. Before3 native cases fail/2 controls pass; after5 pass covering recovery, zero retries, exhaustion, complete malformed JSON without retry and ordinary success.
  • Final native18 focused passes with existing HTTP response-shape/retrieval controls.
  • Signed d0e1eaf: Ruff0.16.9, Bandit, layout and all11 example fixtures pass; Mypy advisory retains1 existing error.
  • Exact official fork Python3.10/3.11/3.12 jobs all success: https://github.com/rudycelekli/iFixAi/actions/runs/37544073558 . Upstream PR checks are observed separately.

This is a native transport/retry test, not evidence of external model efficacy. Current-main7f1f68b and all authored feedback/file overlaps checked before publication. #199 handles HTTP status retries on different lines of this file; #184 handles other native SDK transport classes. No duplicate source change. SSH signature and DCO verified.

AI assistance: Codex helped investigate, implement and test; the complete source and actual native evidence were independently reviewed before publication.

Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com>
@n-papaioannou
n-papaioannou merged commit 3fda779 into ifixai-ai:main Oct 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants