-
Notifications
You must be signed in to change notification settings - Fork 128
Closed
Description
What happened?
Expected: The Run TCK workflow (.github/workflows/run-tck.yml) passes when using a2a-tck main, as it did before late February 2026.
Actual: TCK runs fail with JSON-RPC method-not-found errors and related assertion failures. The root cause is a breaking change in the a2a-tck project: PR #129 (merged 2026-02-27) renamed the list push-notification-config method from ListTaskPushNotificationConfig to ListTaskPushNotificationConfigs. The a2a-java SDK still exposes the old method name, so the TCK client receives "Unsupported JSON-RPC method" and tests fail.
How to reproduce:
- Use the Run TCK workflow with default config (e.g. push to a branch that triggers it, or
workflow_dispatch). - The workflow checks out
a2a-tckatref: main(seeTCK_VERSION: maininrun-tck.yml). - Run the TCK; it uses the post-fix: Split out server related code from a2a-java-sdk-core into a new a2a-java-sdk-server-common module #129 client that calls
ListTaskPushNotificationConfigs. - The a2a-java SUT (tck server) only handles
ListTaskPushNotificationConfig, so JSON-RPC returns-32601(Method not found) for that method. - All tests that depend on listing push notification configs (and any that declare push notification capability and then call list) fail.
Relevant log output
**JSON-RPC (push notification list):**
AssertionError: Push notifications capability declared but list config failed
assert False
+ where False = <function is_json_rpc_success_response at ...>({'error': {'code': -32601, 'message': "Unsupported JSON-RPC method: 'ListTaskPushNotificationConfigs'"}})
**Affected tests (examples):**
- `tests/optional/capabilities/test_push_notification_config_methods.py::test_list_push_notification_config`
- `tests/optional/capabilities/test_push_notification_config_methods.py::test_send_message_with_push_notification_config`
- `tests/optional/capabilities/test_push_notification_config_methods.py::test_send_streaming_message_with_push_notification_config`
**a2a-tck change (reference):**
- **PR #129:** [fix!: Align push notification methods with latest a2a-java proto (#129)](https://github.com/a2aproject/a2a-tck/pull/129)
- Rename: `ListTaskPushNotificationConfig` → `ListTaskPushNotificationConfigs` (RPC and JSON-RPC method name).
- Request/response types renamed to `ListTaskPushNotificationConfigsRequest` / `ListTaskPushNotificationConfigsResponse`.
- Other changes: remove `configId` param from CreateTaskPushNotificationConfig, update TaskPushNotificationConfig structure (id in nested config).
---
## Proposed direction
Align a2a-java with the TCK/spec change by renaming the list method to the plural form used in a2a-tck and the updated proto:
- In `io.a2a.spec.A2AMethods`, set
`LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD = "ListTaskPushNotificationConfigs"`
(and keep all existing references to this constant so JSON-RPC routing and clients use the new name).
This will restore TCK CI when running against a2a-tck main, without changing TCK or pinning an old TCK version.Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels