Curriculum › Context Management & Reliability · 15% of the exam

Information provenance and uncertainty in synthesis

What you’ll be able to do

  • Require subagents to output structured claim-source mappings that downstream agents preserve and merge through synthesis
  • Annotate conflicting values with their sources and let the coordinator decide how to reconcile them
  • Require publication or collection dates so temporal differences aren’t misread as contradictions
  • Structure reports to separate well-established from contested findings and render each content type in a fitting format

What you need to know

Where attribution gets lost

In a multi-agent research pipeline, findings pass through several compression steps: a search subagent summarizes pages, a document-analysis subagent condenses papers, a synthesis agent merges everything into a report. Each step that compresses findings into prose without keeping the link between a claim and its source loses attribution for good. By the final report, "the market grew 18% last year" is a sentence nobody can trace or check, and nobody can tell whether it came from an analyst report or a blog post.

Attribution has to be carried deliberately, as data, through every step.

Structured claim-source mappings

Require subagents to output findings as claim-source mappings: each claim alongside the source URL or document name and the relevant excerpt that supports it. The synthesis agent's job is then to preserve and merge those mappings as it combines findings. When two subagents support the same claim, the merged claim lists both sources. When it rewrites wording, the mapping stays attached.

before — a summary with no provenance
"Grid-scale battery capacity grew strongly, roughly 40-60%, driven by falling costs. Some analysts expect slower growth."
after — claims mapped to sources, with dates
[ {"claim": "Grid-scale battery capacity grew 41% year over year", "source": "Energy Agency Annual Review", "url": "https://...", "excerpt": "installed capacity rose 41%...", "published": "2025-06", "data_period": "2024"}, {"claim": "Grid-scale battery capacity grew 58% year over year", "source": "Industry Association Q4 Report", "url": "https://...", "excerpt": "...a 58% increase in deployed...", "published": "2025-02", "data_period": "2024, deployed incl. pilot projects"} ]

Conflicting statistics: annotate, don’t choose

The example above has two credible sources disagreeing: 41% versus 58%. The tempting move is to pick one (the more recent, the more authoritative-sounding) or average them. Both throw away information the reader needs, and both make a judgment silently. Instead:

  • Annotate the conflict with source attribution: both values, who reported each, and any methodological context that might explain the gap (here, one includes pilot projects).
  • Complete the analysis with the conflicting values included and flagged, rather than stopping or resolving it on the subagent's own authority.
  • Let the coordinator decide how to reconcile before the findings go to synthesis. The coordinator can see the whole research picture and can choose to dig further, present both, or prefer one with a stated reason.

Dates prevent false contradictions

Many apparent conflicts are just different points in time. A 2021 survey saying 30% of firms use a technology and a 2025 survey saying 65% aren't contradicting each other; they're showing a trend. Without dates, a synthesis agent can't tell the difference and may report a "disagreement among sources," or worse, combine the figures. Require subagents to include publication or data-collection dates in their structured output so the synthesis step can interpret temporal differences correctly. Where the data period differs from the publication date, as with a 2025 report on 2024 data, capture both.

Report structure that keeps uncertainty visible

The final report should make the level of support for each finding visible rather than smoothing everything into one confident voice:

  • Separate well-established findings from contested ones in explicit sections. A finding supported by several independent sources reads differently from one where sources disagree.
  • Preserve original source characterizations and methodological context. If a source said "preliminary estimate" or "survey of 200 firms," keep that rather than restating the figure as plain fact.
  • Render content types appropriately. Financial data reads best as tables, news developments as prose, and technical findings as structured lists. Converting everything to one uniform format, such as all bullets or all paragraphs, makes some of it harder to read and can strip out the structure that made it meaningful.

This pairs with the coverage annotations from 5.3: coverage says which areas were researched well, and provenance says where each claim came from and how firm it is.

Key concept

Carry provenance as data: claim-source mappings with excerpts and dates that every downstream step preserves and merges. When credible sources conflict, annotate both values with their sources and let the coordinator reconcile. In the report, separate established from contested findings and format each content type to suit it.

When a scenario shows a final report with untraceable numbers, a silently chosen statistic, or a "contradiction" between figures from different years, look for the step where mappings or dates were dropped.

Practice scenario

ScenarioA research system's reports state single figures confidently, but reviewers can't trace most numbers to a source. In one report, the document-analysis subagent found two credible studies giving different adoption rates and reported only the higher one "because it is newer." Another report flagged a "major contradiction" between two studies that turned out to cover 2019 and 2024 respectively.
Work it through, then open this

Three provenance failures. Subagents are passing prose summaries instead of claim-source mappings, so attribution disappears before synthesis. Require structured claims with source URL or document name and a supporting excerpt, and have synthesis preserve and merge them. The analysis subagent resolved a conflict on its own. It should include both values, annotated with their sources and methodology, and let the coordinator decide how to reconcile them. The false contradiction comes from missing dates. Require publication and data-collection dates in every structured output so differences over time read as trends.

Build exercise — Carry provenance through a synthesis pipeline

Intermediate · 30 min

What you’ll learn

  • Defining a claim-source mapping schema for subagent output
  • Surfacing conflicts to the coordinator with attribution
  • Structuring a report around levels of support and content type
  1. Define the output schema for a research subagent: each finding has a claim, source name or URL, supporting excerpt, publication date, and data-collection period.

    • Why: Provenance that isn’t in the schema won’t survive the next summarization step.
    • You should see: Every claim in a test run traceable to an excerpt, with dates filled in or explicitly marked unknown.
  2. Feed the pipeline two sources with conflicting statistics and check what reaches the coordinator.

    • Why: The subagent should complete its analysis with both values annotated, not resolve the conflict itself.
    • You should see: Both values with their sources and methodology notes, flagged as a conflict for the coordinator to reconcile.
  3. Write the synthesis prompt so the report has “Well-established findings” and “Contested findings” sections, keeps each claim’s sources attached, and renders financial data as a table, news as prose, and technical findings as a list.

    • Why: The reader needs to see how firm each finding is, and each content type reads best in its own format.
    • You should see: A report where the conflict appears in the contested section with both sources, and no figure appears without attribution.

Exam traps

Summarizing findings into prose that drops which source supports which claim

Attribution lost in an early compression step can’t be recovered later. Carry claim-source mappings as structured data.

Picking one value when credible sources report conflicting statistics

Annotate both values with their sources and methodological context instead of choosing silently.

Reconciling conflicts inside the analysis subagent instead of surfacing them to the coordinator

Complete the analysis with conflicts included and flagged, and let the coordinator decide how to reconcile them.

Omitting publication and collection dates, so a 2021 figure and a 2025 figure look like a contradiction

Require dates in structured outputs so differences over time are read as change, not conflict.

Blending contested and well-established findings into one confident narrative

Use explicit sections for each, and keep the sources’ own characterizations and methodology.

Forcing financial tables, news, and technical findings into one uniform format

Render each type appropriately: tables for financial data, prose for news, structured lists for technical findings.

Sources

Quick check

An invoice-extraction pipeline shows 97% field accuracy overall, and the team plans to remove human review entirely. Inputs include standard invoices, credit notes, and handwritten receipts. What is the best first step?