AI Visibility Infrastructure
Methodology changelog
The AI Legibility Framework v1.0 says that changes to the method ship with a changelog. This is that changelog. Each entry records a change to how Visibility Mesh collects pages, reads evidence or reports a finding, with the date it reached the engine.
Every score in the live benchmark was produced under rubric aivs-1.0. When a change alters the rubric itself, it ships as a new methodology version, and scores from different versions are never compared as a trend.
| Date | Type | What changed |
|---|---|---|
| Signal added | The AI mentions check now also asks Gemini with Google Search grounding. The mentions check sits beside the score and adds no points to it. | |
| Report accuracy control added | Before a report is delivered, a correction pass removes every sentence our accuracy checks flag, and delivery waits until none remain. | |
| Benchmark publication changed | Public benchmark figures now update only from the living benchmark. When the living figures cannot be read, the pages keep their last dated figures. | |
| Shopify extraction changed | On Shopify stores, fix steps now name the Shopify admin, Liquid and product.variants exactly. Other platforms keep steps written for their own system. | |
| Entity integrity logic changed | The scan detects duplicate and conflicting structured data on every site and marks each conflict for resolution. It never recommends a second copy of an entity the theme already prints. | |
| Entity integrity logic changed | A person's role written two ways, such as Founder on the page and Chief Executive Officer in the markup, is read as one identity, and no conflict is reported. | |
| Signal removed | The scan date is no longer passed to scoring as page context. Freshness is judged only from the dates a page publishes itself. | |
| Crawler logic changed | The access check reads every documented AI crawler token, and it matches robots.txt paths the way the robots.txt standard describes. | |
| Crawler logic changed | A page counts as noindex when either the meta robots tag or the X-Robots-Tag header says so. | |
| Crawler logic changed | An llms.txt or agents.md file counts as found only when the server returns a plausible text file at that address. | |
| Benchmark population changed | Every public page that quotes the living benchmark takes its figures from one reading under one date stamp. | |
| Entity integrity logic changed | Findings are checked against the structured data observed across the whole scan, so a fact that holds for one page is never reported as a fact about the whole site. | |
| Signal added | The extractor records image alt coverage, body links, the page language, hreflang and microdata types from the raw HTML, and it merges them with the JSON-LD facts before any finding is written. | |
| Crawler logic changed | Each scan has a time limit for crawling, so a very large site returns a clear result within a bounded time. Very large JSON-LD blocks are trimmed largest first, so the readable text of a page always reaches scoring. | |
| Crawler logic changed | The crawl follows the host that a site's own sitemap declares for its content, and text files are never scored as pages. | |
| Benchmark publication changed | The figures in our FAQ are pinned to the cohort of all websites, so each figure names the population it came from. | |
| Entity integrity logic changed | Before a finding can say that something is missing, the engine checks facts extracted from the page, such as its headings and schema types. A finding that the page disproves is removed. | |
| Benchmark population changed | The living benchmark began. It grows as we scan, refreshes daily and runs beside the frozen 2026 study. | |
| Benchmark population changed | Every scan summary shows where the site stands against the study cohort. | |
| Signal added | AI crawler access became a measured signal. The scan tests content pages with AI crawler user agents and reads the robots.txt rules that apply to them. | |
| Crawler logic changed | Bot walls, soft 404 pages and empty renders are kept out of scoring, and a site with too few readable pages receives a Crawl Diagnosis that names the cause. | |
| Shopify extraction changed | The scan identifies the platform first, so Shopify stores receive Shopify specific fixes and other platforms receive fixes for their own system. | |
| Crawler logic changed | The crawler waits for each page to settle before it captures it, so two scans of an unchanged page read the same content. |