-
Notifications
You must be signed in to change notification settings - Fork 133
Closed
Copy link
Labels
compatibilityIssue related to A2A compatibilityIssue related to A2A compatibility
Milestone
Description
What happened?
Summary
The SUT accepts a SendMessage request with a taskId and a mismatching contextId instead of rejecting it with an error (JSON-RPC transport).
Requirement
- ID: CORE-MULTI-006
- Section: 3.4.3 — Multi-Turn Conversation Patterns
- Level: MUST
- Spec: specification.md#343-multi-turn-conversation-patterns
Specification
Agents MUST reject messages containing mismatching
contextIdandtaskId(i.e., the providedcontextIdis different from that of the referenced Task).
Expected behavior
When a client sends a SendMessage with a taskId referencing an existing task and a contextId that does not match that task's context, the agent must return an error.
Actual behavior
The SUT accepts the message and returns a success response instead of an error.
Reproducer
# Step 1: Create a task to get a valid taskId and contextId
curl -s -X POST http://localhost:9999 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "SendMessage",
"params": {
"message": {
"role": "ROLE_USER",
"parts": [{"text": "hello"}],
"messageId": "tck-setup-001"
}
}
}'
# Note the taskId and contextId from the response.
# Step 2: Send a follow-up with the correct taskId but a WRONG contextId
# Replace <TASK_ID> with the taskId from Step 1.
curl -s -X POST http://localhost:9999 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "SendMessage",
"params": {
"message": {
"role": "ROLE_USER",
"parts": [{"text": "Mismatched context test"}],
"messageId": "tck-mismatch-001",
"taskId": "<TASK_ID>",
"contextId": "wrong-context-does-not-exist"
}
}
}'
# Expected: a JSON-RPC error response
# Actual: a success response with a Task/StatusEventTCK test
tests/compatibility/core_operations/test_task_lifecycle.py::TestMultiTurn::test_reject_mismatching_context
Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
compatibilityIssue related to A2A compatibilityIssue related to A2A compatibility