A2A protocol returns no citations in developer telemetry (message/send + message/stream) — CLI/BizChat do; contradicts m365-semantics citations.md
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 1k
- Forks
- 132
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 6
Description
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-> 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 --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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the A2A message/send and message/stream responses from the documented endpoint with the workiq ask --developer --json control output and m365-semantics/citations.md. Trace how references and the Answer artifact citation map are assembled; done means both A2A methods expose citation data with targetLink and isCitedInResponse, including inline markers where applicable.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100