One A2A card, one SendMessage, one GetTask Three lifelines: curl on the host, docker-agent serve a2a on 127.0.0.1:8082 serving pong.yaml, and Docker Model Runner on localhost:12434. curl reads the agent card at /.well-known/agent-card.json, which names one JSON-RPC interface at /invoke with protocol version 1.0. curl posts SendMessage with A2A-Version 1.0 and a ROLE_USER message ping. The server makes one live chat completion on ai/qwen3:4b, which answers pong, moves the task to TASK_STATE_COMPLETED, and returns result.task with the answer in an artifact. GetTask with the task id returns the same task with its history. curl serve a2a :8082 DMR :12434 1 GET /.well-known/agent-card.json 2 card: /invoke, JSONRPC, 1.0 3 POST /invoke SendMessage A2A-Version: 1.0, ROLE_USER, ping 4 chat completion, ai/qwen3:4b 5 pong 6 TASK_STATE_COMPLETED 7 result.task, artifact text pong 8 POST /invoke GetTask, id <uuid> 9 the same task, with history