Field report

Four Pages, Three Answers: When Your Own Library Contradicts Itself

The short answer

What happens when your own pages answer the same question differently?

A day-one adversarial review of our auto-finance rebuild's first 67 pages found 4 pages answering the same question 3 different ways — on the build whose entire strategy is correcting contradictions between sources. The same review found a retired convention back on 6 pages, because writing agents had matched exemplar pages that predated the retirement [our data].

The build whose whole positioning was "we correct the questions where sources contradict each other" shipped 67 pages, and its own day-one review found four of them answering one question three different ways [our data]. This is that field report: what the review found, why gates that passed every file missed it, and what the fix actually was.

The uncomfortable part is not the defect. It is that the defect was invisible to a pipeline specifically built to catch defects.

What was the situation?

Our auto-finance rebuild was a migration onto a live-traffic domain, and its citation strategy rested on an answer-variance registry: 20 questions where reputable sources publish contradictory answers, on the theory that a page which resolves a documented contradiction is worth citing [our data]. Whether that theory earns citations is not something we can claim — nobody controls answer-engine output — but it decided what got built first.

The first day's output was roughly 67 pages across multiple tranches, written by parallel agents under a binding tranche brief, with a source gate over the markdown that every file passed. On day 1 a full adversarial review ran against that build [our data]. Its P0/P1 findings included renderer defects and factual corrections; its P2 findings produced the output gate and a JSON-LD escaping fix. Two findings were about the corpus rather than any single page.

What did the day-one review find?

Two contradiction defects, from different causes [our data]:

DefectScaleHow it got inWhy gates missed it
One question answered three ways4 pagesSeveral writers independently resolved a genuinely contested questionThe gate validates one file at a time; consistency is a corpus property
A retired convention resurrected6 pagesAgents matched exemplar pages written before the claim was retiredNo pattern existed for the retired claim, so nothing could fail on it

The first defect was the rate-shopping window — the kind of question where published sources genuinely disagree, which is exactly why it was on the variance registry in the first place. Four pages touched it; three positions appeared. Each writer had done something defensible with an ambiguous question, and the aggregate was a site that could not be trusted on its own specialty subject. (The correct answer for that vertical lives on that build with its own sources; this page is about the failure mode, not the finance question.)

The second was worse in a quieter way. A claim had been formally retired, the style guide said so, and six new pages carried it anyway — because writing agents learn conventions from the exemplar pages they are pointed at, and those exemplars predated the retirement. The claim was dead in the documentation and alive in the corpus, and the corpus is what writers actually read.

Why does this happen to gated, parallel production?

Because gates are per-file and contradictions are cross-file. Our source gate enforces the content contract page by page — frontmatter completeness, answer length, forbidden claims, internal link targets — and passes every one of those checks on a page that confidently states the opposite of its neighbor. There is no line in a per-page validator where the corpus gets an opinion.

The parallel-writing method makes it likelier, not rarer. Under a good brief, several capable writers handed the same ambiguous question will each pick a reasonable answer, and reasonable answers to contested questions differ. That is the failure mode the tranche-brief method has to design around, and the mechanics of doing it are in publishing pages in parallel without contradictions.

Google's people-first guidance frames the stake in reader terms rather than technical ones — content that demonstrates reliability and depth (Google, helpful content guidance). A reference library that answers one question three ways has failed that bar in a way no amount of markup compensates for.

What did we change?

Two ordering changes, both cheap and both only effective before the fact [our data].

Canonical stances get published before the fleet starts. For every question where sources disagree, the site's position is decided and written down first: the answer, the reasoning, the source it rests on. Writers do not resolve contested questions independently — they inherit a resolved one. On a variance-registry strategy this is not optional, because every registry entry is by definition a question multiple writers will meet.

A retired claim gains a build-failing pattern the day it is retired. Not the week after, not at the next audit. The gate carries an explicit list of retired conventions, and any page reintroducing one fails the build, with a named exception for pages whose job is to debunk the claim. This library's own source gate ships that list, currently empty, waiting for the first claim to earn an entry [our data].

Neither fix is a detection improvement. Both are ordering fixes: they move the decision earlier than the writing, which is the only place it is cheap.

What was the outcome?

The corrections landed in the same day's fix pass, and the two mechanisms became standard [our data]. The honest scope of that result: what we can report is defect counts and process changes, not traffic. We have no measurement of what the contradictory pages cost while they were live, because they were live for hours on a build days old, and any figure we attached to that would be invention.

What the episode did produce is a rule about audits. The adversarial review was scheduled as a fixed phase and found two defect classes the gates could not see — the same pattern as every other audit we have run, catalogued in what three fact audits caught, and the claim-by-claim method itself is documented in how to fact-audit at scale.

What is the generalizable rule?

Decide the contested answers before you write, and encode every retirement the day it happens. Self-contradiction is a distinct failure from duplication and a more expensive one: two pages saying the same thing waste production budget, while two pages saying different things make a reader discount both — and a library sells nothing but the reliability of its answers.

The practical checklist is short. List the questions in your topic where sources disagree, resolve each one in writing before the first page is drafted, keep exemplar pages current because writers imitate them faster than they read guidelines, and give every retired claim a gate pattern. Then accept the limit: consistency is what keeps you eligible to be quoted accurately, and being quoted at all is never something anyone can promise — which is why our GEO guide is built around eligibility rather than outcomes.

Frequently asked questions

What happens when two of your own pages answer the same question differently?

You publish a contradiction under one brand. Any reader or engine that encounters both has no way to tell which is current, and the site loses the one thing a reference library sells — that its answer can be relied on without checking a second source.

How did contradictory pages get past automated gates?

Because the gates read one file at a time. Our source gate enforces per-page contract rules — frontmatter, word counts, forbidden claims, link targets — and has no cross-page view of what a claim says. Consistency is a corpus property, not a file property [our data].

Why do parallel writing agents contradict each other?

Because each one resolves ambiguity independently and reasonably. Given a question where sources genuinely disagree, several writers will pick several defensible answers. Nothing in a per-page brief makes them converge unless the answer is decided before they start [our data].

What is a canonical stance?

A pre-decided, written answer to a question the site will be asked repeatedly, published to writers before any page is drafted. It names the answer, the reasoning, and the source, so every page that touches the question repeats one position instead of inventing one.

How do you stop a retired claim from coming back?

Add a build-failing pattern for it the day it is retired. In our case a retired convention returned on 6 pages because agents matched older exemplar pages faithfully — the claim was dead in the style guide and alive in the corpus, and only the corpus is what writers read [our data].

Sources

  1. Creating helpful, reliable, people-first contentGoogle