Skip to content
Domain 5Task 5.6

Information Provenance & Multi-Source Synthesis

Learn this interactively

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 example throughout, based on the exam guide's multi-agent research system. In this made-up case, an investment research firm uses the system to write a report on renewable energy investment. Subagents search the web and analyse documents. A synthesis agent combines their findings into the report.

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.

json
{
  "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"
}

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. Nobody can check that sentence.

Downstream agents must explicitly preserve and merge claim-source mappings through synthesis. That needs three things:

  1. Subagents output findings in the structured claim-source format.
  2. The synthesis agent is instructed to maintain these mappings when it combines findings.
  3. 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:

  1. Research subagent collects findings with claim-source mappings.
  2. Analysis subagent evaluates findings and adds assessment, preserving original mappings.
  3. Synthesis subagent combines findings from multiple agents, merging mappings.
  4. 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 source characterisation is how the source describes its own finding, for example as an estimate. Methodological context is how the source collected its data. 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. In the investment report, a figure that three sources agree on goes in a different section from a figure that one report alone gives.

Conflict Handling

Two credible sources can report different statistics for the same measure. Suppose two reports give different growth figures for the same market: 12% and 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.

markdown
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. Here the consumer can see that the two reports use different data periods and methods.

Temporal Awareness

Different publication dates explain different numbers. The publication dates are temporal context, and they have to be preserved. Suppose instead that 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: growth 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.

YearInvestment ($B)Growth (%)
202136612%
202242316%
202349517%

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.

In the investment report, the yearly totals go in the table above. News about the events behind those totals goes in prose.

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: two revenue figures for one energy company in the report.

json
{
  "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.

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

Exam Trap

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.

Exam Trap

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.

Exam Trap

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.

Exam Trap

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 research system's synthesis report cites sector growth at 12% (Source A, 2023 data) and 8% (Source B, 2024 data). The agent currently keeps only the more recent figure. Reports go out on a schedule with no human step. How should the agent handle the disagreement?

Build Exercise

Build Exercise

Build a Provenance-Preserving Synthesis Pipeline

Difficulty
60 minutes

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
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Sources