The pre-first-token window used the env stale base, so an explicit per-provider stale timeout was ignored (900 configured, window capped at 180). It now goes through the main loop's _cloud_stale_timeout_for with the attempt's routed provider, so the explicit setting wins exactly as it does for the main loop.