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
The feature step definitions file had ruff format violations that
caused CI / lint to fail. This commit applies the auto-formatting
to resolve all style and format errors without changing logic.
Add comprehensive BDD test coverage validating the ACP to A2A module rename:
- features/a2a_module_rename_standardization.feature — 3 scenarios:
1. All 22 __all__ symbols exported and importable from cleveragents.a2a
2. Zero legacy ACP references found in a2a module source files
3. Documentation strings use A2A naming per ADR-047
- features/steps/a2a_module_rename_standardization_steps.py — step definitions
with recursive ACP reference scanning and symbol completeness checks
- Updated CHANGELOG.md under ### Added section
- Updated CONTRIBUTORS.md with contribution entry
ISSUES CLOSED: #8615