
The Washington Post's AI-generated podcast didn't fail because of the model. A Semafor report in December 2025 published the leaked Slack message from the standards editor: "It is truly astonishing that this was allowed to go forward at all." When I read the coverage, I was less interested in the editorial outrage than the technical explanation — because the specific failures described (invented quotes, misattributed sources, editorial commentary inserted as the paper's own position) sounded like symptoms of a missing citation-enforcement layer, not a bad model choice. The FT had launched Ask FT on Anthropic Claude with mandatory citations as a hard architectural constraint. WaPo hadn't. That's the entire divergence.
I now treat citation enforcement as a prerequisite on every publisher build, not as a layer someone adds later.
The Thing That Breaks First Is Never What I Expected

My first time loading a 30-year newspaper archive for a regional daily, I expected the hard part to be the vector database configuration, or the GraphRAG entity schema, or the CMS integration. What actually consumed the first several weeks was the byline table.
Variant spellings of the same journalist's name across two CMS migrations and an acquisition. "Alderman Johnson" and "John Johnson" and "the longtime Northwest Side alderman" all referring to the same person in the local political beat. A vector database retrieves by semantic similarity — it has no concept that three strings are the same entity. Collapsing those to a single node requires a dedicated disambiguation pass, and doing it well against a specific archive takes time that nobody selling a $60K–$120K SaaS chatbot is accounting for.
Tesseract without column detection on a 1994 broadsheet layout produces artifacts that bleed caption text into article body copy and split multi-column headlines across paragraphs. That's the shape of what 25-year-old content looks like before it's cleaned, and it's why the "archive ingestion" step that every vendor demo glosses over in 30 seconds is what consumes 60% of the actual build.
I keep a reference doc for every publisher project covering the Arc XP Content API integration pattern — the sidecar ingestion pipeline reconciling publication timestamps with entity-graph edge metadata, triggered by the Composer webhook on article publish. Not because Arc XP is particularly difficult, but because every CMS (WordPress VIP, Atypon's Literatum stack, Brightspot) needs its own bolt-on approach and none of them ship with native embedding hooks. The integration that runs correctly is the one someone has shipped before.
Why I've Stopped Answering "Should We Build?"

I've had the same question in enough publisher conversations that I've stopped answering it directly: should we build our own AI chatbot over the archive? The framing is wrong.
The question I actually want to answer for them is: what does building it without the Washington Post outcome require? Getting there starts with the archive ingestion — the byline disambiguation and OCR artifacts that consume 60% of the real build and that no SaaS chatbot demo mentions. Then entity resolution using Microsoft GraphRAG or Neo4j's GraphRAG Python package, with valid_start/valid_end edge metadata on entity relationships, so the system can decompose "how has coverage of this issue changed over ten years?" into date-bounded sub-queries rather than retrieving the most semantically proximate chunk. Underneath all of it, the citation-enforcement layer and editorial review queue — where low-confidence answers get flagged before they reach subscribers, and the confidence signals the queue acts on come from accurate entity resolution and temporal grounding.
That's a scope, not a yes/no. Once I've laid it out, the "should we build?" question tends to become "can we scope this at a cost that makes sense?" — which is a much more useful conversation.
The query a subscriber actually types — "how has coverage of this issue changed over the last five years?" — either works or doesn't, and whether it works depends entirely on whether someone built the temporal graph.
The companion question — which publishers almost never raise first — is the licensing plays. The traffic context makes both plays urgent: AI Overviews now appear on 48% of Google queries (theStacc, March 2026), publisher search traffic fell roughly 33% year-over-year through November 2025, and Reuters Institute's 2026 survey projects a further 43% decline by 2029. That's the scale of what the licensing plays are trying to capture. A publisher running Cloudflare Pay Per Crawl, enrolled in the NMA/ProRata collective (2,200 publishers, 50/50 attribution-tracked revenue share, launched March 2026), and running Tollbit for bot-by-bot crawl tolls is running three separate revenue captures on their archive simultaneously. None of those are substitutes for the conversational engine; none of them create subscriber-facing value. They capture leakage from AI engines the publisher doesn't control.
I had to explain this to a VP Digital at a trade publication in early 2026 who had framed it as a choice between building a conversational engine and using Cloudflare — as if they needed to pick one. My answer was both — and they're parallel decisions, not sequential. The crawl revenue from Cloudflare and Tollbit and the News/Media Alliance / ProRata pool captures what flows out to AI training datasets. The conversational engine is the retention play — the subscriber value that comes back in. News Corp struck roughly $250M over five years with OpenAI; the NMA/ProRata structure is what makes the same logic accessible at mid-tier scale, for the 2,200 publishers who can't negotiate that kind of enterprise deal.
Where I Still Get the Build Estimate Wrong

The architecture I've converged on — temporal GraphRAG over the publisher's archive, citation enforcement wired in, CMS-specific ingestion, editorial review queue, parallel licensing plays — is more repeatable than it was two years ago. The practice we've built at Veriprajna has run this stack for mid-tier publishers who can't afford the Big Five's in-house headcount (6–20 ML engineers over 12–24 months) and don't have $1.5M–$5M and a long discovery phase for a large SI engagement.
What I still consistently underestimate is how long the licensing plays take to show real revenue. Per-query attribution pricing in the NMA/ProRata model is still in price discovery — rates set today will look different once there's volume data across 2,200 publishers. Whether Gist.ai's adoption against ChatGPT and Perplexity validates the collective licensing model is genuinely unknown, and I don't think any publisher should be forecasting that revenue with precision right now.
The Penske Media antitrust case against Google (motion to dismiss filed January 2026, PMC opposed February 2026) is the one I'm actually watching closely. Not because I think a court ruling will reverse the traffic decline — it won't — but because a ruling on the merits would shift the negotiating floor for any mid-tier publisher trying to get a direct licensing arrangement with a major AI lab. It changes what "fair dealing" means in the AI-content-crawl relationship. That's the outcome worth monitoring.
The technical side of this I'm confident in. The WaPo failure mode is architectural and preventable. The FT outcome is replicable. The mid-tier publisher who can't staff a six-person ML team and can't afford an Accenture engagement can still get a production-quality publisher RAG — if the build partner has done the unglamorous archive work before. The licensing math, on the other hand, is still being written. I keep checking back on that one.