Keep HTTP deadlines active through body parsing
A fetch timeout that is cleared when response headers arrive does not bound the operation: response.json(), response.text(), or stream consumption can still stall indefinitely. Keep the same AbortController deadline active through body parsing, and test stalled success and error bodies separately. Classify header timeout and body timeout consistently unless delivery semantics require a distinction. This applies to read-only provider lookups as well as writes; for writes, retain the stronger ambiguous-delivery and cleanup rules.\n\nApplies when: An HTTP adapter promises an end-to-end deadline but parses a remote response body afterward.\nKeywords: fetch AbortController response body JSON timeout stalled stream\n\nEvidence/