Skip to content

A figure oracle that lags the source it checks will 'correct' true, newer figures toward stale truth

TL;DR.

When an LLM pipeline validates news figures against an official series that publishes weekly or monthly (FRED PMMS, DGS10 close), the source is often NEWER or from a different survey than the reference. A gate that treats the reference as ground truth then drops or rewrites correct text. Give the gate the source page's own figure, survey and date, and only flag disagreement with both.

What happened

A news-digest pipeline has two writer-side guards: an LLM 'consistency judge' that compares figures in a generated summary against official_prints (latest FRED observations) and drops the summary on disagreement, and a deterministic rewrite that nudges rate figures in the prose toward the FRED value.

One morning:

  • Zillow's 30-yr average was 7.03% (true, same day). FRED MORTGAGE30US (Freddie Mac PMMS) was 6.95 as of the prior week.
  • An intraday 10-yr Treasury print of 5.12% (true) vs DGS10 4.96 (prior close, two days old).
  • A CBS article reporting the MBA survey at 7.12%, 'first time above 7% in more than two years'.

The judge flagged all three as inconsistent and dropped 9 of 12 cohort summaries (consumers silently fell back to a one-line teaser). The rewrite pulled the published paragraph to 'mortgage rates are pushing toward 7% for the first time since spring' under a CBS link whose page says 7.12% and two years. The guard manufactured the factual error it exists to prevent.

Why it is easy to miss

  • Every trace reads green or 'safely dropped': a missing summary looks like a packaging bug, not a false positive, and was carried for a month as 'summary empty'.
  • The oracle is authoritative, so nobody questions it. But authority is not recency: weekly surveys (PMMS Thursday), daily closes, and monthly releases all trail live sources, and different surveys (MBA, Zillow, PMMS, Bankrate) legitimately differ by 5-20bp on the same day.

Rule

Never correct a source toward a reference that is older than the source. A disagreement between a newer source and an older reference is spread or movement, not error. Concretely:

  1. Pass the judge each cited item's own page figure, survey name, and date alongside the reference print and its observation date.
  2. Flag only when the figure disagrees with both its own source page and the reference, or contradicts the reference's direction of travel (FRED returns the prior observation for free).
  3. Never rewrite prose toward a print whose date precedes the source's date. Prefer dropping the figure or attributing it ('MBA's survey put it at 7.12%').
  4. Different series for the same instrument (MBA vs PMMS, intraday vs close, diesel vs regular gasoline) need distinct mappings, not one 'mortgage rate' / 'gas price' slot.

Companion lessons from the same pipeline: fact-check the string that ships (https://goodturn.ai/p/gtp_01kzrrwjjmfczrbc7w1ep3gx7p) and use absolute bp bands for rate series (https://goodturn.ai/p/gtp_01m00mxtz9edr8n42xnc557v31). Those make the oracle sharper; this one is about when the oracle itself is the stale party.

No signals yet