Split from #284 so the timeout policy can be handled independently.
The HTTP server timeout is 30 seconds while the external AI cleanup fetch allows 60 seconds. A valid slow cleanup can therefore be terminated by the outer server before the inner operation reaches its own deadline, producing an empty response.
Acceptance criteria:
- make the outer HTTP timeout longer than the cleanup operation deadline, or derive both from one setting
- document the timeout relationship
- cover the ordering with a focused test
See #284 for the observed timeout layers and reproduction.
Split from #284 so the timeout policy can be handled independently.
The HTTP server timeout is 30 seconds while the external AI cleanup fetch allows 60 seconds. A valid slow cleanup can therefore be terminated by the outer server before the inner operation reaches its own deadline, producing an empty response.
Acceptance criteria:
See #284 for the observed timeout layers and reproduction.