Preserve information provenance and handle uncertainty in multi-source synthesis
When a multi-agent system gathers facts from many sources and boils them down into a single report, the risk is not that the facts are wrong but that they arrive stripped of their origin, their date, and their disagreements. Provenance (which source, which excerpt, when) dies at every summarization boundary unless you carry it as structured data. This lesson covers how to make subagents emit claim-source mappings, how to annotate conflicts instead of silently picking a winner, why publication dates prevent fake contradictions, and how to structure a synthesis so a reader can tell settled facts from contested ones.
Provenance dies at summarization boundaries
Provenance is the record of where each claim came from: which source, which supporting excerpt, and when it was published or collected. In a multi-agent research pipeline (Scenario 3), information passes through several compression steps. A search agent gathers pages, an analysis agent summarizes them, and a synthesis agent merges everything into a report. Every one of those steps is a summarization boundary, and summarization is exactly where attribution silently dies.
The failure is dangerous because the output still looks polished. The analysis agent reads a page that says "According to the 2024 IFPI report, streaming revenue grew 10.2%" and helpfully condenses it to "streaming revenue grew about 10%." The number survived; the source and the date did not. By the time the synthesis agent sees it, there is no way to cite the claim or reconcile it against a competing figure. The report ends up full of confident, uncitable assertions, which is fatal for a system whose whole job is to produce cited reports.
The fix is to treat attribution as data that must be carried, not prose that can be paraphrased away. Instead of asking subagents to "summarize," require them to emit structured records in which the claim and its source travel as separate fields. Compression then acts on the claim text while the source name, URL, excerpt, and date ride along untouched.
Structured claim-source mappings are the carrier
A claim-source mapping is a structured object that binds a single claim to its origin. At minimum each record carries the claim itself, a verbatim excerpt that supports it, the source identifier (URL or document name), and the publication or collection date. Optionally it also carries a page number or a relevance score.
{
"claim": "Global streaming revenue grew 10.2% year over year",
"excerpt": "Streaming revenues increased 10.2% to reach US$19.3 billion",
"source": "IFPI Global Music Report 2024",
"url": "https://ifpi.org/...",
"published": "2024-03-21"
}
The rule that makes this work: downstream agents must preserve and merge these mappings, never flatten them. When the synthesis agent turns twelve findings into three paragraphs, every sentence it writes should still trace to the record or records that support it. Requiring the subagent to output this structure, rather than trusting it to remember to cite, is what guarantees provenance survives synthesis.
This is why separating content from metadata matters. The claim is content; the source, URL, and date are metadata. Keeping them in distinct fields lets a compression step shorten the content without ever touching the metadata.
Conflicting values: annotate, do not arbitrate
Credible sources routinely disagree. Two reputable research firms may report different figures for the same market in the same year. The wrong move, the one exam questions punish, is to let an agent silently pick one number and drop the other. That destroys information and hides a genuine disagreement from the human who is best placed to judge it, and the value that survives is often just the last one the model happened to read.
The correct pattern is to annotate the conflict with source attribution and carry both values forward. The document analysis subagent completes its analysis with the conflicting values included and explicitly flagged, rather than resolving them itself. It hands both to the coordinator, whose job is to decide how to reconcile, or whether to reconcile at all, before passing to synthesis. The synthesis agent then preserves the conflict in the output, attributing each figure to its source.
{
"metric": "2024 generative-AI market size",
"conflict_detected": true,
"values": [
{"value": "$25.6B", "source": "Grand View Research", "published": "2024-05"},
{"value": "$40.1B", "source": "Bloomberg Intelligence", "published": "2024-09"}
]
}
Note the division of labor: analysis surfaces and annotates, the coordinator decides, synthesis renders the decision transparently. No layer arbitrarily overwrites a credible source.
Temporal metadata prevents fake contradictions
Many apparent contradictions are not contradictions at all. They are the same quantity measured at different times. "Enterprise adoption was 33%" and "enterprise adoption reached 65%" look like a conflict until you learn the first figure is from 2023 and the second from 2024, at which point they are simply two points on a rising trend.
Because of this, every structured finding should carry a publication or data-collection date. Without dates, a synthesis agent (or a later reader) cannot distinguish a genuine disagreement between sources from ordinary change over time. It will either flag a false conflict or, worse, average two figures that were never meant to be compared.
Make the date field non-optional for time-sensitive metrics in the subagent's output schema. Then the synthesis step can interpret correctly: same metric plus different dates equals a time series to present as a trend; same metric plus the same period plus different values equals a real conflict to annotate with source attribution.
Structure the report: well-established versus contested
A trustworthy synthesis output does not present every claim with equal confidence. It separates what the sources agree on from what they dispute. The recommended structure uses explicit sections: a well-established findings section for claims that multiple credible sources corroborate, and a contested (or open-questions) section for claims where sources disagree or the evidence is thin.
Within the contested section, preserve each source's original characterization and its methodological context rather than blending them into a bland consensus. If one study surveyed 200 professionals and another analyzed 50,000 transactions, that methodological difference is precisely what a reader needs in order to weigh the claims, so it must survive into the report.
This structure pairs naturally with the coverage annotations from error propagation (task 5.3): the synthesis can mark which topic areas are well-supported and which have gaps because a source was unavailable. The reader then knows not only what was found, but how solid each part of it is.
Render each content type in its natural form
A common degradation is flattening everything into uniform prose. Financial figures, breaking-news items, and technical specifications each have a natural representation, and forcing all of them into paragraphs destroys usability and can obscure provenance.
The skill is to render content types appropriately in the synthesis output: financial and comparative data as tables (where a conflicting-values row can give each source its own column), news and narrative developments as prose, and technical findings as structured lists. A conflict between two market-size figures is far clearer in a two-row table with a source column than buried inside a sentence.
This is not cosmetic. Tabular rendering of conflicting statistics keeps each value bound to its source and date, which is provenance preservation by layout. Choosing the representation that fits the data is part of preserving both meaning and attribution, rather than converting everything to one homogeneous format.
Anti-patterns to avoid
Why it fails: Summarization compresses the claim and its origin together, so the URL, document name, and date get paraphrased away, leaving confident but uncitable assertions the synthesis agent cannot attribute.
instead Require structured claim-source records (claim, excerpt, source, date) so the metadata rides alongside the claim and is never touched by compression.
Why it fails: It silently destroys information and hides a real disagreement from the reader, and the surviving value is often just the last one the model saw rather than the most reliable.
instead Annotate the conflict, carry both values with source attribution, and let the coordinator (or the human reader) reconcile. Analysis surfaces the conflict, synthesis renders both.
Why it fails: Most differing numbers are the same metric measured at different times; without dates the agent flags false conflicts or averages figures that were never comparable.
instead Require publication or collection dates on every finding so same-metric-different-date reads as a trend, and same-period-different-value reads as a genuine conflict to annotate.
Why it fails: It obscures structure, makes conflicting figures hard to compare, and frequently decouples a value from its source and date.
instead Render each content type in its natural form: tables for comparative or financial data (source per column), prose for news, and structured lists for technical findings.
Worked example: Reconciling conflicting market statistics without losing a single source
You are running the multi-agent research system (Scenario 3) on "the size and growth of the generative-AI market." The web search agent surfaces two credible reports and the document analysis agent reads both. One puts the 2024 market at $25.6B (Grand View Research, May 2024); the other at $40.1B (Bloomberg Intelligence, Sept 2024). A separate source notes enterprise adoption "grew from 33% to 65%," but those two percentages come from surveys taken a year apart.
Step 1: Analysis emits structured claim-source mappings, with conflicts included and annotated. The analysis subagent does not pick a winner. It returns every claim as a record and flags the disagreement, leaving reconciliation to the coordinator:
[
{"metric": "2024 GenAI market size", "conflict_detected": true,
"values": [
{"value": "$25.6B", "source": "Grand View Research", "published": "2024-05"},
{"value": "$40.1B", "source": "Bloomberg Intelligence", "published": "2024-09"}
]},
{"claim": "Enterprise adoption reached 65%", "source": "McKinsey State of AI", "published": "2024-08"},
{"claim": "Enterprise adoption was 33%", "source": "McKinsey State of AI", "published": "2023-08"}
]
Step 2: The coordinator decides how to frame, not which to delete. It recognizes the two market-size figures as a genuine conflict (same period, different firms and methodologies) that must be shown side by side. It recognizes the two adoption numbers as differing only by date, so they form a trend, not a contradiction. It passes both decisions, with all mappings intact, into the synthesis prompt.
Step 3: Synthesis preserves provenance and renders by type. The report separates settled from contested and uses a table for the conflicting figures so each value stays bound to its source:
## Well-established
- Enterprise adoption of generative AI roughly doubled year over year,
from 33% (McKinsey, 2023-08) to 65% (McKinsey, 2024-08).
## Contested: 2024 market size
| Estimate | Source | Published |
|----------|------------------------|-----------|
| $25.6B | Grand View Research | 2024-05 |
| $40.1B | Bloomberg Intelligence | 2024-09 |
Sources differ; figures reflect different methodologies and dates.
Why this passes: no credible value was silently dropped, the adoption jump was correctly read as a trend because dates were preserved, the market-size disagreement is annotated with attribution instead of arbitrated, and the comparative data is rendered as a table rather than flattened into prose. Every sentence in the report traces back to a claim-source record.
Exam tips
- ✓Provenance dies at summarization boundaries. Require subagents to emit structured claim-source records (claim, excerpt, source, date), not free prose, so attribution is not paraphrased away.
- ✓Downstream agents must preserve and merge claim-source mappings through synthesis, never flatten them. Every synthesized sentence should trace back to a source record.
- ✓For conflicting statistics from credible sources: annotate the conflict with source attribution and keep both values. Never let an agent arbitrarily select one and drop the other.
- ✓Division of labor for conflicts: analysis surfaces and annotates the conflicting values, the coordinator decides how to reconcile, and synthesis renders both transparently.
- ✓Always require publication or collection dates. Same metric plus different dates is a trend, not a contradiction; without dates, agents flag false conflicts or average incomparable numbers.
- ✓Structure reports into well-established versus contested sections, preserve methodological context, and render each content type in its natural form (tables for financial/comparative data, prose for news, lists for technical findings).
Official exam objectives for 5.6
- How source attribution is lost during summarization steps when findings are compressed without preserving claim-source mappings
- The importance of structured claim-source mappings that the synthesis agent must preserve and merge when combining findings
- How to handle conflicting statistics from credible sources: annotating conflicts with source attribution rather than arbitrarily selecting one value
- Temporal data: requiring publication/collection dates in structured outputs to prevent temporal differences from being misinterpreted as contradictions
- Requiring subagents to output structured claim-source mappings (source URLs, document names, relevant excerpts) that downstream agents preserve through synthesis
- Structuring reports with explicit sections distinguishing well-established findings from contested ones, preserving original source characterizations and methodological context
- Completing document analysis with conflicting values included and explicitly annotated, letting the coordinator decide how to reconcile before passing to synthesis
- Requiring subagents to include publication or data collection dates in structured outputs to enable correct temporal interpretation
- Rendering different content types appropriately in synthesis outputs — financial data as tables, news as prose, technical findings as structured lists — rather than converting everything to a uniform format
Flashcards from this lesson
Where in a multi-agent pipeline is source attribution most likely lost?
At summarization boundaries. Each compression step (search to analysis to synthesis) can paraphrase away the source, URL, and date unless attribution is carried as structured data.
What fields belong in a structured claim-source mapping?
The claim, a verbatim supporting excerpt, the source identifier (URL or document name), and the publication or collection date; optionally a page number or relevance score.
Two credible sources report different statistics for the same metric and period. What should the system do?
Annotate the conflict with source attribution and carry both values forward. Do not arbitrarily select one; let the coordinator or the human reader reconcile.
Whose job is it to resolve conflicting values in a research pipeline?
Analysis surfaces and annotates the conflict (it does not pick a winner), the coordinator decides how to reconcile, and synthesis renders both values with attribution.
Why require publication or collection dates in every finding?
So temporal differences are not misread as contradictions. Same metric at different dates is a trend; without dates, agents flag false conflicts or average incomparable numbers.
How should synthesis output handle different content types?
Render each in its natural form: financial and comparative data as tables (source per column), news as prose, technical findings as structured lists, rather than flattening everything to uniform prose.
How should a trustworthy synthesis report be structured for confidence?
Explicit sections separating well-established findings (multiple credible sources agree) from contested ones (sources disagree), preserving each source's original characterization and methodological context.