bfe423ddf8
Issue #8: a single request that burns its full timeout_s also exhausts stall_window_s, so the retry budget silently never applies. Root cause is that both budgets charge the same wall-clock time. The design makes the two budgets orthogonal — real attempts bill the retry budget, everything else bills the stall budget — which drops the timeout_s / stall_window_s coupling instead of guarding it with an assembly-time check.