forked from bchanot/claude
Both agents sample (seo-analyzer.md:403 "sample 5-15 key pages", geo-analyzer.md:460 "Sample 5-10 key pages") and neither states it. The report says "audit". On a 500-page site a 12-page sample is 2.4%, and the reader cannot know that unless it is printed. /client-handover gates on these scores. The denominator was already within reach: STEP 4 fetches sitemap.xml. Count its URLs and the coverage ratio is free — same data C1 will use for sitemap-driven crawl later. - Mandatory COVERAGE line in both scoring blocks: N of M sitemap URLs (P%), or "total UNKNOWN" when no sitemap. Never omitted, never rounded up. - seo: <25% coverage repeats in §0 as a major alert. Sample by risk (one page per template + GSC position 4-10 quick wins), name skipped templates — an un-sampled template is an un-audited template. - geo: scoped honestly rather than blanket — COVERAGE bounds the per-page axes (Content Shape, page-level Schema.org) but NOT the site-wide ones (AI Crawlers Policy, llms.txt are single files, fully read). One ratio should not discredit axes it does not govern. Verified: make test 35 GREEN / 0 RED.