tasker is a durable http task queue service

Retry container startup resets in smoke checks #2

Merged kenneth.nym.sh
targeting main from t3/fix-spindle-smoke-reset
Merged opened by and assigned to kenneth.nym.sh
targeting main from t3/fix-spindle-smoke-reset

The container smoke check can hit Docker's published port before Tasker starts listening. On Spindle this returns curl error 56 (connection reset), which the previous connection-refused retry setting did not handle.

Retry startup errors with the existing retry count and a 60-second retry budget. Write metrics through curl's output option so failed partial responses are discarded before retrying. Add regression tests using real curl against a local HTTP server that resets a connection or truncates a response.

Validation: reproduced the original failure in Spindle's debug VM and confirmed the fixed smoke check passes there. Local Docker smoke check and all 19 Python tests passed. The two regression tests failed before the fix.

Commits 0