Skip to content
Flowpane
Level 3 / Method

Cross-file coherence

Each governance file can pass validation alone and still contradict another. Flowpane's coherence engine compares them and reports where your files disagree.

Updated 29 September 2026·4 min read·Markdown

Every governance file can pass its own validation and still contradict another file on the same site. Cross-file coherence is the check for that: Flowpane compares what robots.txt, the sitemaps, llms.txt, ai.txt, security.txt and crawl evidence say about the same site, and reports where they disagree. Contradictions are how carefully maintained files mislead in public.

Why valid is not enough

Each file has its own owner and its own release cycle. Search specialists own the sitemap, the platform team owns robots.txt, security owns security.txt, and a policy owner signs off ai.txt. Validators check each file against its own specification. Nobody checks the pair.

Readers do. A search crawler reads robots.txt and then the sitemap. An AI assistant reads llms.txt and then fetches its links, subject to robots.txt. When two files disagree, the reader has to guess which one you meant, and whichever it chooses, one of your published statements is being ignored.

Six contradictions, in pairs

The engine runs 16 rules. Most compare two files; a few look at the set as a whole. Each result is rated critical, warning or information.

robots.txt blocks URLs the sitemap lists

# robots.txt
User-agent: *
Disallow: /products/
<url><loc>https://www.example.com/products/tent-2p</loc></url>

The sitemap asks for the page to be crawled; robots.txt forbids it. Flowpane evaluates the * group, which a general crawler follows, and cites up to three affected URLs. Rated critical.

The sitemap lists noindex pages

The sitemap includes https://www.example.com/checkout/confirm, and that page carries <meta name="robots" content="noindex">. The sitemap says index it; the page says do not. This rule needs Deep Scan crawl evidence, so it runs only after a crawl. Rated critical.

The sitemap is not declared in robots.txt

A valid sitemap exists at /sitemap.xml, but robots.txt has no Sitemap: line. Only crawlers that guess the conventional path will find it. One line fixes it: Sitemap: https://www.example.com/sitemap.xml. Rated warning.

llms.txt links to URLs robots.txt blocks

# llms.txt
- [API reference](https://www.example.com/docs/api): Endpoints and authentication
# robots.txt
User-agent: GPTBot
Disallow: /docs/

llms.txt recommends a page that a robots-respecting AI crawler is told not to fetch. Flowpane checks each link against the named AI crawlers in its registry, falling back to the * group where a crawler has no group of its own. This is reported as an access observation rather than a contradiction, because curating for some crawlers and not others can be deliberate. Rated warning.

robots.txt and ai.txt disagree about training

# robots.txt
User-agent: *
Content-Signal: search=yes, ai-train=no
# ai.txt
AI-Training: yes

Two opposite statements about the same use. Only a direct yes against no counts; conditional never conflicts. Rated critical. The same comparison between ai-input and AI-Input is rated warning.

ai.txt and security.txt give different contacts

# ai.txt
Contact: mailto:legal@example.com

# /.well-known/security.txt
Contact: mailto:security@example.com

This is often intentional. The finding asks you to confirm that both addresses are monitored. Rated information.

The full rule set

RuleFilesRating
Sitemap URLs blocked by robots.txtrobots.txt, sitemapsCritical
Sitemap lists noindex pagessitemaps, crawlCritical
security.txt has expiredsecurity.txtCritical
Training preference conflictrobots.txt, ai.txtCritical
Sitemap not declared in robots.txtrobots.txt, sitemapsWarning
llms.txt links blocked for AI crawlersllms.txt, robots.txtWarning
llms.txt links fail URL verificationllms.txtWarning
security.txt expires within 30 dayssecurity.txtWarning
Input preference conflictrobots.txt, ai.txtWarning
ai-train=no with no training crawler rulesrobots.txtWarning
Contacts differai.txt, security.txtInformation
No AI rules in robots.txtrobots.txtInformation
No AI preference declared anywhererobots.txt, ai.txtInformation
security.txt absentsecurity.txtInformation
llms.txt absentllms.txtInformation
humans.txt absenthumans.txtInformation

A rule that needs a file or evidence Flowpane does not have is skipped, not failed. URL verification for llms.txt links is available on paid plans.

How coherence is reported

Coherence is reported separately from the site score and never changes it. The site score is a weighted average of per-artefact scores; a site can score in the 90s and still carry a critical contradiction, and coherence is where that shows.

The coherence result has three parts: a score from 0 to 100, starting at 100 and reduced by 15 for each critical finding, 8 for each warning and 3 for each information finding; a posture of comprehensive, partial, minimal or none; and the findings themselves, each naming the files involved and a plain-English fix.

Coherence also feeds the AI Readiness grade. A clean coherence result earns a small bonus there, and conflicts replace it with a penalty.

Flowpane never resolves a contradiction for you. Deciding which file is right is an organisational decision: sometimes the sitemap is wrong, sometimes robots.txt is. The finding tells you where the disagreement is; you decide which side to change and publish it, and the next public check re-runs every rule.