Lineage
Lineage coverage matrix
NAP claims carry the whole evidence path: a byte locator in the sealed page, the extracted value, the claim it supports, the inputs the rule read, the decision with its span, the points it moved, and the decision leaf in the signed root. This matrix measures how much of that path every finding family has, computed from stored records and nothing else: 236 records, 0 findings, generated 2026-10-08 12:56 UTC.
Records made by the current observer
0 of the sampled records were measured by the Worker version running now (2649041149cf59e3). These cells are exactly what today’s CrawlCheck records; watched sites are re-measured twice a day, so this table refills within a day of every deploy.
| Finding family | Exact source locator | Extraction | Claim / observation | Rule input | Decision | Score contribution | Verified | Gaps |
|---|---|---|---|---|---|---|---|---|
| NAP and claims 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Robots 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Delivery parity 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Machine files revenue 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| JSON-LD and entities 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Headers revenue 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Capabilities 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Mostly code revenue 0 findings on 0 records · | — | — | — | — | — | — | — | — |
Every sampled record, including older ones
236 older records were measured by an observer that kept no locators and no spans; their missing cells are a fact about the archive. The daily scan replaces each watched site’s record, so this table converges on the one above.
| Finding family | Exact source locator | Extraction | Claim / observation | Rule input | Decision | Score contribution | Verified | Gaps |
|---|---|---|---|---|---|---|---|---|
| NAP and claims 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Robots 40 findings on 34 records · ROBOTS_RULES_SHADOWED 13, ROBOTS_NO_SITEMAP 10, ROBOTS_NOT_200 10, RENDER_RESOURCE_BLOCKED 3, ROBOTS_IS_CATCHALL 2, AI_OPTOUT_SET 1, ROBOTS_DISALLOW_ALL 1 | 97.5% 39/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 8/8 | locator |
why, and the replay (8 of 8 replays reproduced the decision)
| ||||||||
| Delivery parity 23 findings on 22 records · ANSWER_ENGINE_REFUSED 16, HOMEPAGE_REFUSED 4, CRAWLER_SERVED_LESS 2, CRAWLER_REDIRECTED_AWAY 1 | 100% 23/23 | 73.9% 17/23 | 100% 23/23 | 100% 23/23 | 100% 23/23 | 100% 23/23 | 100% 8/8 | extraction |
why, and the replay (7 of 7 replays reproduced the decision)
| ||||||||
| Machine files revenue 40 findings on 27 records · SITEMAP_DECLARES_NOTHING 2, MACHINE_CHAIN_HEAVY 16, SITEMAP_NO_LASTMOD 2, NO_LLMS_TXT 18, NO_SITEMAP_FOUND 2 | 95% 38/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 8/8 | locator |
why, and the replay (6 of 8 replays reproduced the decision)
| ||||||||
| JSON-LD and entities 20 findings on 17 records · ENTITY_NO_COORDINATES 16, ENTITY_COLLISION 4 | 90% 18/20 | 100% 20/20 | 100% 20/20 | 100% 20/20 | 100% 20/20 | 100% 20/20 | 100% 8/8 | locator |
why, and the replay (7 of 7 replays reproduced the decision)
| ||||||||
| Headers revenue 40 findings on 34 records · HSTS_MISSING 16, STALE_CACHE_SERVED 21, HSTS_PRELOAD_INELIGIBLE 3 | 0% 0+40r/40 | 100% 40/40 | 100% 40/40 | 92.5% 37/40 | 100% 40/40 | 100% 40/40 | 100% 8/8 | locator, rule_input |
why, and the replay (4 of 4 replays reproduced the decision)
| ||||||||
| Capabilities 0 findings on 0 records · | — | — | — | — | — | — | — | — |
| Mostly code revenue 40 findings on 40 records · PAGE_IS_MOSTLY_CODE 35, CONTENT_NEEDS_JAVASCRIPT 4, PLACEHOLDER_CONTENT 1 | 87.5% 35/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 40/40 | 100% 8/8 | locator |
why, and the replay (8 of 8 replays reproduced the decision)
| ||||||||
What each column tests
- Exact source locator: the finding carries a byte range, line or field locator into a fetch the manifest keeps (header locators count as 'recorded', not sealed)
- Extraction: the finding carries the extracted value(s) it was decided on (evidence)
- Claim / observation: the finding names the stored fetches it rests on (supported_by with experience ids)
- Rule input: every input the rule read is in the manifest (exact scope), with the rule's revision recorded
- Decision: a decision id with a rule span in the trace (parent stage, reads)
- Score contribution: the score ledger names what this finding did to the grade
- Verified: the decision leaf folds to the decisions root in the signed manifest; the locator cuts the recorded bytes back out of the sealed file
Each cell counts real findings: yes = the link exists on the record, recorded = it is in the record but not in the sealed manifest (headers), no = missing, with why. A family is complete when no measured cell is missing. The revenue-relevant families are the three carrying the most common findings. A cell measures that a link is PRESENT, not that the finding is right. Replay reruns the rule over sealed bytes where the rule's input is sealed; where it is not (headers, outside probes) it says so instead of passing. JSON: /api/lineage-coverage; one finding’s full path: /api/lineage?id=&code=. Sample: the newest record of every domain in the store (newest 240 plus the portfolio); every finding on each, grouped by family; the verified column and the replay are run on the first 8 findings per family that have a sealed manifest.