feat(a2a): implement A2A stdio transport for local mode #10904

Closed
HAL9000 wants to merge 2 commits from feature/m9-a2a-stdio into master

2 Commits

Author SHA1 Message Date
HAL9000 c606d233db fix(a2a): resolve merge conflicts and add TransportSelector BDD scenarios
CI / lint (pull_request) Successful in 1m12s
CI / typecheck (pull_request) Successful in 1m19s
CI / security (pull_request) Successful in 1m18s
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 30s
CI / helm (pull_request) Successful in 37s
CI / build (pull_request) Successful in 54s
CI / quality (pull_request) Successful in 1m43s
CI / integration_tests (pull_request) Successful in 3m32s
CI / e2e_tests (pull_request) Successful in 5m46s
CI / unit_tests (pull_request) Failing after 6m38s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 10m42s
CI / status-check (pull_request) Failing after 3s
CI / benchmark-regression (pull_request) Successful in 1h0m36s
Merged the master branch's comprehensive A2aStdioTransport coverage
scenarios with the PR's TransportSelector scenarios. The master branch
had already added detailed @coverage-tagged scenarios for the transport
lifecycle; this commit adds the TransportSelector selection logic tests
on top of those.

Also fixes the ruff format violation in the steps file that caused the
CI lint job to fail.

ISSUES CLOSED: #691
2026-04-28 13:36:20 +00:00
HAL9000 461cc1c102 feat(a2a): implement A2A stdio transport for local mode
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 1m5s
CI / quality (pull_request) Successful in 1m3s
CI / typecheck (pull_request) Successful in 1m25s
CI / push-validation (pull_request) Successful in 20s
CI / build (pull_request) Successful in 36s
CI / security (pull_request) Successful in 1m42s
CI / coverage (pull_request) Has been skipped
CI / helm (pull_request) Successful in 41s
CI / integration_tests (pull_request) Successful in 3m15s
CI / e2e_tests (pull_request) Failing after 3m57s
CI / unit_tests (pull_request) Successful in 4m32s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
CI / benchmark-regression (pull_request) Successful in 1h4m32s
Added comprehensive BDD unit tests and Robot Framework integration tests
for the A2A stdio transport and TransportSelector classes.

- features/a2a_stdio_transport.feature: BDD scenarios for A2aStdioTransport
  lifecycle, JSON-RPC 2.0 message framing, and TransportSelector selection
- features/steps/a2a_stdio_transport_steps.py: Step definitions using mock
  processes to avoid real subprocess overhead in unit tests
- features/mocks/mock_stdio_process.py: Mock Popen-compatible objects for
  unit testing subprocess communication
- features/mocks/a2a_echo_agent.py: Echo agent for integration tests
- features/mocks/a2a_bad_json_agent.py: Bad-JSON agent for error path tests
- robot/a2a_stdio_transport.robot: Robot Framework integration tests
- robot/helper_a2a_stdio_transport.py: Helper script for robot tests

ISSUES CLOSED: #691
2026-04-28 09:47:55 +00:00