TDD: [Bug Hunt][Cycle 2][Reactive] Error Swallowing in A2A Event Callback Execution #7115

Open
opened 2026-04-10 07:53:32 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Branch: tdd/m3-a2a-event-callback-error-swallowing
  • Commit Message: test(a2a): capture error-swallowing bug in A2aEventQueue.publish() callback loop
  • Milestone: (none — backlog)
  • Parent Epic: #7052

Purpose

This is the TDD issue-capture test for bug #7114 — error swallowing in
A2aEventQueue.publish() callback execution.

Per the Bug Fix Workflow,
a test that proves the bug exists must be merged to master before the fix is
implemented. The test uses @tdd_expected_fail so it passes CI while the bug is unfixed.

Deliverable

A single Behave scenario tagged @tdd_issue @tdd_issue_7114 @tdd_expected_fail that
demonstrates the current (broken) behaviour: an exception raised by an event callback is
silently swallowed by A2aEventQueue.publish() and the caller receives no indication of
the failure.

Example scenario structure

@tdd_issue @tdd_issue_7114 @tdd_expected_fail
Scenario: Bug #7114 - A2aEventQueue.publish() swallows exceptions from event callbacks
  Given an A2aEventQueue with a subscriber that raises RuntimeError
  When an event is published to the queue
  Then the RuntimeError should propagate to the caller of publish()

Tag Validation Rules (from CONTRIBUTING.md)

Tag Required Lifecycle
@tdd_issue Yes Permanent — never removed
@tdd_issue_7114 Yes Permanent — never removed
@tdd_expected_fail Yes (for now) Removed by bug-fix developer when fix is implemented

Subtasks

  • Identify or create the appropriate Behave feature file under features/
  • Write the scenario with all three required tags
  • Implement step definitions (reuse existing steps where possible)
  • Verify the test fails without the fix (proving the bug exists)
  • Verify the test passes CI with @tdd_expected_fail present (inverted result)
  • Open a PR to master from tdd/m3-a2a-event-callback-error-swallowing

Definition of Done

  • Scenario tagged @tdd_issue @tdd_issue_7114 @tdd_expected_fail exists in features/
  • The scenario assertion fails when run against the current (unfixed) code
  • nox -s unit_tests passes (due to @tdd_expected_fail inversion)
  • PR merged to master
  • Bug issue #7114 updated to depend on this TDD issue

Backlog note: This issue was discovered during autonomous operation
on milestone v3.2.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.


Automated by CleverAgents Bot
Supervisor: Acting on behalf of: Bug Hunt | Agent: new-issue-creator

## Metadata - **Branch**: `tdd/m3-a2a-event-callback-error-swallowing` - **Commit Message**: `test(a2a): capture error-swallowing bug in A2aEventQueue.publish() callback loop` - **Milestone**: *(none — backlog)* - **Parent Epic**: #7052 ## Purpose This is the TDD issue-capture test for bug **#7114** — error swallowing in `A2aEventQueue.publish()` callback execution. Per the [Bug Fix Workflow](https://git.cleverthis.com/cleveragents/cleveragents-core/src/branch/master/CONTRIBUTING.md#bug-fix-workflow), a test that **proves the bug exists** must be merged to `master` before the fix is implemented. The test uses `@tdd_expected_fail` so it passes CI while the bug is unfixed. ## Deliverable A single Behave scenario tagged `@tdd_issue @tdd_issue_7114 @tdd_expected_fail` that demonstrates the current (broken) behaviour: an exception raised by an event callback is silently swallowed by `A2aEventQueue.publish()` and the caller receives no indication of the failure. ### Example scenario structure ```gherkin @tdd_issue @tdd_issue_7114 @tdd_expected_fail Scenario: Bug #7114 - A2aEventQueue.publish() swallows exceptions from event callbacks Given an A2aEventQueue with a subscriber that raises RuntimeError When an event is published to the queue Then the RuntimeError should propagate to the caller of publish() ``` ## Tag Validation Rules (from CONTRIBUTING.md) | Tag | Required | Lifecycle | |-----|----------|-----------| | `@tdd_issue` | ✅ Yes | Permanent — never removed | | `@tdd_issue_7114` | ✅ Yes | Permanent — never removed | | `@tdd_expected_fail` | ✅ Yes (for now) | Removed by bug-fix developer when fix is implemented | ## Subtasks - [ ] Identify or create the appropriate Behave feature file under `features/` - [ ] Write the scenario with all three required tags - [ ] Implement step definitions (reuse existing steps where possible) - [ ] Verify the test **fails** without the fix (proving the bug exists) - [ ] Verify the test **passes** CI with `@tdd_expected_fail` present (inverted result) - [ ] Open a PR to `master` from `tdd/m3-a2a-event-callback-error-swallowing` ## Definition of Done - [ ] Scenario tagged `@tdd_issue @tdd_issue_7114 @tdd_expected_fail` exists in `features/` - [ ] The scenario assertion fails when run against the current (unfixed) code - [ ] `nox -s unit_tests` passes (due to `@tdd_expected_fail` inversion) - [ ] PR merged to `master` - [ ] Bug issue #7114 updated to depend on this TDD issue > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.2.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **Automated by CleverAgents Bot** Supervisor: Acting on behalf of: Bug Hunt | Agent: new-issue-creator
Author
Owner

Verified — TDD test for critical bug: A2A event callback error swallowing. MoSCoW: Must-have. Priority: Critical.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — TDD test for critical bug: A2A event callback error swallowing. MoSCoW: Must-have. Priority: Critical. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#7115
No description provided.