{"version":"2026-07-05","name":"Visa Atlas SEO/GEO audit evidence pack","description":"Big-4-style evidence pack mapping the Visa Atlas SEO/GEO dominance plan to public controls, local evidence workflows, remaining external evidence needs and private-data boundaries.","license":"CC BY 4.0","attribution":"Visa Atlas","sourceDatasets":["/api/public/visibility-metrics","/api/public/traffic-forecast","/api/public/technical-seo-controls","/api/public/topical-authority-map","/api/public/content-opportunities","/api/public/execution-readiness","/api/public/source-transparency-benchmark","/api/public/competitor-query-battlecards","/api/public/battlecard-search-experiments","/api/public/serp-answer-surface-snapshots","/api/public/quarterly-market-share-summary","/api/public/crawler-access","/api/public/authority-distribution-plan","/api/public/publisher-citation-kits","/api/public/external-repository-mirrors","/api/public/expert-reviewer-entities","/api/public/reviewedby-schema-rollout","/api/public/high-risk-page-review-acquisition","/api/public/p0-reviewed-page-refresh","/api/public/indexable-pages","/api/public/freshness"],"methodology":{"sourceOfTruth":"Rows consolidate public datasets, research reports, local audit commands and private-evidence policies into an audit matrix for the SEO/GEO dominance plan.","completionStandard":"The evidence pack can prove control readiness, but it does not mark the 500k/month objective complete until reviewed analytics, GSC, AI-citation and market-share evidence prove the outcome.","signoffRules":["Public-control rows must have stable public evidence and passing local commands.","Local-workflow rows can define measurement protocols without publishing raw private exports.","External-evidence-needed rows cannot be used as outcome claims until reviewed external or private evidence is approved."],"versionInputs":{"visibilityMetricsVersion":"2026-07-03","trafficForecastVersion":"2026-07-03","technicalSeoControlsVersion":"2026-07-04","topicalAuthorityMapVersion":"2026-07-04","contentOpportunityVersion":"2026-07-03","sourceTransparencyVersion":"2026-07-04","crawlerAccessVersion":"2026-07-03","aiAnswerAccuracyAuditVersion":"2026-07-03","battlecardSearchExperimentsVersion":"2026-07-03","quarterlyMarketShareSummaryVersion":"2026-07-05","authorityDistributionPlanVersion":"2026-07-03","publisherCitationKitsVersion":"2026-07-03","externalRepositoryMirrorsVersion":"2026-07-03","indexablePageManifestVersion":"2026-07-03","expertReviewerEntitiesVersion":"2026-07-02","reviewedBySchemaRolloutVersion":"2026-07-02","highRiskReviewAcquisitionVersion":"2026-07-02","p0ReviewedPageRefreshVersion":"2026-07-02"},"privateEvidencePolicy":"Raw analytics, Search Console exports, server logs, AI transcripts, screenshots, outreach records, reviewer evidence and user profiles stay local unless separately reviewed, redacted and aggregated.","caveats":["This pack is an audit evidence matrix, not proof of current traffic, rankings, citations, backlinks or market share.","External-evidence-needed rows identify required proof before outcome claims can be made.","Passing local controls does not guarantee Google rankings, AI citations, backlinks or 500k monthly visitors."]},"summary":{"rowCount":12,"statusCounts":{"proved-public-control":6,"local-workflow":3,"external-evidence-needed":3},"publicEvidenceCount":61,"sourceDatasetCount":36,"commandCount":69,"externalEvidenceNeededCount":3},"rows":[{"id":"strategy-and-traffic-model","domain":"strategy","status":"proved-public-control","auditQuestion":"Is the 500k/month target represented as a falsifiable planning model instead of an unsupported current-traffic claim?","whyItMatters":"A large growth target only withstands audit if assumptions, ranges, dependencies and kill gates are explicit before outcome evidence is reviewed.","publicEvidence":["/research/seo-geo-traffic-forecast-2026","/api/public/traffic-forecast","/visibility-metrics","/api/public/visibility-metrics"],"sourceDatasets":["/api/public/traffic-forecast","/api/public/visibility-metrics","/api/public/content-opportunities"],"localCommands":["npm run audit:traffic-forecast","npm run audit:visibility-metrics"],"requiredPrivateEvidence":["Reviewed GSC cohort exports by page class.","Bot-filtered analytics sessions by channel and landing page.","Reviewed AI citation-share runs by fixed benchmark question."],"knownGaps":["The forecast proves planning logic, not current monthly sessions.","Ranges must be rebased when reviewed private evidence contradicts assumptions."],"passCriteria":["Forecast low/high range includes the 500k/month planning target.","Current traffic, ranking and market-share claims are explicitly excluded.","Each cohort exposes measurement commands and falsification gates."],"failureResponse":["Rebase the target range before publishing growth claims.","Do not quote unreviewed analytics exports in public surfaces."],"relatedForecastCohorts":["calculators-tools","data-reference","freshness-policy","longtail-navigation","research-authority"],"privateEvidenceBoundary":"Actual sessions, Search Console rows, AI-citation runs and referrer exports stay local unless reviewed and aggregated."},{"id":"source-provenance-freshness","domain":"source-quality","status":"proved-public-control","auditQuestion":"Can a reviewer trace route, fee, salary, processing, policy and change claims back to source URLs and freshness controls?","whyItMatters":"The vertical is YMYL and freshness-sensitive; stale or unsourced figures would turn the core wedge into a liability.","publicEvidence":["/data","/freshness","/changelog","/api/public/freshness","/api/public/fact-changes","/api/public/policy-claims"],"sourceDatasets":["/api/public/freshness","/api/public/fact-changes","/api/public/policy-claims","/api/public/fees","/api/public/salary-thresholds","/api/public/processing-times","/api/public/cost-to-complete"],"localCommands":["npm run audit:sources","npm run audit:stale","npm run audit:freshness","npm run audit:data-citation","npm run audit:policy-claims"],"requiredPrivateEvidence":["Source-refresh working notes and failed live probes when source liveness is questioned."],"knownGaps":["Network liveness is intentionally skipped in the default release gate and must be run before source-refresh sign-off."],"passCriteria":["Every public figure-bearing dataset exposes source URLs and review dates.","Freshness report has no stale or invalid high-risk records before release sign-off.","Policy claims and fact changes expose stable IDs and source-backed old/new context."],"failureResponse":["Freeze affected content expansion until stale records are fixed.","Remove or caveat claims that cannot be tied to a current source URL."],"relatedForecastCohorts":["data-reference","freshness-policy","core-route-reference"],"privateEvidenceBoundary":"Working notes, failed probes and source-refresh triage remain local until reviewed; public feeds expose only approved source-backed claims."},{"id":"crawl-index-rendering","domain":"technical-seo","status":"proved-public-control","auditQuestion":"Do Google and AI crawlers receive canonical, indexable, server-rendered pages with clear crawl paths and schema?","whyItMatters":"Source templates are not enough. Crawlers consume rendered HTML, sitemap entries, canonical URLs, JSON-LD and internal links.","publicEvidence":["/research/technical-seo-control-plane-2026","/api/public/technical-seo-controls","/research/topical-authority-internal-link-map-2026","/api/public/topical-authority-map","/api/public/indexable-pages","/api/public/search-index"],"sourceDatasets":["/api/public/technical-seo-controls","/api/public/topical-authority-map","/api/public/indexable-pages","/api/public/search-index","/api/public/visibility-metrics"],"localCommands":["npm run audit:technical-seo-controls","npm run audit:topical-authority-map","npm run audit:indexable-page-manifest","npm run audit:noindex","npm run audit:rendered-seo"],"requiredPrivateEvidence":["Live crawler logs when proving real crawler fetches, not only crawl permission."],"knownGaps":["Rendered audit is representative by design; source audits cover broader template classes."],"passCriteria":["Sitemap, indexable-page manifest and noindex controls agree on indexable classes.","Rendered representative pages expose canonical URLs, schema, source context and no accidental noindex.","Topical clusters expose canonical hubs, supporting pages and crawl entry points."],"failureResponse":["Remove or noindex sparse pages until source-backed value is restored.","Fix rendered artifacts, not only source templates."],"relatedForecastCohorts":["longtail-navigation","data-reference","research-authority"],"privateEvidenceBoundary":"Crawl-path intent is public; live crawler-fetch proof requires private server logs or Search Console evidence."},{"id":"open-data-ai-retrieval","domain":"ai-retrieval","status":"proved-public-control","auditQuestion":"Can AI retrievers, journalists and developers discover reusable data through stable public entry points?","whyItMatters":"The GEO wedge depends on the site being easy for AI systems to cite, inspect and reuse without hidden endpoints or runtime LLM facts.","publicEvidence":["/data","/api","/api/public","/api/openapi.json","/ai-agents","/llms.txt","/llms-full.txt","/mcp"],"sourceDatasets":["/api/public","/api/public/crawler-access","/api/public/visibility-metrics","/api/public/technical-seo-controls","/api/public/topical-authority-map"],"localCommands":["npm run audit:data-front-door","npm run audit:openapi","npm run audit:webapi-schema","npm run audit:mcp"],"requiredPrivateEvidence":["Server-log evidence if claiming a specific AI crawler fetched a page or endpoint."],"knownGaps":["Discovery surfaces prove availability and crawl permission, not AI citation or referral outcomes."],"passCriteria":["Every public dataset is listed in /data, /api/public, OpenAPI, API docs and LLM discovery files.","API routes advertise documentation, collection, license and LLM alternate link headers.","MCP remains read-only and provenance-out."],"failureResponse":["Do not add a public feed without catalog, docs, reuse-guide and LLM discovery wiring.","Do not infer AI reach from discovery without citation, referral or server-log evidence."],"relatedForecastCohorts":["data-reference","research-authority"],"privateEvidenceBoundary":"Public endpoints expose reusable contracts; crawler logs, AI referrals and raw citation runs remain local until reviewed."},{"id":"content-page-priority","domain":"content","status":"proved-public-control","auditQuestion":"Are content pieces, page changes and technical changes prioritised from competitor gaps, crawl paths and traffic cohorts?","whyItMatters":"Dominance requires focused page work, not indiscriminate page expansion. The priority model must show why each piece exists.","publicEvidence":["/research/seo-geo-content-opportunity-map-2026","/api/public/content-opportunities","/research/seo-geo-execution-readiness-scorecard-2026","/api/public/execution-readiness","/research/seo-geo-production-queue-2026","/api/public/seo-geo-production-queue","/research/seo-geo-page-action-map-2026","/api/public/seo-geo-page-action-map","/research/topical-authority-internal-link-map-2026","/api/public/topical-authority-map","/research/competitor-query-battlecards-2026"],"sourceDatasets":["/api/public/content-opportunities","/api/public/execution-readiness","/api/public/seo-geo-production-queue","/api/public/seo-geo-page-action-map","/api/public/topical-authority-map","/api/public/competitor-query-battlecards","/api/public/traffic-forecast","/api/public/source-transparency-benchmark"],"localCommands":["npm run audit:content-opportunities","npm run audit:execution-readiness","npm run audit:seo-geo-production-queue","npm run seo:ticket-evidence -- seo-geo-ticket-evidence.jsonl --json","npm run audit:ticket-evidence","npm run audit:seo-geo-page-action-map","npm run seo:execution-proof -- execution-proof.json --json","npm run audit:execution-proof","npm run audit:topical-authority-map","npm run audit:competitor-query-battlecards","npm run audit:thin","npm run audit:longtail-provenance"],"requiredPrivateEvidence":["GSC query/page exports used to choose between title, snippet, internal-link and new-page work.","Reviewed ticket evidence output proving completed production tickets before executed-work claims.","Reviewed execution proof with approvedForExecutionClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["Public priority rows are planning evidence; actual query lift still needs reviewed GSC experiment outcomes.","Some local-workflow rows require external authority or reviewer evidence before public outcome claims."],"passCriteria":["Priority rows expose page targets, technical changes, competitor wedge, evidence surfaces and source datasets.","Production-ticket evidence is reviewed before a battlecard is treated as executed.","Execution proof reconciles all 52 production tickets, all 13 battlecards and all 118 page-action rows before shipped-work claims are made.","Topical clusters connect page targets to canonical hubs and supporting pages.","Long-tail expansion is subordinate to thin-page and provenance gates."],"failureResponse":["Pause page production if the target has no source-backed role, evidence surface or crawl path.","Prefer improving an existing cluster over adding isolated pages."],"relatedForecastCohorts":["calculators-tools","longtail-navigation","research-authority"],"privateEvidenceBoundary":"Public rows show prioritisation logic. Private Search Console exports and experiment notes stay local until aggregated."},{"id":"competitor-wedge-market-map","domain":"competitor","status":"local-workflow","auditQuestion":"Does the competitor analysis identify the wedge, sampled competitor classes and the query clusters where market share can be won?","whyItMatters":"A dominance plan must prove what it is beating: government sources, law-firm guides, broad aggregators, HR platforms, forums and AI answers.","publicEvidence":["/research/immigration-source-transparency-benchmark-2026","/api/public/source-transparency-benchmark","/research/competitor-query-battlecards-2026","/api/public/competitor-query-battlecards","/research/quarterly-market-share-evidence-summary-2026","/api/public/quarterly-market-share-summary"],"sourceDatasets":["/api/public/source-transparency-benchmark","/api/public/competitor-query-battlecards","/api/public/quarterly-market-share-summary","/api/public/serp-answer-surface-snapshots"],"localCommands":["npm run audit:source-transparency","npm run audit:competitor-query-battlecards","npm run audit:quarterly-market-share-summary","npm run seo:surface-snapshots -- snapshots.jsonl --json","npm run seo:market-share-summary -- surface-summary.json --json","npm run seo:market-share-proof -- market-share-proof.json --json","npm run audit:market-share-proof"],"requiredPrivateEvidence":["Dated SERP captures by battlecard query.","AI answer transcripts with citation URLs and redacted raw evidence.","Reviewed source-class market-share rollups by quarter.","Reviewed market-share proof with approvedForMarketShareClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["The public baseline maps competitor pressure but does not prove current market share won.","Quarterly rollups require reviewed local snapshot evidence before claims are published."],"passCriteria":["Battlecards tie each query cluster to competitor archetypes, target pages and measurement commands.","Public benchmark caveats prevent overclaiming sampled competitor coverage.","Market-share summaries publish only approved aggregate evidence.","Market-share proof verifies complete battlecard coverage, channel-balanced SERP/AI evidence, competitor source-class evidence and stale-claim safety before share claims are made."],"failureResponse":["Do not claim market-share gains from anecdotal SERP checks.","Refresh battlecards when competitor classes materially change."],"relatedForecastCohorts":["research-authority","freshness-policy","longtail-navigation"],"privateEvidenceBoundary":"Raw SERP snapshots, AI transcripts and query rows remain local unless reviewed, redacted and aggregated."},{"id":"ai-citation-accuracy-measurement","domain":"measurement","status":"local-workflow","auditQuestion":"Can the site measure AI citation share and answer accuracy without confusing citations, referrals and crawler access?","whyItMatters":"GEO progress can happen without clicks, while cited AI answers may still be factually wrong. Both need separate evidence.","publicEvidence":["/citation-benchmark","/api/public/citation-benchmark","/research/ai-answer-accuracy-audit-2026","/api/public/ai-answer-accuracy-audit","/answer-capsules","/api/public/answer-capsules"],"sourceDatasets":["/api/public/citation-benchmark","/api/public/ai-answer-accuracy-audit","/api/public/answer-capsules","/api/public/visibility-metrics"],"localCommands":["npm run kpi:citation-share","npm run seo:ai-visibility-proof -- ai-visibility-proof.json --json","npm run audit:citation-benchmark","npm run audit:ai-referrals","npm run audit:ai-visibility-proof","npm run audit:answer-capsules"],"requiredPrivateEvidence":["Raw answer-engine outputs by fixed prompt, engine and date.","AI referral exports with bot filtering and landing-page attribution.","Reviewed grading rows for high-risk answer-key prompts.","Reviewed AI visibility proof with approvedForAiVisibilityClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["Public protocols exist; current citation share and AI answer accuracy require local runs and reviewed aggregate publication."],"passCriteria":["Fixed prompt basket remains stable for trend comparability.","Answer keys identify stale or wrong claims separately from citation presence.","AI referrals, citations and crawler access remain separate metrics.","AI visibility proof joins full fixed-basket citation-share, answer-accuracy and bot-filtered AI-referral evidence before GEO visibility claims are made."],"failureResponse":["Do not publish unscoped AI answer examples as outcome evidence.","Re-run benchmark after major source changes or high-risk answer corrections."],"relatedForecastCohorts":["freshness-policy","research-authority","data-reference"],"privateEvidenceBoundary":"Raw model outputs, transcripts and referral exports stay local until reviewed and aggregated."},{"id":"gsc-experimentation-outcomes","domain":"measurement","status":"local-workflow","auditQuestion":"Is there a controlled workflow for turning private Search Console data into title, snippet, answer-capsule and internal-link experiments?","whyItMatters":"Organic growth claims must be tied to scoped baseline and comparison windows, not impressions anecdotes.","publicEvidence":["/research/battlecard-search-experiments-2026","/api/public/battlecard-search-experiments","/research/competitor-query-battlecards-2026","/api/public/competitor-query-battlecards"],"sourceDatasets":["/api/public/battlecard-search-experiments","/api/public/competitor-query-battlecards","/api/public/visibility-metrics"],"localCommands":["npm run seo:gsc-opportunities -- gsc-queries.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=web","npm run seo:gsc-battlecard-experiments -- gsc-queries.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=web","npm run seo:gsc-experiment-outcomes -- gsc-experiment-outcomes.jsonl --json","npm run audit:gsc-cohorts","npm run audit:gsc-experiment-outcomes"],"requiredPrivateEvidence":["Scoped GSC baseline and comparison exports.","Approved experiment outcome JSONL rows with export hashes and period metadata."],"knownGaps":["Public experiment contracts exist, but raw query/page data remains private and must be reviewed before public outcome claims."],"passCriteria":["Every experiment declares changed pages, query rules, measurement commands and decision rules.","Outcome rows require baseline/comparison periods, scope match and redacted export hashes.","Private GSC data is never embedded directly in public pages."],"failureResponse":["Reject outcome claims without matching baseline/comparison scope.","Revert or re-test changes that fail decision rules."],"relatedForecastCohorts":["calculators-tools","data-reference","longtail-navigation"],"privateEvidenceBoundary":"Raw Search Console exports stay local; public evidence can include only reviewed aggregate outcomes."},{"id":"authority-distribution-backlinks","domain":"authority","status":"external-evidence-needed","auditQuestion":"Is there an auditable path from original data and tools to off-site citations, repository mirrors, backlinks and entity signals?","whyItMatters":"A site cannot dominate a vertical through on-site excellence alone; it needs authority distribution that is measurable and not bought-link theater.","publicEvidence":["/research/authority-distribution-plan-2026","/api/public/authority-distribution-plan","/research/publisher-citation-kits-2026","/api/public/publisher-citation-kits","/research/external-data-repository-mirrors-2026","/api/public/external-repository-mirrors","/research/knowledge-graph-entity-seeding-2026","/api/public/knowledge-graph-entities"],"sourceDatasets":["/api/public/authority-distribution-plan","/api/public/publisher-citation-kits","/api/public/external-repository-mirrors","/api/public/knowledge-graph-entities","/api/public/visibility-metrics"],"localCommands":["npm run audit:authority-distribution","npm run audit:publisher-citation-kits","npm run audit:repository-mirrors","npm run audit:knowledge-graph","npm run seo:authority-distribution -- authority-distribution-log.jsonl --json","npm run seo:authority-proof -- authority-proof.json --json","npm run audit:authority-proof","npm run seo:publisher-citation-kits -- outreach-log.jsonl --json","npm run seo:repository-mirrors -- repository-mirror-log.jsonl --json"],"requiredPrivateEvidence":["Approved external publication URLs with canonical backlinks.","Repository accession or DOI evidence when available.","Publisher outreach logs and accepted citation evidence.","Reviewed authority outcome proof with approvedForAuthorityClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["Launch readiness is public; completed third-party publication and backlink evidence must come from reviewed external rows.","No public claim should imply completed off-site publication until evidence exists."],"passCriteria":["Each distribution channel has public entry points, copy assets, evidence fields and local commands.","Approved off-site rows include source URLs, canonical backlinks and review status.","Reviewed authority proof meets approved public evidence, channel, canonical backlink, source-preservation and anti-paid-link requirements before authority claims are made.","No paid-link, guaranteed-backlink or unapproved launch claims are published."],"failureResponse":["Do not publish authority wins without approved external evidence rows.","Remove or correct unverified sameAs, DOI or backlink claims."],"relatedForecastCohorts":["research-authority"],"privateEvidenceBoundary":"Contacts, credentials, outreach notes, rejected submissions and unpublished listing URLs stay local unless approved for aggregate publication."},{"id":"ymyl-trust-reviewer-controls","domain":"ymyl-trust","status":"external-evidence-needed","auditQuestion":"Are high-risk immigration pages governed by reviewer evidence controls before reviewedBy schema or reviewer claims go live?","whyItMatters":"Visa and immigration pages are high-risk YMYL. Trust improvements must be real, credential-backed and blocked by default.","publicEvidence":["/research/expert-reviewer-entity-program-2026","/api/public/expert-reviewer-entities","/research/reviewedby-schema-rollout-2026","/api/public/reviewedby-schema-rollout","/research/high-risk-page-review-acquisition-2026","/api/public/high-risk-page-review-acquisition","/research/p0-reviewed-page-refresh-2026","/api/public/p0-reviewed-page-refresh"],"sourceDatasets":["/api/public/expert-reviewer-entities","/api/public/reviewedby-schema-rollout","/api/public/high-risk-page-review-acquisition","/api/public/p0-reviewed-page-refresh","/api/public/visibility-metrics"],"localCommands":["npm run audit:expert-reviewers","npm run audit:reviewedby-schema","npm run audit:review-acquisition","npm run audit:p0-page-refresh","npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run seo:review-acquisition -- reviewer-acquisition-log.jsonl --json","npm run seo:p0-page-refresh -- p0-reviewed-page-refresh-log.jsonl --json","npm run seo:reviewer-proof -- reviewer-trust-proof.json --json","npm run audit:reviewer-proof"],"requiredPrivateEvidence":["Reviewer credential evidence and regulator checks.","Reviewed page handoff notes and approved content diffs.","Approved reviewedBy schema fragments before emission.","Reviewed YMYL reviewer trust proof with approvedForReviewerTrustClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["Controls are public and blocked by default; actual reviewer completion needs private evidence and approved handoff rows.","reviewedBy schema must remain blocked until evidence is approved."],"passCriteria":["Reviewer acquisition, schema rollout and P0 refresh controls remain blocked until evidence exists.","Reviewer claims distinguish source editing from regulated review.","High-risk page refreshes require source freshness, legal-scope and content-diff evidence.","Reviewer trust proof joins reviewer evidence, acquisition handoff, reviewedBy export and P0 page-refresh rows into complete cross-workflow reviewer evidence chains."],"failureResponse":["Remove reviewedBy schema or reviewer claims without approved evidence.","Do not publish high-risk page refresh claims from private notes alone."],"relatedForecastCohorts":["core-route-reference","calculators-tools","research-authority"],"privateEvidenceBoundary":"Reviewer contacts, credential documents, notes and content diffs stay local unless separately approved for publication."},{"id":"release-gate-governance","domain":"governance","status":"proved-public-control","auditQuestion":"Is there a repeatable release gate that runs source, technical, rendered, freshness and evidence-boundary checks before launch?","whyItMatters":"Audit readiness requires a reproducible control chain, not one-off manual confidence.","publicEvidence":["/research/technical-seo-control-plane-2026","/api/public/technical-seo-controls","/api/public/visibility-metrics"],"sourceDatasets":["/api/public/technical-seo-controls","/api/public/visibility-metrics","/api/public/seo-geo-audit-evidence","/api/public/execution-readiness"],"localCommands":["npm run audit:seo-geo","npm run audit:all","npm run audit:release-gate","npm run audit:execution-readiness","npm run audit:rendered-seo"],"requiredPrivateEvidence":["Optional source-liveness runs and release sign-off notes when external verification is required."],"knownGaps":["Default full gate skips network liveness; run with --include-liveness before source-refresh or release sign-off."],"passCriteria":["TypeScript, source audits, production build and rendered SEO audit pass.","Critical technical controls block release when failed.","Private evidence controls reject unreviewed analytics, GSC, crawler, market-share and reviewer claims."],"failureResponse":["Block release until failing gates are corrected.","Do not publish outcome claims from a failed gate."],"relatedForecastCohorts":["calculators-tools","data-reference","freshness-policy","longtail-navigation","research-authority"],"privateEvidenceBoundary":"Gate outputs can be summarized publicly; raw private evidence used by optional checks stays local unless reviewed."},{"id":"outcome-proof-500k","domain":"measurement","status":"external-evidence-needed","auditQuestion":"What evidence would prove the objective has actually reached 500k+ monthly visitors and durable vertical market-share gains?","whyItMatters":"The project can be technically audit-ready before the business outcome is proven. Completion requires outcome evidence, not only green controls.","publicEvidence":["/visibility-metrics","/api/public/visibility-metrics","/research/seo-geo-traffic-forecast-2026","/api/public/traffic-forecast"],"sourceDatasets":["/api/public/visibility-metrics","/api/public/traffic-forecast","/api/public/quarterly-market-share-summary"],"localCommands":["npm run seo:traffic-outcome-proof -- traffic-outcome-proof.json --json","npm run seo:gsc-cohorts -- gsc-pages.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=gsc-domain-redacted --search-type=web","npm run seo:ai-referrals -- analytics-referrers.csv --json --period-start=YYYY-MM-DD --period-end=YYYY-MM-DD --property-label=ga4-redacted --bot-filtered","npm run seo:market-share-summary -- surface-summary.json --json","npm run seo:market-share-proof -- market-share-proof.json --json","npm run audit:traffic-outcome-proof","npm run audit:market-share-proof"],"requiredPrivateEvidence":["A reviewed monthly analytics export showing at least 500k qualified monthly visits.","Search Console cohort evidence showing durable organic growth by page class.","Reviewed AI citation-share and market-share evidence showing visibility gains across the fixed benchmark.","Reviewed market-share proof output with proved-reviewed-market-share-evidence and no failed requirements.","Reviewed traffic outcome proof output with approvedForOutcomeClaim=true, reviewedAt, reviewedBy and no failed requirements."],"knownGaps":["Current public evidence does not claim the 500k monthly visitor outcome has been achieved.","Outcome proof must include bot filtering, date ranges and reviewed aggregate publication rules."],"passCriteria":["500k+ monthly qualified visits are proven by reviewed analytics evidence.","GSC and AI-citation evidence support that the growth is SEO/GEO driven, not a one-off referral spike.","Market-share evidence is summarized from reviewed SERP and AI answer-surface snapshots.","A complete approved market-share rollup covers all 13 battlecards and all 10 high-priority clusters.","Reviewed market-share proof verifies the complete rollup before the traffic outcome proof consumes it."],"failureResponse":["Keep the goal active until outcome evidence exists.","Rebase forecast assumptions when observed evidence materially underperforms."],"relatedForecastCohorts":["calculators-tools","data-reference","freshness-policy","longtail-navigation","research-authority"],"privateEvidenceBoundary":"Raw analytics, GSC exports, referrers, bot logs, screenshots and transcripts remain private until reviewed and aggregated."}]}