Status: done
Preserve the original provider failure, cancellation, or generator-close signal when cleanup of the wrapped provider iterator also fails.
TimingChatClient.stream_chat() awaits iterator.aclose() in finally. If a provider exception or CancelledError is already propagating and aclose() raises another exception, the cleanup exception replaces the original. This can hide the real provider failure and convert cancellation into a normal runtime error instead of preserving interruption semantics.
aclose() failure when no other exception is active.src/agent_lab/application/benchmark.pytests/test_benchmark_runner.pyuv run pytest tests/test_benchmark_runner.py -quv run pytest tests/test_benchmark_runner.py tests/test_benchmark_reporting.py -quv run pytestgit diff --check