Summary
The A2A protocol does not return citations in its developer telemetry. For the same agent + prompt where the workiq CLI surfaces citations, an A2A client gets no citation data: no inline [n] markers, no references[], and an empty Answer artifact citation map. This appears to contradict the documented A2A m365 semantics: https://microsoftgraph.visualstudio.com/Graph%20Developer%20Experiences/_git/work-iq-docs?path=/A2A/m365-semantics/citations.md.
Scope — A2A protocol (endpoint https://workiq.svc.cloud.microsoft/a2a/)
Tested both A2A methods with params.configuration.acceptedOutputModes = ["text/plain","application/vnd.ms-workiq.developer-info","application/vnd.ms-workiq-internal.retrieval"], header X-variants: feature.EnableA2AServer:
message/send -> no references, no inline [n], no targetLink.
message/stream -> artifacts [Answer, Developer Info, Retrieval Info]; Retrieval has 2 execs/~4 hits; Answer citation map = 0 entries; no inline [n]; hits have no webUrl.
Control — workiq CLI (same agent, same prompt) DOES return citations
workiq ask -q "When is my next holiday?" --agent-id <id> --developer --json returns a top-level references array ({ id, targetLink, isCitedInResponse:true }) and inline [1](https://…Holidays_Canada.docx) in the answer. BizChat renders the same source chips. So the citation data exists end-to-end — the A2A protocol surface is the only place it's missing.
Expected
A2A developer telemetry should expose citations per the m365-semantics citations.md — e.g. a references/citation map (with targetLink + isCitedInResponse) on message/send and on the message/stream Answer artifact — at parity with the CLI/BizChat.
Impact
A2A consumers (dev UIs, eval tools) can't measure citation/grounding. The M365 Copilot evals Citations evaluator scores 0 over A2A. Companion: microsoft/m365-copilot-eval#31.
Summary
The A2A protocol does not return citations in its developer telemetry. For the same agent + prompt where the workiq CLI surfaces citations, an A2A client gets no citation data: no inline
[n]markers, noreferences[], and an emptyAnswerartifact citation map. This appears to contradict the documented A2A m365 semantics:https://microsoftgraph.visualstudio.com/Graph%20Developer%20Experiences/_git/work-iq-docs?path=/A2A/m365-semantics/citations.md.Scope — A2A protocol (endpoint
https://workiq.svc.cloud.microsoft/a2a/)Tested both A2A methods with
params.configuration.acceptedOutputModes = ["text/plain","application/vnd.ms-workiq.developer-info","application/vnd.ms-workiq-internal.retrieval"], headerX-variants: feature.EnableA2AServer:message/send-> noreferences, no inline[n], notargetLink.message/stream-> artifacts[Answer, Developer Info, Retrieval Info]; Retrieval has 2 execs/~4 hits; Answer citation map = 0 entries; no inline[n]; hits have nowebUrl.Control — workiq CLI (same agent, same prompt) DOES return citations
workiq ask -q "When is my next holiday?" --agent-id <id> --developer --jsonreturns a top-levelreferencesarray ({ id, targetLink, isCitedInResponse:true }) and inline[1](https://…Holidays_Canada.docx)in the answer. BizChat renders the same source chips. So the citation data exists end-to-end — the A2A protocol surface is the only place it's missing.Expected
A2A developer telemetry should expose citations per the m365-semantics citations.md — e.g. a
references/citation map (withtargetLink+isCitedInResponse) onmessage/sendand on themessage/streamAnswer artifact — at parity with the CLI/BizChat.Impact
A2A consumers (dev UIs, eval tools) can't measure citation/grounding. The M365 Copilot evals Citations evaluator scores 0 over A2A. Companion: microsoft/m365-copilot-eval#31.