Tests (Behave): Add missing Behave feature file for the acp module #2762

Open
opened 2026-04-04 19:16:15 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: test/acp-behave-feature
  • Commit Message: test(acp): add Behave feature file covering acp module behaviour
  • Milestone: v3.7.0
  • Parent Epic: #933

Background and Context

The src/cleveragents/acp/ module contains the following sub-modules (confirmed via compiled artefacts):

  • clients — A2A client transport wrappers
  • errors — ACP/A2A error types
  • events — SSE / push-notification event models
  • facade — high-level facade used by CLI and TUI layers
  • models — domain models (requests, responses, task lifecycle)
  • server_config — server-side configuration helpers
  • transport — low-level JSON-RPC 2.0 transport
  • versioning — protocol version negotiation

Per the project specification (ADR-047, §Architecture), the A2A protocol is the sole Presentation-Application boundary. Every public behaviour of the acp module must therefore be covered by Behave acceptance tests so that regressions are caught before they reach the wire.

A scan of /features/ confirms that no .feature file currently targets the acp module — there is a gap in the BDD test suite that leaves the entire protocol layer untested at the acceptance level.

Expected Behaviour

A features/acp.feature file (and any necessary step definitions in features/steps/) should exist that exercises the public API of each acp sub-module, including:

  • Client instantiation and request dispatch
  • Error model construction and serialisation
  • Event model round-trips
  • Facade method calls (happy path and error paths)
  • Model validation (task lifecycle states, JSON-RPC envelope fields)
  • Server config loading and defaults
  • Transport send/receive cycles
  • Version negotiation (supported / unsupported version scenarios)

Subtasks

  • Audit each acp sub-module (clients, errors, events, facade, models, server_config, transport, versioning) and list all public behaviours to be covered
  • Write features/acp.feature with Gherkin scenarios for each identified behaviour
  • Implement any missing step definitions in features/steps/
  • Run nox -s behave locally and confirm all new scenarios pass
  • Verify coverage >= 97% via nox -s coverage_report
  • Run nox (all default sessions) and fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly (test(acp): add Behave feature file covering acp module behaviour), followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly (test/acp-behave-feature).
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass.
  • Coverage >= 97%.

Automated by CleverAgents Bot
Supervisor: Unknown | Agent: ca-new-issue-creator

## Metadata - **Branch**: `test/acp-behave-feature` - **Commit Message**: `test(acp): add Behave feature file covering acp module behaviour` - **Milestone**: v3.7.0 - **Parent Epic**: #933 ## Background and Context The `src/cleveragents/acp/` module contains the following sub-modules (confirmed via compiled artefacts): - `clients` — A2A client transport wrappers - `errors` — ACP/A2A error types - `events` — SSE / push-notification event models - `facade` — high-level facade used by CLI and TUI layers - `models` — domain models (requests, responses, task lifecycle) - `server_config` — server-side configuration helpers - `transport` — low-level JSON-RPC 2.0 transport - `versioning` — protocol version negotiation Per the project specification (ADR-047, §Architecture), the A2A protocol is the **sole** Presentation-Application boundary. Every public behaviour of the `acp` module must therefore be covered by Behave acceptance tests so that regressions are caught before they reach the wire. A scan of `/features/` confirms that **no `.feature` file currently targets the `acp` module** — there is a gap in the BDD test suite that leaves the entire protocol layer untested at the acceptance level. ## Expected Behaviour A `features/acp.feature` file (and any necessary step definitions in `features/steps/`) should exist that exercises the public API of each `acp` sub-module, including: - Client instantiation and request dispatch - Error model construction and serialisation - Event model round-trips - Facade method calls (happy path and error paths) - Model validation (task lifecycle states, JSON-RPC envelope fields) - Server config loading and defaults - Transport send/receive cycles - Version negotiation (supported / unsupported version scenarios) ## Subtasks - [ ] Audit each `acp` sub-module (`clients`, `errors`, `events`, `facade`, `models`, `server_config`, `transport`, `versioning`) and list all public behaviours to be covered - [ ] Write `features/acp.feature` with Gherkin scenarios for each identified behaviour - [ ] Implement any missing step definitions in `features/steps/` - [ ] Run `nox -s behave` locally and confirm all new scenarios pass - [ ] Verify coverage >= 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions) and fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly (`test(acp): add Behave feature file covering acp module behaviour`), followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly (`test/acp-behave-feature`). - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All nox stages pass. - Coverage >= 97%. --- **Automated by CleverAgents Bot** Supervisor: Unknown | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-04 19:16:21 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium
  • MoSCoW: Should Have — Missing Behave feature file for the acp module. Unit test coverage is a project requirement (≥97%), and missing feature files indicate untested code paths.

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium - **MoSCoW**: Should Have — Missing Behave feature file for the acp module. Unit test coverage is a project requirement (≥97%), and missing feature files indicate untested code paths. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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#2762
No description provided.