What You Need to Know
Information provenance is knowing where every claim comes from and how confident you should be in it. In a multi-agent research system, subagents gather findings and a synthesis agent combines them. A claim-source mapping links one finding to its source. Provenance is the difference between a research system with trustworthy outputs and a research system that produces plausible claims that nobody can trace to a source.
This lesson uses one made-up example throughout: a heating engineer who uses such a system to review parts suppliers. Subagents read supplier price reports and notes from boiler manufacturers. A synthesis agent writes the report that the engineer reads before the engineer orders stock.
Structured Claim-Source Mappings
Every finding must contain its provenance. The mapping is the structure that ensures the final output can be traced to specific sources. Each finding must include:
- Claim: The specific assertion being made
- Source URL: Where the information was found
- Document name: The title of the source document
- Relevant excerpt: The specific passage that supports the claim
- Publication date: When the source was published or data was collected
The mapping below fills in all five fields.
{
"claim": "Global renewable energy investment reached $495 billion in 2023",
"sourceUrl": "https://example.com/iea-report-2024",
"documentName": "IEA World Energy Investment Report 2024",
"relevantExcerpt": "Total investment in renewable energy technologies reached approximately $495 billion in calendar year 2023, representing a 17% increase over 2022.",
"publicationDate": "2024-06-15"
}For the engineer, a finding that valve prices rose includes the report's URL, title, supporting sentence and publication date.
Why Attribution Dies in Synthesis
Attribution is lost during summarisation. A synthesis agent that combines findings from several subagents compresses and paraphrases those findings. Without explicit instructions to keep the mappings, the source details are lost. The result reads like "Investment in renewable energy has grown significantly", with no amount, no source and no date. The engineer would get "part prices have gone up", which nobody can check.
Downstream agents must explicitly preserve and merge claim-source mappings through synthesis. That needs three things:
- Subagents output findings in the structured claim-source format.
- The synthesis agent is instructed to maintain these mappings when it combines findings.
- The final output includes inline citations or a structured reference section that traces each claim to its source.
Attribution must be kept through every step of a multi-agent pipeline:
- Research subagent collects findings with claim-source mappings.
- Analysis subagent evaluates findings and adds assessment, preserving original mappings.
- Synthesis subagent combines findings from multiple agents, merging mappings.
- Report generation produces the final output with inline citations.
Any step can lose attribution. The most common failure point is step 3, where the synthesis agent paraphrases findings without keeping the mappings. The prompt of the synthesis agent must explicitly require every claim in its output to be traceable to a specific source.
Reports should also include explicit sections separating well-established findings from contested ones, preserving original source characterisations and methodological context. A finding that three independent sources support differs from a finding that is based on a single report. This is true even when the text states both findings with equal confidence. If three supplier reports agree on a price rise and one report alone mentions a shortage, the engineer's report says so.
Conflict Handling
Two credible sources can report different statistics for the same measure. Suppose one supplier report gives the rise in boiler part prices as 12%, and another report gives it as 8%. The wrong approach is to arbitrarily select one value: the more recent source, the average, or the more authoritative publisher. Each of these choices destroys information and presents a false certainty.
The correct approach is to annotate the conflict with both values and full source attribution, and let the consumer, who reads the output, decide.
Market growth estimates vary by source:
- **12% growth** — IEA World Energy Report (published June 2024, using 2023 calendar year data)
- **8% growth** — Bloomberg NEF Annual Review (published March 2024, using July 2022–June 2023 data)
The difference may reflect different reporting periods and methodological approaches.The consumer sees both values and sources and judges which value better fits their needs. The engineer can compare each report's period and method.
Temporal Awareness
Different publication dates explain different numbers. The publication dates are temporal context, and they have to be preserved. Suppose the 8% report was published in 2023 and the 12% report was published in 2024. Without dates, the two numbers look contradictory. With dates, they show a trend: the rise accelerated from 8% to 12%.
So require publication or data collection dates in all structured outputs. Without these dates, the synthesis agent cannot put two numbers for one measure in date order. It can misread a valid trend as a data quality issue. Then it can incorrectly flag or suppress findings that are consistent. Subagents include the dates. The synthesis agent preserves the dates when it merges findings. The final output shows the dates beside the data.
Content-Appropriate Rendering
If you put all content into one format (all tables, all prose or all lists), the content is harder to read and understand. The synthesis agent selects the format from the content type.
Financial data goes in tables. Numbers, comparisons and trends read best in a table. In prose, values are harder to compare and patterns are harder to see.
| Year | Investment ($B) | Growth (%) |
|---|---|---|
| 2021 | 366 | 12% |
| 2022 | 423 | 16% |
| 2023 | 495 | 17% |
News and current events go in prose. Narrative context, cause and effect, and chronological developments read naturally as paragraphs.
Technical findings go in structured lists. Architectural patterns, API specifications and configuration options are clearest as bulleted or numbered lists with clear hierarchy.
The engineer's yearly supplier prices belong in a table. A change of ownership at a supplier belongs in a paragraph. Installation requirements belong in a list.
Completing Analysis with Conflicts Intact
When the analysis agent finds conflicting values in a document, it completes its work with the conflicts included and explicitly annotated. The analysis agent does not resolve the conflict, because the coordinator or the consumer makes that decision. The record below shows one conflict.
{
"field": "annualRevenue",
"conflictDetected": true,
"values": [
{
"value": "$4.2M",
"source": "Annual Report 2023",
"context": "Audited financial statements, fiscal year ending December 2023"
},
{
"value": "$3.8M",
"source": "SEC Filing Q4 2023",
"context": "Preliminary unaudited figures, calendar year 2023"
}
],
"possibleExplanation": "Difference may reflect audited vs preliminary figures and fiscal vs calendar year reporting periods"
}The coordinator then decides: present both values, investigate further, or escalate to a human analyst. The engineer's analysis agent finds two delivery charges for one supplier. It records both charges.
In the exam
Questions test attribution through synthesis, conflicting sources, and the dates that prevent false contradictions. When a synthesis agent picks one of two credible values, the right answer annotates both with attribution and dates. The wrong options pick the most recent, the average or the most authoritative. Putting every content type into one format is also wrong.
Key Concept
Map every claim to its source URL, document name, excerpt and publication date, and keep the mappings through synthesis. Annotate conflicts with both values and their sources. Never arbitrarily pick one value. Different dates explain different numbers. Match the format to the content.
Exam Traps
Selecting the most recent source when two credible sources conflict
Arbitrarily selecting one value destroys information. Annotate both values with source attribution and publication dates. Let the consumer, who reads the output, decide.
Assuming different numbers from different sources are contradictions
Different publication or data collection dates often explain different numbers. Require dates in structured outputs to enable correct temporal interpretation.
Allowing the synthesis agent to paraphrase without preserving claim-source mappings
Synthesis compresses and rewrites prose, so source details embedded in it are lost. Subagents emit structured claim-source mappings. These are data rather than prose. The synthesis agent preserves and merges them.
Rendering all content types in a uniform format (all prose, all tables, or all lists)
Financial data is best as tables, news as prose, technical findings as structured lists. Putting all content into a single format degrades readability and comprehension.
Practice Scenario
A multi-agent research system produces a synthesis report on market trends. Two credible sources report different growth rates for the same sector. Source A reports 12% growth (2023 data), and Source B reports 8% growth (2024 data). The synthesis agent currently selects the more recent value. Reports are issued on a fixed schedule without a human step. Every number in a report must be one that a source published. A reader must be able to see where the sources disagree. What is the correct approach?
Build Exercise
Build a Provenance-Preserving Synthesis Pipeline
What you'll learn
- Design structured claim-source mappings with claim, source URL, document name, excerpt, and publication date
- Preserve attribution through multi-step synthesis pipelines without loss during summarisation
- Handle conflicting sources by annotating both values rather than arbitrarily selecting one
- Use temporal awareness (publication dates) to distinguish trends from contradictions
- Apply content-appropriate rendering: tables for financial data, prose for news, lists for technical findings
- Define a structured claim-source mapping schema with fields: claim, sourceUrl, documentName, relevantExcerpt, publicationDate
Why: Every finding in a multi-agent research system must carry its provenance. Without structured claim-source mappings, attribution is lost during summarisation. The final output then becomes text that sounds plausible. Nobody can trace it, and it has no verifiable sources.
You should see: A TypeScript interface or JSON schema with all five required fields: claim (the assertion), sourceUrl (where found), documentName (title), relevantExcerpt (supporting passage), and publicationDate (when published or data collected). Each field should be required, not optional.
- Implement two research subagents that output findings using the claim-source mapping schema, including publication dates
Why: Subagents must output in the structured format from the start. If subagents return unstructured prose, attribution is already lost before synthesis begins. Requiring structured output at the subagent level is what end-to-end provenance depends on.
You should see: Two subagent functions that each return an array of ClaimSourceMapping objects with all fields populated, including publication dates. Each subagent should research a different aspect of the same topic.
- Build a synthesis agent that merges findings from both subagents while explicitly preserving all claim-source mappings through the merge process
Why: Step 3 (synthesis) is the most common failure point for attribution. The synthesis agent naturally compresses and paraphrases, destroying claim-source mappings unless explicitly instructed to preserve them. The exam tests whether you understand that attribution must be explicitly maintained through every synthesis step.
You should see: A synthesis output where every claim is traceable to its source. The synthesis should combine related findings but maintain inline citations or a reference section linking each claim to its original source URL, document name, and publication date.
- Handle conflicting sources by annotating both values with full attribution and possible explanations, without arbitrarily selecting one value
Why: When two credible sources report different statistics, arbitrarily selecting one destroys information and presents false certainty. The exam tests that the correct approach is to annotate both values with source attribution and let the consumer, who reads the output, decide. Different publication dates often explain different numbers as trends, not contradictions.
You should see: A conflict handling function that detects overlapping claims with different values, preserves both with full attribution, and adds a possible explanation noting temporal or methodological differences. The output should never silently pick one value.
- Implement content-appropriate rendering in the final output: format financial data as tables, news findings as prose, and technical findings as structured lists
Why: The exam tests that synthesis should not put everything into a uniform format. Financial data is most readable as tables, news context reads naturally as prose, and technical findings are clearest as structured lists. Forcing all content into one format degrades readability.
You should see: A rendering function that detects the content type of each section and applies the appropriate format. Financial data should appear in tables with columns for year, value, and source. News should be prose paragraphs. Technical findings should be bulleted lists.