@tdd_issue @tdd_issue_988 Feature: TDD Issue #988 — ReactiveEventBus.emit() swallows exception details As a developer debugging a subscriber failure I want the exception handler in ReactiveEventBus.emit() to log the full exception message and traceback So that I can diagnose why a subscriber failed without guessing This test captures bug #988. The exception handler in ReactiveEventBus.emit() currently logs only `type(exc).__name__` (e.g. "ValueError") without `str(exc)` or `exc_info=True`. When a subscriber raises, the log contains no diagnostic detail — no message, no traceback, no clue about which input or state caused the failure. The traceback scenario uses `@tdd_expected_fail` because that assertion still FAILS while the bug exists. The tag inversion mechanism causes CI to report that scenario as passed. Once the fix for #988 is merged, the `@tdd_expected_fail` tag must be removed so both scenarios run normally. See CONTRIBUTING.md > Bug Fix Workflow > TDD Issue Test Tags. @tdd_issue @tdd_issue_4367 Scenario: Bug #988 — emit() logs exception message when handler raises Given a ReactiveEventBus with a handler that raises a ValueError When I emit an event that triggers the failing handler Then the warning log should contain the exception message text Scenario: Bug #988 — emit() logs traceback via exc_info when handler raises Given a ReactiveEventBus with a handler that raises a ValueError When I emit an event that triggers the failing handler Then the warning log should contain traceback information