f83708bb34
CI / load-versions (pull_request) Successful in 13s
CI / push-validation (pull_request) Successful in 28s
CI / lint (pull_request) Successful in 50s
CI / typecheck (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 58s
CI / security (pull_request) Successful in 1m13s
CI / build (pull_request) Successful in 42s
CI / helm (pull_request) Successful in 39s
CI / unit_tests (pull_request) Successful in 4m40s
CI / docker (pull_request) Successful in 1m33s
CI / integration_tests (pull_request) Successful in 8m30s
CI / coverage (pull_request) Successful in 9m35s
CI / status-check (pull_request) Successful in 3s
Reviewer HAL9001 noted that the 22-row data table in the ACP→A2A rename feature was dead code because the step definition read from a hardcoded `_ALL_SYMBOLS` constant instead of `context.table.rows`. Also, master grew `cleveragents.a2a.__all__` to 43 exports (AgentCard*, Sync*, ConflictResolution, VectorClock) unrelated to the ACP→A2A rename contract, so the strict `len(__all__) == 22` assertion regressed. * Add a `| symbol |` header row so Behave parses all 22 entries as data rows (the first row was previously being consumed as the header). * Replace `_ALL_SYMBOLS` with `[row[0].strip() for row in context.table.rows]` so the feature file is the single source of truth. * Change the exports assertion from `len(__all__) == 22` to a subset check (every listed symbol is present in `__all__`). Rename the scenario and the matching Then step to reflect the corrected intent. ISSUES CLOSED: #8615
50 lines
2.1 KiB
Gherkin
50 lines
2.1 KiB
Gherkin
@refactor_v360_acp_to_a2a_rename @epic_8569
|
|
Feature: ACP to A2A module rename and symbol standardization
|
|
As a CleverAgents developer
|
|
I want the ACP → A2A module rename to be fully validated via BDD tests
|
|
So that no legacy ACP references remain and all exports follow ADR-047 naming
|
|
|
|
Background:
|
|
Given the "a2a" Python package is importable from "cleveragents.a2a"
|
|
|
|
Scenario: The 22 ACP-to-A2A rename symbols are exported via a2a package
|
|
When I import "cleveragents.a2a"
|
|
And all of the following 22 symbols should be importable from it:
|
|
| symbol |
|
|
| A2aError |
|
|
| A2aErrorDetail |
|
|
| A2aEvent |
|
|
| A2aEventQueue |
|
|
| A2aHttpTransport |
|
|
| A2aLocalFacade |
|
|
| A2aNotAvailableError |
|
|
| A2aOperationNotFoundError |
|
|
| A2aRequest |
|
|
| A2aResponse |
|
|
| A2aStdioTransport |
|
|
| A2aVersion |
|
|
| A2aVersionMismatchError |
|
|
| A2aVersionNegotiator |
|
|
| AuthClient |
|
|
| RemoteExecutionClient |
|
|
| ServerClient |
|
|
| ServerConnectionConfig |
|
|
| StubAuthClient |
|
|
| StubRemoteExecutionClient |
|
|
| StubServerClient |
|
|
| TransportSelector |
|
|
Then every symbol should resolve to a non-None object
|
|
And every listed symbol should appear in __all__
|
|
|
|
Scenario: Zero ACP references remain in the a2a module source files
|
|
When I recursively scan all Python files under "src/cleveragents/a2a"
|
|
And I search for the legacy prefix string "ACP"
|
|
Then zero instances of "ACP" should be found
|
|
And this confirms the complete ACP → A2A rename is clean
|
|
|
|
Scenario: Documentation strings use A2A naming per ADR-047
|
|
When I read the docstring of the "cleveragents.a2a" package
|
|
Then it should contain the term "A2A (Agent-to-Agent Protocol)"
|
|
And it should reference "ADRs" or "ADR-047" for standard adoption
|
|
And the docstring should NOT contain any mentions of "ACP protocol"
|