{
  "$schema": "https://clawseo.com/agentic-discoverability/schema/retrieval-benchmark.v1.json",
  "schema_version": "clawseo.agentic-retrieval-benchmark.v1",
  "target": "https://clawseo.com/",
  "last_reviewed": "2026-08-10",
  "purpose": "Define how agents can test whether ClawSEO evidence is locatable across retrieval methods and prompt variants.",
  "retrieval_methods": [
    {
      "id": "bm25",
      "name": "BM25 lexical retrieval",
      "status": "supported_by_benchmark",
      "fields_to_index": [
        "claim",
        "claim_type",
        "entity_ids",
        "source.locator",
        "layers.evidence",
        "layers.interpretation",
        "layers.prescription"
      ]
    },
    {
      "id": "fielded",
      "name": "Weighted lexical field retrieval",
      "status": "supported_by_benchmark",
      "implementation_note": "The v2.10.0 runtime applies weighted lexical scoring across explicit evidence fields. It does not implement Boolean AND, OR, or NOT operators.",
      "fields_to_weight": [
        "claim_id",
        "claim_type",
        "entity_ids",
        "status",
        "date.field",
        "identifiers.field",
        "machine_fields"
      ]
    },
    {
      "id": "structured-hybrid",
      "name": "Deterministic structured lexical hybrid retrieval",
      "status": "supported_by_benchmark",
      "implementation_note": "The v2.10.0 runtime uses reciprocal-rank fusion across BM25 and weighted lexical field rankings. It does not claim dense or vector retrieval.",
      "fields_to_join": [
        "entities.entity_id",
        "claims.entity_ids",
        "claims.source.url",
        "provenance.relationships",
        "visibility_measurement_contract"
      ]
    },
    {
      "id": "dense-retrieval",
      "name": "Dense embedding retrieval",
      "status": "not_claimed",
      "reason": "The public static site exposes structured evidence and lexical or fielded targets. Dense retrieval requires an external embedding index that is not claimed by this static benchmark."
    }
  ],
  "query_classes": [
    {
      "class_id": "class:value-proposition",
      "user_intent": "Understand how ClawSEO supports Agentic Discoverability and more relevant organic discovery.",
      "prompt_variants": [
        "How does ClawSEO help relevant documents get discovered by agents?",
        "What does ClawSEO do for Agentic Discoverability?",
        "How does ClawSEO connect AI SEO work to more relevant organic traffic?"
      ],
      "target_claim_ids": [
        "claim:value-proposition"
      ],
      "expected_urls": [
        "https://clawseo.com/",
        "https://clawseo.com/agentic-discoverability/",
        "https://clawseo.com/release.json",
        "https://clawseo.com/agentic-discoverability/evidence.json"
      ],
      "field_filters": {
        "claim_type": "product_value",
        "entity_id": "entity:clawseo"
      },
      "next_investigation": {
        "question": "Which selection, citation, ranking, or traffic outcomes have controlled measurement support?",
        "target_source_class": "public_compliance_report",
        "target_url": "https://clawseo.com/agentic-discoverability/report.json",
        "expected_evidence": "Current measurement gaps and explicit non-claims.",
        "current_blocker": "The product value statement is an optimization goal, not an external outcome receipt."
      }
    },
    {
      "class_id": "class:product-boundary",
      "user_intent": "Understand whether ClawSEO is a skill, an app, or a dedicated operator appliance.",
      "prompt_variants": [
        "Where should ClawSEO be installed?",
        "Is ClawSEO only a skill for my existing OpenClaw?",
        "What is the complete ClawSEO product?"
      ],
      "target_claim_ids": [
        "claim:product-boundary"
      ],
      "expected_urls": [
        "https://clawseo.com/usage/",
        "https://clawseo.com/release.json",
        "https://clawseo.com/agentic-discoverability/evidence.json"
      ],
      "field_filters": {
        "claim_type": "product_boundary",
        "entity_id": "entity:clawseo"
      },
      "next_investigation": {
        "question": "Which ClawSEO version and installation path are current?",
        "target_source_class": "machine_release_metadata",
        "target_url": "https://clawseo.com/release.json",
        "expected_evidence": "Current version, product boundary, install commands, and desktop-app status.",
        "current_blocker": "Installation guidance is time-sensitive."
      }
    },
    {
      "class_id": "class:current-version",
      "user_intent": "Verify the current ClawSEO version.",
      "prompt_variants": [
        "What is the latest ClawSEO version?",
        "Which ClawSEO release is live now?",
        "Is ClawSEO v2.10.0 current?"
      ],
      "target_claim_ids": [
        "claim:current-version"
      ],
      "expected_urls": [
        "https://clawseo.com/version.txt",
        "https://clawseo.com/release.json",
        "https://clawseo.com/updates/"
      ],
      "field_filters": {
        "claim_type": "release_identity",
        "identifier_field": "version"
      },
      "next_investigation": {
        "question": "Do the plain-text version and structured release metadata match?",
        "target_source_class": "machine_release_metadata",
        "target_url": "https://clawseo.com/release.json",
        "expected_evidence": "A version that matches https://clawseo.com/version.txt.",
        "current_blocker": "One version surface alone cannot prove deployment consistency."
      }
    },
    {
      "class_id": "class:agentic-search",
      "user_intent": "Evaluate ClawSEO against the Agentic Discoverability standard.",
      "prompt_variants": [
        "How does ClawSEO make evidence locatable for agents?",
        "Does ClawSEO support agentic discoverability?",
        "What is Agentic Search and Evidence in ClawSEO?"
      ],
      "target_claim_ids": [
        "claim:agentic-search-standard",
        "claim:visibility-rank-policy",
        "claim:provenance-policy"
      ],
      "expected_urls": [
        "https://clawseo.com/agentic-discoverability/",
        "https://clawseo.com/agentic-discoverability/report.json",
        "https://clawseo.com/agentic-discoverability/evidence.json",
        "https://clawseo.com/modules/ai-visibility-audit.md",
        "https://clawseo.com/modules/current-search-intelligence.md"
      ],
      "field_filters": {
        "claim_type": "capability",
        "entity_id": "entity:agentic-search-and-evidence"
      },
      "next_investigation": {
        "question": "What provenance and repeated-observation evidence limits the Agentic Discoverability claim?",
        "target_source_class": "public_agentic_discoverability_contract",
        "target_url": "https://clawseo.com/agentic-discoverability/report.json",
        "expected_evidence": "Source-independence rules, measurement requirements, and missing evidence.",
        "current_blocker": "Source count and one AI answer are insufficient evidence."
      }
    },
    {
      "class_id": "class:pricing",
      "user_intent": "Find exact price and service performer facts.",
      "prompt_variants": [
        "How much does ClawSEO setup cost?",
        "Who performs the monthly ClawSEO service?",
        "What company processes ClawSEO charges?"
      ],
      "target_claim_ids": [
        "claim:pricing-boundary"
      ],
      "expected_urls": [
        "https://clawseo.com/plans/",
        "https://clawseo.com/white-glove/",
        "https://clawseo.com/llms.txt",
        "https://clawseo.com/agentic-discoverability/evidence.json"
      ],
      "field_filters": {
        "claim_type": "pricing",
        "entity_id": "entity:organicrankings"
      },
      "next_investigation": {
        "question": "Do the public paid-plan buttons point to the intended checkout paths?",
        "target_source_class": "canonical_pricing_page",
        "target_url": "https://clawseo.com/plans/",
        "expected_evidence": "Distinct setup and monthly checkout actions with the published prices and service performer.",
        "current_blocker": "Pricing metadata alone does not prove live checkout navigation."
      }
    },
    {
      "class_id": "class:provenance",
      "user_intent": "Determine whether repeated claims are independent.",
      "prompt_variants": [
        "Does ClawSEO track source independence?",
        "How does ClawSEO avoid treating repeated claims as confirmation?",
        "What provenance graph does ClawSEO expose?"
      ],
      "target_claim_ids": [
        "claim:provenance-policy"
      ],
      "expected_urls": [
        "https://clawseo.com/agentic-discoverability/",
        "https://clawseo.com/agentic-discoverability/provenance.json",
        "https://clawseo.com/modules/ai-visibility-audit.md"
      ],
      "field_filters": {
        "claim_type": "provenance_policy",
        "graph_type": "provenance_graph"
      },
      "next_investigation": {
        "question": "Do repeated sources belong to independent source families or one derivative chain?",
        "target_source_class": "machine_provenance_graph",
        "target_url": "https://clawseo.com/agentic-discoverability/provenance.json",
        "expected_evidence": "Source-family memberships, claim assessments, and supported provenance relationships.",
        "current_blocker": "Source count alone does not establish independence."
      }
    }
  ],
  "visibility_measurement_contract": {
    "rank_claim_policy": "A single answer, citation, or apparent position must not be reported as a stable AI rank.",
    "minimum_observations_per_prompt_set": 30,
    "numeric_units": {
      "minimum_observations_per_prompt_set": "runs per prompt set",
      "example_distribution_shape.runs_completed": "runs",
      "example_distribution_shape.brand_appeared": "run count",
      "example_distribution_shape.cited": "run count",
      "example_distribution_shape.selected_url_counts": "run count by URL",
      "example_distribution_shape.median_citation_position": "one-based citation position",
      "example_distribution_shape.confidence_interval.level": "proportion"
    },
    "public_field_style": "snake_case",
    "runtime_field_style": "camelCase",
    "controlled_variables": [
      "prompt_id",
      "model",
      "interface",
      "search_enabled",
      "search_provider",
      "session_id",
      "retrieval_method",
      "market",
      "language",
      "personalization_context",
      "prompt_variant",
      "query_rewrite_context",
      "corpus_context"
    ],
    "required_observation_fields": [
      "run_id",
      "observed_at",
      "prompt_id",
      "prompt_variant",
      "model",
      "interface",
      "search_enabled",
      "search_provider",
      "session_id",
      "retrieval_method",
      "market",
      "language",
      "personalization_context",
      "query_rewrite_context",
      "corpus_context",
      "retrieved_urls",
      "brand_appeared",
      "cited",
      "citations"
    ],
    "runtime_field_mapping": {
      "run_id": "runId",
      "observed_at": "observedAt",
      "prompt_id": "promptId",
      "prompt_variant": "promptVariant",
      "search_enabled": "searchEnabled",
      "search_provider": "searchProvider",
      "session_id": "sessionId",
      "retrieval_method": "retrievalMethod",
      "personalization_context": "personalizationContext",
      "query_rewrite_context": "queryRewriteContext",
      "corpus_context": "corpusContext",
      "retrieved_urls": "retrievedUrls",
      "brand_appeared": "brandAppeared"
    },
    "unchanged_runtime_fields": [
      "model",
      "interface",
      "market",
      "language",
      "cited",
      "citations"
    ],
    "citation_shape": {
      "url": "credential-free HTTP or HTTPS URL",
      "position": "positive one-based integer or null"
    },
    "runtime_output_mapping": {
      "appearance_frequency": "measuredEvidence.appearance",
      "citation_frequency": "measuredEvidence.citation",
      "selected_url_counts": "measuredEvidence.selectedUrls",
      "retrieved_url_counts": "measuredEvidence.retrievedUrls",
      "median_citation_position": "measuredEvidence.medianCitationPosition",
      "prompt_sensitivity": "measuredEvidence.promptSensitivity",
      "wilson_confidence_interval": "measuredEvidence.appearance.interval95 and measuredEvidence.citation.interval95"
    },
    "output_metrics": [
      "appearance_frequency",
      "citation_frequency",
      "selected_url_counts",
      "retrieved_url_counts",
      "median_citation_position",
      "prompt_sensitivity",
      "wilson_confidence_interval"
    ],
    "example_distribution_shape": {
      "runs_completed": 30,
      "brand_appeared": "count",
      "cited": "run count",
      "selected_url_counts": {
        "https://clawseo.com/": "count"
      },
      "median_citation_position": "number_or_null",
      "confidence_interval": {
        "method": "Wilson",
        "level": 0.95,
        "lower": "number",
        "upper": "number"
      }
    }
  },
  "pass_condition": {
    "target_url_recall_at_3": "Every query class should retrieve at least one expected URL within the first three inspected evidence targets.",
    "claim_recall": "Every target claim_id should be recoverable through at least one prompt variant.",
    "layer_separation": "Evidence, interpretation, prescription, assumptions, confidence, and next investigations must remain separate in every substantive claim."
  }
}
