Squash of two overlapping fixes that both addressed ASV benchmark-regression
CI failures due to missing S3 baseline data:> 1. Make the job skip when no S3 baseline exists (e0239ef)
> 2. Add baseline check logic with .benchmark-baseline file (2d628bd)> Combined approach detects S3 availability, creates baseline marker file,
and gracefully skips regression when no baselines are available rather than
failing. Also updates ASV config and noxfile to support this resilience
ISSUES CLOSED: #10378
The exc_info=True parameter was accidentally removed from the
event_handler_failed logging block during a previous formatting cleanup.
This restores it to include full exception tracebacks in warning logs,
which is required by existing integration tests.
Refs: #10378
Add _closed flag and close() method to ReactiveEventBus to complete the
RxPY Subject, preventing subscriber resource leaks. close() is idempotent
and raises RuntimeError when called on a closed bus.
Also adds:
- emit() guard against post-close calls (RuntimeError)
- __enter__/__exit__ context manager protocol for automatic cleanup
- BDD scenarios in event_bus.feature and TDD tests in
tdd_reactive_event_bus_close.feature
ISSUES CLOSED: #10378