{
  "schema_version": "1.1",
  "generated_from": [
    "site-config.js",
    "sitemap.xml",
    "site-map.html",
    "data/public-pages.json",
    "data/public-query-index.json",
    "data/route-inventory.json",
    "data/indexation-contract.json",
    "generated public HTML files"
  ],
  "generated_on": "2026-05-01",
  "site": {
    "name": "CorvusLLM",
    "url": "https://corvusllm.com"
  },
  "purpose": "Central route-by-route contract for every intended public indexable CorvusLLM URL. Use this to prove each public URL is present in sitemap, HTML sitemap, public page data, query routing, route inventory, indexation controls, and static metadata.",
  "totals": {
    "public_indexable_routes": 209,
    "ready_routes": 209,
    "blocked_routes": 0,
    "issue_count": 0,
    "sitemap_urls": 209,
    "html_sitemap_route_links": 209,
    "public_page_records": 209,
    "public_query_route_records": 209,
    "route_inventory_records": 209,
    "indexation_contract_public_records": 209,
    "public_data_assets": 21,
    "utility_routes_excluded": 8
  },
  "consistency": {
    "all_public_routes_ready": true,
    "sitemap_matches_site_config": true,
    "html_sitemap_matches_site_config": true,
    "public_pages_matches_site_config": true,
    "public_query_index_matches_site_config": true,
    "route_inventory_matches_site_config": true,
    "indexation_contract_matches_site_config": true,
    "every_route_has_single_h1": true,
    "every_route_has_schema": true,
    "every_route_has_query_coverage": true,
    "every_route_has_query_ownership": true,
    "every_route_exposes_public_route_matrix_source": true,
    "sitemap_has_no_utility_routes": true,
    "sitemap_has_only_site_config_routes": true,
    "utility_routes_excluded_from_public_indexes": true,
    "no_legacy_public_values": true
  },
  "issue_buckets": {},
  "family_coverage": [
    {
      "route_family": "commercial_landing_pages",
      "route_count": 33,
      "ready_routes": 33,
      "issue_count": 0,
      "routes": [
        "/lp/openai-compatible-api",
        "/lp/ai-api-for-cursor",
        "/lp/claude-gpt-gemini-api",
        "/lp/bulk-ai-api",
        "/lp/openrouter-alternative",
        "/lp/ai-api-for-coding-agents",
        "/lp/ai-api-for-open-webui-teams",
        "/lp/ai-api-for-n8n-automation",
        "/lp/ai-api-for-app-prototyping",
        "/lp/ai-api-for-cost-sensitive-workloads",
        "/lp/ai-api-for-multi-model-routing",
        "/lp/claude-api-pricing-comparison",
        "/lp/gpt-api-pricing-comparison",
        "/lp/glm-api-pricing-comparison",
        "/lp/ai-api-cache-token-pricing",
        "/lp/ai-api-setup-by-tool",
        "/lp/claude-api-for-cursor",
        "/lp/claude-api-for-claude-code",
        "/lp/claude-api-for-open-webui",
        "/lp/claude-api-for-openai-sdks",
        "/lp/claude-api-for-n8n",
        "/lp/claude-api-for-chatbox",
        "/lp/gpt-api-for-cursor",
        "/lp/gpt-api-for-open-webui",
        "/lp/gpt-api-for-openai-sdks",
        "/lp/gpt-api-for-n8n",
        "/lp/gpt-api-for-windsurf",
        "/lp/gpt-api-for-chatbox",
        "/lp/glm-api-for-cursor",
        "/lp/glm-api-for-open-webui",
        "/lp/glm-api-for-openai-sdks",
        "/lp/glm-api-for-n8n",
        "/lp/glm-api-for-chatbox"
      ]
    },
    {
      "route_family": "company",
      "route_count": 1,
      "ready_routes": 1,
      "issue_count": 0,
      "routes": [
        "/about"
      ]
    },
    {
      "route_family": "documentation",
      "route_count": 25,
      "ready_routes": 25,
      "issue_count": 0,
      "routes": [
        "/docs",
        "/docs/getting-started/quickstart",
        "/docs/getting-started/before-you-buy",
        "/docs/getting-started/after-you-buy",
        "/docs/integrations/dev-tools",
        "/docs/integrations/openai-sdks",
        "/docs/integrations/claude-code",
        "/docs/integrations/open-webui",
        "/docs/integrations/chatbox",
        "/docs/integrations/n8n",
        "/docs/integrations/cursor",
        "/docs/integrations/windsurf",
        "/docs/troubleshooting/errors",
        "/docs/troubleshooting/model-not-found",
        "/docs/troubleshooting/invalid-api-key",
        "/docs/troubleshooting/wrong-base-url",
        "/docs/troubleshooting/out-of-balance",
        "/docs/troubleshooting/upstream-provider-unavailable",
        "/docs/troubleshooting/request-timeout",
        "/docs/troubleshooting/image-input-errors",
        "/docs/troubleshooting/tool-creation-failed",
        "/docs/troubleshooting/cache-token-cost-spikes",
        "/docs/api/overview",
        "/docs/api/models",
        "/docs/api/billing"
      ]
    },
    {
      "route_family": "faq",
      "route_count": 104,
      "ready_routes": 104,
      "issue_count": 0,
      "routes": [
        "/faq",
        "/faq/what-do-i-actually-receive-after-a-successful-order/",
        "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
        "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
        "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
        "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
        "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
        "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
        "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
        "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
        "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
        "/faq/are-there-recurring-charges-or-automatic-renewals/",
        "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
        "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
        "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
        "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
        "/faq/when-can-i-reasonably-expect-a-refund/",
        "/faq/what-does-the-service-guarantee-actually-cover/",
        "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
        "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
        "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
        "/faq/which-model-families-does-corvusllm-usually-expose/",
        "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
        "/faq/does-every-pack-include-every-model-on-the-site/",
        "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
        "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
        "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
        "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
        "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
        "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
        "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
        "/faq/what-does-openai-compatible-api-actually-mean-here/",
        "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
        "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
        "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
        "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
        "/faq/can-i-use-corvusllm-inside-cursor/",
        "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
        "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
        "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
        "/faq/where-is-the-full-cursor-setup-walkthrough/",
        "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
        "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
        "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
        "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
        "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
        "/faq/can-i-connect-corvusllm-to-open-webui/",
        "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
        "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
        "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
        "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
        "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
        "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
        "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
        "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
        "/faq/how-should-i-separate-development-and-production-usage/",
        "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
        "/faq/do-you-store-any-credit-card-information/",
        "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
        "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
        "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
        "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
        "/faq/does-the-browser-confirm-payments-on-its-own/",
        "/faq/does-the-public-site-promise-an-enterprise-sla/",
        "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
        "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
        "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
        "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
        "/faq/are-there-rate-limits-or-fairness-protections/",
        "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
        "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
        "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
        "/faq/which-payment-methods-are-currently-available/",
        "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
        "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
        "/faq/are-these-real-claude-models/",
        "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
        "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
        "/faq/can-i-verify-tool-compatibility-before-i-buy/",
        "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
        "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
        "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
        "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
        "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
        "/faq/can-a-team-use-corvusllm-for-internal-work/",
        "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
        "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
        "/faq/should-a-whole-team-share-one-key/",
        "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
        "/faq/which-model-family-is-usually-strongest-for-coding-work/",
        "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
        "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
        "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
        "/faq/where-can-i-compare-models-before-i-buy/",
        "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
        "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
        "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
        "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
        "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
        "/faq/can-i-top-up-before-my-balance-runs-low/",
        "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
        "/faq/is-there-a-minimum-purchase-size/",
        "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
        "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/"
      ]
    },
    {
      "route_family": "homepage",
      "route_count": 1,
      "ready_routes": 1,
      "issue_count": 0,
      "routes": [
        "/"
      ]
    },
    {
      "route_family": "legal",
      "route_count": 3,
      "ready_routes": 3,
      "issue_count": 0,
      "routes": [
        "/agb",
        "/datenschutz",
        "/impressum"
      ]
    },
    {
      "route_family": "model_comparison_pages",
      "route_count": 18,
      "ready_routes": 18,
      "issue_count": 0,
      "routes": [
        "/compare/claude-opus-4-7-vs-gpt-5-5",
        "/compare/claude-sonnet-4-6-vs-gpt-5-4",
        "/compare/claude-haiku-4-5-vs-glm-5",
        "/compare/glm-5-1-vs-gpt-5-2",
        "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
        "/compare/gpt-5-5-vs-gpt-5-4",
        "/compare/claude-opus-4-7-vs-glm-5-1",
        "/compare/claude-sonnet-4-6-vs-glm-5-1",
        "/compare/gpt-5-5-vs-glm-5-1",
        "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
        "/compare/claude-opus-4-7-vs-claude-opus-4-6",
        "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
        "/compare/gpt-5-4-vs-gpt-5-3",
        "/compare/gpt-5-3-vs-gpt-5-2",
        "/compare/gpt-5-5-vs-gpt-5-3",
        "/compare/glm-5-1-vs-glm-5",
        "/compare/claude-opus-4-7-vs-gpt-5-4",
        "/compare/claude-sonnet-4-6-vs-gpt-5-5"
      ]
    },
    {
      "route_family": "model_detail_pages",
      "route_count": 12,
      "ready_routes": 12,
      "issue_count": 0,
      "routes": [
        "/models/claude-haiku-4-5",
        "/models/claude-opus-4-5",
        "/models/claude-opus-4-6",
        "/models/claude-opus-4-7",
        "/models/claude-sonnet-4-5",
        "/models/claude-sonnet-4-6",
        "/models/gpt-5-2",
        "/models/gpt-5-3",
        "/models/gpt-5-4",
        "/models/gpt-5-5",
        "/models/glm-5-1",
        "/models/glm-5"
      ]
    },
    {
      "route_family": "model_family_hubs",
      "route_count": 4,
      "ready_routes": 4,
      "issue_count": 0,
      "routes": [
        "/models",
        "/models/claude-api",
        "/models/gpt-api",
        "/models/glm-api"
      ]
    },
    {
      "route_family": "pricing_and_cost_tools",
      "route_count": 2,
      "ready_routes": 2,
      "issue_count": 0,
      "routes": [
        "/llm-api-cost-calculator",
        "/ai-api-pricing-tracker"
      ]
    },
    {
      "route_family": "public_route_inventory",
      "route_count": 1,
      "ready_routes": 1,
      "issue_count": 0,
      "routes": [
        "/site-map"
      ]
    },
    {
      "route_family": "trust_status_and_proof",
      "route_count": 5,
      "ready_routes": 5,
      "issue_count": 0,
      "routes": [
        "/trust-center",
        "/service-status",
        "/customer-stories",
        "/verify-corvusllm",
        "/proof-of-operations"
      ]
    }
  ],
  "public_data_asset_contract": [
    {
      "path": "/data/public-route-matrix.json",
      "canonical_url": "https://corvusllm.com/data/public-route-matrix.json",
      "purpose": "Route-by-route public SEO membership and readiness contract."
    },
    {
      "path": "/data/public-route-taxonomy.json",
      "canonical_url": "https://corvusllm.com/data/public-route-taxonomy.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/public-pages.json",
      "canonical_url": "https://corvusllm.com/data/public-pages.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/public-query-index.json",
      "canonical_url": "https://corvusllm.com/data/public-query-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/route-inventory.json",
      "canonical_url": "https://corvusllm.com/data/route-inventory.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/indexation-contract.json",
      "canonical_url": "https://corvusllm.com/data/indexation-contract.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/crawl-surface.json",
      "canonical_url": "https://corvusllm.com/data/crawl-surface.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/ai-answer-index.json",
      "canonical_url": "https://corvusllm.com/data/ai-answer-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/landing-pages.json",
      "canonical_url": "https://corvusllm.com/data/landing-pages.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/trust-index.json",
      "canonical_url": "https://corvusllm.com/data/trust-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/reputation-index.json",
      "canonical_url": "https://corvusllm.com/data/reputation-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/faq-index.json",
      "canonical_url": "https://corvusllm.com/data/faq-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/setup-index.json",
      "canonical_url": "https://corvusllm.com/data/setup-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/docs-index.json",
      "canonical_url": "https://corvusllm.com/data/docs-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/model-pages.json",
      "canonical_url": "https://corvusllm.com/data/model-pages.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/programmatic-seo-index.json",
      "canonical_url": "https://corvusllm.com/data/programmatic-seo-index.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/data/models.json",
      "canonical_url": "https://corvusllm.com/data/models.json",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/llms.txt",
      "canonical_url": "https://corvusllm.com/llms.txt",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/llms-full.txt",
      "canonical_url": "https://corvusllm.com/llms-full.txt",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/sitemap.xml",
      "canonical_url": "https://corvusllm.com/sitemap.xml",
      "purpose": "Public SEO discovery or machine-readable support asset."
    },
    {
      "path": "/robots.txt",
      "canonical_url": "https://corvusllm.com/robots.txt",
      "purpose": "Public SEO discovery or machine-readable support asset."
    }
  ],
  "utility_routes_excluded": [
    {
      "path": "/auth",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/login",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/portal",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/workspace",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/admin",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/checkout",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/order-status",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    },
    {
      "path": "/x-callback.html",
      "public_route_matrix_included": false,
      "sitemap_included": false,
      "public_pages_included": false,
      "public_query_index_included": false,
      "route_inventory_included": false,
      "indexation_state": "non_indexable_utility"
    }
  ],
  "routes": [
    {
      "path": "/",
      "canonical_url": "https://corvusllm.com/",
      "page_type": "homepage",
      "cluster": "commercial",
      "route_family": "homepage",
      "parent_path": null,
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "index.html",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "1.0"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "1.0",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "OpenAI-Compatible AI API for Claude, GPT & GLM | CorvusLLM",
        "h1": "One key. Many models. 65% cheaper.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "primary brand and commercial entry route",
        "search_intent_class": "brand_navigational_and_commercial_entry",
        "funnel_stage": "entry",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/data/trust-index.json",
          "/index.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/",
        "owned_primary_query": "CorvusLLM",
        "owned_intent_class": "brand_navigational_and_commercial_entry",
        "ownership_scope": "root_brand_owner",
        "route_role": "primary brand and commercial entry route",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/",
          "owned_primary_query": "CorvusLLM",
          "owned_intent_class": "brand_navigational_and_commercial_entry",
          "ownership_scope": "root_brand_owner",
          "route_role": "primary brand and commercial entry route",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/",
          "owned_primary_query": "CorvusLLM",
          "ownership_scope": "root_brand_owner",
          "primary_query": "CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "homepage",
        "html_sitemap_group": "Core",
        "markdown_source": "/index.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/",
          "canonical_url": "https://corvusllm.com/",
          "static_file_public_path": "/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": true,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Root is served by index.html."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Root index file is handled by the /index.html redirect."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "OpenAI-Compatible AI API for Claude, GPT & GLM | CorvusLLM",
        "meta_description": "Buy one Universal Key with prepaid balance for supported Claude, GPT, and GLM model families. Compare tracked official API prices vs CorvusLLM rates and save 65%.",
        "canonical": "https://corvusllm.com/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "One key. Many models. 65% cheaper.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models",
      "canonical_url": "https://corvusllm.com/models",
      "page_type": "model_catalog",
      "cluster": "models",
      "route_family": "model_family_hubs",
      "parent_path": "/",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models.html",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.9"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.9",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI Models Directory - Claude, GPT and GLM | CorvusLLM",
        "h1": "AI Models",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "model hub route for every public family and model row",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM supported models",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/models",
        "owned_primary_query": "CorvusLLM supported models",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "model hub route for every public family and model row",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/models",
          "owned_primary_query": "CorvusLLM supported models",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "model hub route for every public family and model row",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models",
          "owned_primary_query": "CorvusLLM supported models",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM supported models",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_family_hubs",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models",
          "canonical_url": "https://corvusllm.com/models",
          "static_file_public_path": "/models.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models",
            "to": "/models.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models.html",
            "to": "/models",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI Models Directory - Claude, GPT and GLM | CorvusLLM",
        "meta_description": "Browse the live CorvusLLM public model catalog. Compare current Claude, GPT, and GLM models with pricing and public slugs.",
        "canonical": "https://corvusllm.com/models",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI Models",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-api",
      "canonical_url": "https://corvusllm.com/models/claude-api",
      "page_type": "model_catalog",
      "cluster": "models",
      "route_family": "model_family_hubs",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-api.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.78"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.78",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Models and Pricing | CorvusLLM",
        "h1": "Claude API models through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "provider-family model hub route",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-api.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Claude API models",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-api",
        "owned_primary_query": "CorvusLLM Claude API models",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "provider-family model hub route",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-api",
          "owned_primary_query": "CorvusLLM Claude API models",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "provider-family model hub route",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-api",
          "owned_primary_query": "CorvusLLM Claude API models",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM Claude API models",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_family_hubs",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-api",
          "canonical_url": "https://corvusllm.com/models/claude-api",
          "static_file_public_path": "/models-claude-api.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-api",
            "to": "/models-claude-api.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-api.html",
            "to": "/models/claude-api",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Models and Pricing | CorvusLLM",
        "meta_description": "Compare Claude Haiku, Sonnet, and Opus model rows available through CorvusLLM with public slugs, prepaid rates, and official pricing references.",
        "canonical": "https://corvusllm.com/models/claude-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API models through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/gpt-api",
      "canonical_url": "https://corvusllm.com/models/gpt-api",
      "page_type": "model_catalog",
      "cluster": "models",
      "route_family": "model_family_hubs",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-gpt-api.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.78"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/gpt-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.78",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Models and Pricing | CorvusLLM",
        "h1": "GPT API models through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "provider-family model hub route",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/gpt-api.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM GPT API models",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/models/gpt-api",
        "owned_primary_query": "CorvusLLM GPT API models",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "provider-family model hub route",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/models/gpt-api",
          "owned_primary_query": "CorvusLLM GPT API models",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "provider-family model hub route",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/gpt-api",
          "owned_primary_query": "CorvusLLM GPT API models",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM GPT API models",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_family_hubs",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/gpt-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/gpt-api",
          "canonical_url": "https://corvusllm.com/models/gpt-api",
          "static_file_public_path": "/models-gpt-api.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/gpt-api",
            "to": "/models-gpt-api.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-gpt-api.html",
            "to": "/models/gpt-api",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Models and Pricing | CorvusLLM",
        "meta_description": "Compare GPT model rows available through CorvusLLM with public slugs, prepaid pricing, official references, and OpenAI-compatible setup links.",
        "canonical": "https://corvusllm.com/models/gpt-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/gpt-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API models through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/glm-api",
      "canonical_url": "https://corvusllm.com/models/glm-api",
      "page_type": "model_catalog",
      "cluster": "models",
      "route_family": "model_family_hubs",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-glm-api.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.72"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/glm-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.72",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Models and Pricing | CorvusLLM",
        "h1": "GLM API models through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "provider-family model hub route",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/glm-api.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM GLM API models",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/models/glm-api",
        "owned_primary_query": "CorvusLLM GLM API models",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "provider-family model hub route",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/models/glm-api",
          "owned_primary_query": "CorvusLLM GLM API models",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "provider-family model hub route",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/glm-api",
          "owned_primary_query": "CorvusLLM GLM API models",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM GLM API models",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_family_hubs",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/glm-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/glm-api",
          "canonical_url": "https://corvusllm.com/models/glm-api",
          "static_file_public_path": "/models-glm-api.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/glm-api",
            "to": "/models-glm-api.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-glm-api.html",
            "to": "/models/glm-api",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Models and Pricing | CorvusLLM",
        "meta_description": "Compare GLM model rows available through CorvusLLM with public slugs, prepaid rates, cache pricing, and official Z.AI pricing references.",
        "canonical": "https://corvusllm.com/models/glm-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/glm-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API models through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-haiku-4-5",
      "canonical_url": "https://corvusllm.com/models/claude-haiku-4-5",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-haiku-4-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-haiku-4-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Haiku 4.5 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Haiku 4.5 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-haiku-4-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-haiku-4-5 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-haiku-4-5",
        "owned_primary_query": "claude-haiku-4-5 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-haiku-4-5",
          "owned_primary_query": "claude-haiku-4-5 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-haiku-4-5",
          "owned_primary_query": "claude-haiku-4-5 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-haiku-4-5 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-haiku-4-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-haiku-4-5",
          "canonical_url": "https://corvusllm.com/models/claude-haiku-4-5",
          "static_file_public_path": "/models-claude-haiku-4-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-haiku-4-5",
            "to": "/models-claude-haiku-4-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-haiku-4-5.html",
            "to": "/models/claude-haiku-4-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Haiku 4.5 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Haiku 4.5 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-haiku-4-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-haiku-4-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Haiku 4.5 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-opus-4-5",
      "canonical_url": "https://corvusllm.com/models/claude-opus-4-5",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-opus-4-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-opus-4-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.5 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Opus 4.5 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-opus-4-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-opus-4-5 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-opus-4-5",
        "owned_primary_query": "claude-opus-4-5 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-opus-4-5",
          "owned_primary_query": "claude-opus-4-5 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-opus-4-5",
          "owned_primary_query": "claude-opus-4-5 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-opus-4-5 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-opus-4-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-opus-4-5",
          "canonical_url": "https://corvusllm.com/models/claude-opus-4-5",
          "static_file_public_path": "/models-claude-opus-4-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-opus-4-5",
            "to": "/models-claude-opus-4-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-opus-4-5.html",
            "to": "/models/claude-opus-4-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.5 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Opus 4.5 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-opus-4-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-opus-4-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.5 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-opus-4-6",
      "canonical_url": "https://corvusllm.com/models/claude-opus-4-6",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-opus-4-6.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-opus-4-6",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.6 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Opus 4.6 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-opus-4-6.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-opus-4-6 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-opus-4-6",
        "owned_primary_query": "claude-opus-4-6 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-opus-4-6",
          "owned_primary_query": "claude-opus-4-6 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-opus-4-6",
          "owned_primary_query": "claude-opus-4-6 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-opus-4-6 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-opus-4-6.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-opus-4-6",
          "canonical_url": "https://corvusllm.com/models/claude-opus-4-6",
          "static_file_public_path": "/models-claude-opus-4-6.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-opus-4-6",
            "to": "/models-claude-opus-4-6.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-opus-4-6.html",
            "to": "/models/claude-opus-4-6",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.6 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Opus 4.6 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-opus-4-6",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-opus-4-6",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.6 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-opus-4-7",
      "canonical_url": "https://corvusllm.com/models/claude-opus-4-7",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-opus-4-7.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-opus-4-7",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Opus 4.7 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-opus-4-7.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-opus-4-7 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-opus-4-7",
        "owned_primary_query": "claude-opus-4-7 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-opus-4-7",
          "owned_primary_query": "claude-opus-4-7 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-opus-4-7",
          "owned_primary_query": "claude-opus-4-7 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-opus-4-7 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-opus-4-7.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-opus-4-7",
          "canonical_url": "https://corvusllm.com/models/claude-opus-4-7",
          "static_file_public_path": "/models-claude-opus-4-7.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-opus-4-7",
            "to": "/models-claude-opus-4-7.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-opus-4-7.html",
            "to": "/models/claude-opus-4-7",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Opus 4.7 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-opus-4-7",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-opus-4-7",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-sonnet-4-5",
      "canonical_url": "https://corvusllm.com/models/claude-sonnet-4-5",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-sonnet-4-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-sonnet-4-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.5 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Sonnet 4.5 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-sonnet-4-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-sonnet-4-5 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-sonnet-4-5",
        "owned_primary_query": "claude-sonnet-4-5 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-sonnet-4-5",
          "owned_primary_query": "claude-sonnet-4-5 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-sonnet-4-5",
          "owned_primary_query": "claude-sonnet-4-5 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-sonnet-4-5 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-sonnet-4-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-sonnet-4-5",
          "canonical_url": "https://corvusllm.com/models/claude-sonnet-4-5",
          "static_file_public_path": "/models-claude-sonnet-4-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-sonnet-4-5",
            "to": "/models-claude-sonnet-4-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-sonnet-4-5.html",
            "to": "/models/claude-sonnet-4-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.5 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Sonnet 4.5 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-sonnet-4-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-sonnet-4-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.5 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/claude-sonnet-4-6",
      "canonical_url": "https://corvusllm.com/models/claude-sonnet-4-6",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/claude-api",
      "hub_path": "/models/claude-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-claude-sonnet-4-6.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/claude-sonnet-4-6",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 API Pricing and Slug | CorvusLLM",
        "h1": "Claude Sonnet 4.6 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/claude-sonnet-4-6.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude-sonnet-4-6 CorvusLLM API",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/models/claude-sonnet-4-6",
        "owned_primary_query": "claude-sonnet-4-6 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/claude-api",
        "public_query_index": {
          "canonical_query_owner": "/models/claude-sonnet-4-6",
          "owned_primary_query": "claude-sonnet-4-6 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/claude-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/claude-sonnet-4-6",
          "owned_primary_query": "claude-sonnet-4-6 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "claude-sonnet-4-6 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/claude-sonnet-4-6.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/claude-sonnet-4-6",
          "canonical_url": "https://corvusllm.com/models/claude-sonnet-4-6",
          "static_file_public_path": "/models-claude-sonnet-4-6.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/claude-sonnet-4-6",
            "to": "/models-claude-sonnet-4-6.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-claude-sonnet-4-6.html",
            "to": "/models/claude-sonnet-4-6",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 API Pricing and Slug | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/claude-sonnet-4-6",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/claude-sonnet-4-6",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/gpt-5-2",
      "canonical_url": "https://corvusllm.com/models/gpt-5-2",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/gpt-api",
      "hub_path": "/models/gpt-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-gpt-5-2.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/gpt-5-2",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.2 API Pricing and Slug | CorvusLLM",
        "h1": "GPT 5.2 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/gpt-5-2.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "gpt-5.2 CorvusLLM API",
        "query_entry_count": 29,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/models/gpt-5-2",
        "owned_primary_query": "gpt-5.2 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/gpt-api",
        "public_query_index": {
          "canonical_query_owner": "/models/gpt-5-2",
          "owned_primary_query": "gpt-5.2 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/gpt-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/gpt-5-2",
          "owned_primary_query": "gpt-5.2 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "gpt-5.2 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/gpt-5-2.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/gpt-5-2",
          "canonical_url": "https://corvusllm.com/models/gpt-5-2",
          "static_file_public_path": "/models-gpt-5-2.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/gpt-5-2",
            "to": "/models-gpt-5-2.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-gpt-5-2.html",
            "to": "/models/gpt-5-2",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.2 API Pricing and Slug | CorvusLLM",
        "meta_description": "GPT 5.2 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/gpt-5-2",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/gpt-5-2",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.2 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/gpt-5-3",
      "canonical_url": "https://corvusllm.com/models/gpt-5-3",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/gpt-api",
      "hub_path": "/models/gpt-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-gpt-5-3.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/gpt-5-3",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.3 API Pricing and Slug | CorvusLLM",
        "h1": "GPT 5.3 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/gpt-5-3.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "gpt-5.3 CorvusLLM API",
        "query_entry_count": 29,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/models/gpt-5-3",
        "owned_primary_query": "gpt-5.3 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/gpt-api",
        "public_query_index": {
          "canonical_query_owner": "/models/gpt-5-3",
          "owned_primary_query": "gpt-5.3 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/gpt-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/gpt-5-3",
          "owned_primary_query": "gpt-5.3 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "gpt-5.3 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/gpt-5-3.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/gpt-5-3",
          "canonical_url": "https://corvusllm.com/models/gpt-5-3",
          "static_file_public_path": "/models-gpt-5-3.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/gpt-5-3",
            "to": "/models-gpt-5-3.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-gpt-5-3.html",
            "to": "/models/gpt-5-3",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.3 API Pricing and Slug | CorvusLLM",
        "meta_description": "GPT 5.3 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/gpt-5-3",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/gpt-5-3",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.3 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/gpt-5-4",
      "canonical_url": "https://corvusllm.com/models/gpt-5-4",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/gpt-api",
      "hub_path": "/models/gpt-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-gpt-5-4.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/gpt-5-4",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.4 API Pricing and Slug | CorvusLLM",
        "h1": "GPT 5.4 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/gpt-5-4.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "gpt-5.4 CorvusLLM API",
        "query_entry_count": 29,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/models/gpt-5-4",
        "owned_primary_query": "gpt-5.4 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/gpt-api",
        "public_query_index": {
          "canonical_query_owner": "/models/gpt-5-4",
          "owned_primary_query": "gpt-5.4 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/gpt-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/gpt-5-4",
          "owned_primary_query": "gpt-5.4 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "gpt-5.4 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/gpt-5-4.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/gpt-5-4",
          "canonical_url": "https://corvusllm.com/models/gpt-5-4",
          "static_file_public_path": "/models-gpt-5-4.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/gpt-5-4",
            "to": "/models-gpt-5-4.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-gpt-5-4.html",
            "to": "/models/gpt-5-4",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.4 API Pricing and Slug | CorvusLLM",
        "meta_description": "GPT 5.4 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/gpt-5-4",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/gpt-5-4",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.4 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/gpt-5-5",
      "canonical_url": "https://corvusllm.com/models/gpt-5-5",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/gpt-api",
      "hub_path": "/models/gpt-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-gpt-5-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/gpt-5-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.5 API Pricing and Slug | CorvusLLM",
        "h1": "GPT 5.5 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/gpt-5-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "gpt-5.5 CorvusLLM API",
        "query_entry_count": 29,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/models/gpt-5-5",
        "owned_primary_query": "gpt-5.5 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/gpt-api",
        "public_query_index": {
          "canonical_query_owner": "/models/gpt-5-5",
          "owned_primary_query": "gpt-5.5 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/gpt-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/gpt-5-5",
          "owned_primary_query": "gpt-5.5 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "gpt-5.5 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/gpt-5-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/gpt-5-5",
          "canonical_url": "https://corvusllm.com/models/gpt-5-5",
          "static_file_public_path": "/models-gpt-5-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/gpt-5-5",
            "to": "/models-gpt-5-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-gpt-5-5.html",
            "to": "/models/gpt-5-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.5 API Pricing and Slug | CorvusLLM",
        "meta_description": "GPT 5.5 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/gpt-5-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/gpt-5-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.5 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/glm-5-1",
      "canonical_url": "https://corvusllm.com/models/glm-5-1",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/glm-api",
      "hub_path": "/models/glm-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-glm-5-1.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/glm-5-1",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM 5.1 API Pricing and Slug | CorvusLLM",
        "h1": "GLM 5.1 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/glm-5-1.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "glm-5.1 CorvusLLM API",
        "query_entry_count": 31,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 17
      },
      "query_ownership": {
        "canonical_query_owner": "/models/glm-5-1",
        "owned_primary_query": "glm-5.1 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/glm-api",
        "public_query_index": {
          "canonical_query_owner": "/models/glm-5-1",
          "owned_primary_query": "glm-5.1 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/glm-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/glm-5-1",
          "owned_primary_query": "glm-5.1 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "glm-5.1 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/glm-5-1.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/glm-5-1",
          "canonical_url": "https://corvusllm.com/models/glm-5-1",
          "static_file_public_path": "/models-glm-5-1.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/glm-5-1",
            "to": "/models-glm-5-1.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-glm-5-1.html",
            "to": "/models/glm-5-1",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM 5.1 API Pricing and Slug | CorvusLLM",
        "meta_description": "GLM 5.1 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/glm-5-1",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/glm-5-1",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM 5.1 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/models/glm-5",
      "canonical_url": "https://corvusllm.com/models/glm-5",
      "page_type": "model_detail",
      "cluster": "models",
      "route_family": "model_detail_pages",
      "parent_path": "/models/glm-api",
      "hub_path": "/models/glm-api",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "models-glm-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/models/glm-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.68",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM 5 API Pricing and Slug | CorvusLLM",
        "h1": "GLM 5 API model through CorvusLLM",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "search_intent_class": "commercial_model_selection",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/models/glm-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "glm-5 CorvusLLM API",
        "query_entry_count": 30,
        "secondary_query_count": 9,
        "citation_trigger_count": 4,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/models/glm-5",
        "owned_primary_query": "glm-5 CorvusLLM API",
        "owned_intent_class": "commercial_model_selection",
        "ownership_scope": "exact_model_or_model_family_owner",
        "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
        "hub_path": "/models/glm-api",
        "public_query_index": {
          "canonical_query_owner": "/models/glm-5",
          "owned_primary_query": "glm-5 CorvusLLM API",
          "owned_intent_class": "commercial_model_selection",
          "ownership_scope": "exact_model_or_model_family_owner",
          "route_role": "exact public model-row route for slug, pricing, provider-family, and setup context",
          "hub_path": "/models/glm-api",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/models/glm-5",
          "owned_primary_query": "glm-5 CorvusLLM API",
          "ownership_scope": "exact_model_or_model_family_owner",
          "primary_query": "glm-5 CorvusLLM API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_detail_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/models/glm-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/models/glm-5",
          "canonical_url": "https://corvusllm.com/models/glm-5",
          "static_file_public_path": "/models-glm-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/models/glm-5",
            "to": "/models-glm-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/models-glm-5.html",
            "to": "/models/glm-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM 5 API Pricing and Slug | CorvusLLM",
        "meta_description": "GLM 5 through CorvusLLM: public model slug, prepaid input/output/cache pricing, official source reference, setup links, and independent-service disclosures.",
        "canonical": "https://corvusllm.com/models/glm-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/models/glm-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM 5 API model through CorvusLLM",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-opus-4-7-vs-gpt-5-5",
      "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-opus-4-7-vs-gpt-5-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 vs GPT 5.5 API Comparison | CorvusLLM",
        "h1": "Claude Opus 4.7 vs GPT 5.5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-opus-4-7-vs-gpt-5-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Opus 4.7 vs GPT 5.5 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-5",
        "owned_primary_query": "Claude Opus 4.7 vs GPT 5.5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-5",
          "owned_primary_query": "Claude Opus 4.7 vs GPT 5.5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-5",
          "owned_primary_query": "Claude Opus 4.7 vs GPT 5.5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Opus 4.7 vs GPT 5.5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-opus-4-7-vs-gpt-5-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-opus-4-7-vs-gpt-5-5",
          "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-5",
          "static_file_public_path": "/compare-claude-opus-4-7-vs-gpt-5-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-opus-4-7-vs-gpt-5-5",
            "to": "/compare-claude-opus-4-7-vs-gpt-5-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-opus-4-7-vs-gpt-5-5.html",
            "to": "/compare/claude-opus-4-7-vs-gpt-5-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 vs GPT 5.5 API Comparison | CorvusLLM",
        "meta_description": "Claude Opus 4.7 vs GPT 5.5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 vs GPT 5.5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
      "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-4",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-sonnet-4-6-vs-gpt-5-4.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-4",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 vs GPT 5.4 API Comparison | CorvusLLM",
        "h1": "Claude Sonnet 4.6 vs GPT 5.4 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-sonnet-4-6-vs-gpt-5-4.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Sonnet 4.6 vs GPT 5.4 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
        "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.4 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
          "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.4 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
          "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.4 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Sonnet 4.6 vs GPT 5.4 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-sonnet-4-6-vs-gpt-5-4.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
          "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-4",
          "static_file_public_path": "/compare-claude-sonnet-4-6-vs-gpt-5-4.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
            "to": "/compare-claude-sonnet-4-6-vs-gpt-5-4.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-sonnet-4-6-vs-gpt-5-4.html",
            "to": "/compare/claude-sonnet-4-6-vs-gpt-5-4",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 vs GPT 5.4 API Comparison | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 vs GPT 5.4: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-4",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-4",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 vs GPT 5.4 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-haiku-4-5-vs-glm-5",
      "canonical_url": "https://corvusllm.com/compare/claude-haiku-4-5-vs-glm-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-haiku-4-5-vs-glm-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-haiku-4-5-vs-glm-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Haiku 4.5 vs GLM 5 API Comparison | CorvusLLM",
        "h1": "Claude Haiku 4.5 vs GLM 5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-haiku-4-5-vs-glm-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Haiku 4.5 vs GLM 5 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-haiku-4-5-vs-glm-5",
        "owned_primary_query": "Claude Haiku 4.5 vs GLM 5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-haiku-4-5-vs-glm-5",
          "owned_primary_query": "Claude Haiku 4.5 vs GLM 5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-haiku-4-5-vs-glm-5",
          "owned_primary_query": "Claude Haiku 4.5 vs GLM 5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Haiku 4.5 vs GLM 5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-haiku-4-5-vs-glm-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-haiku-4-5-vs-glm-5",
          "canonical_url": "https://corvusllm.com/compare/claude-haiku-4-5-vs-glm-5",
          "static_file_public_path": "/compare-claude-haiku-4-5-vs-glm-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-haiku-4-5-vs-glm-5",
            "to": "/compare-claude-haiku-4-5-vs-glm-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-haiku-4-5-vs-glm-5.html",
            "to": "/compare/claude-haiku-4-5-vs-glm-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Haiku 4.5 vs GLM 5 API Comparison | CorvusLLM",
        "meta_description": "Claude Haiku 4.5 vs GLM 5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-haiku-4-5-vs-glm-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-haiku-4-5-vs-glm-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Haiku 4.5 vs GLM 5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/glm-5-1-vs-gpt-5-2",
      "canonical_url": "https://corvusllm.com/compare/glm-5-1-vs-gpt-5-2",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-glm-5-1-vs-gpt-5-2.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/glm-5-1-vs-gpt-5-2",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM 5.1 vs GPT 5.2 API Comparison | CorvusLLM",
        "h1": "GLM 5.1 vs GPT 5.2 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/glm-5-1-vs-gpt-5-2.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM 5.1 vs GPT 5.2 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/glm-5-1-vs-gpt-5-2",
        "owned_primary_query": "GLM 5.1 vs GPT 5.2 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/glm-5-1-vs-gpt-5-2",
          "owned_primary_query": "GLM 5.1 vs GPT 5.2 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/glm-5-1-vs-gpt-5-2",
          "owned_primary_query": "GLM 5.1 vs GPT 5.2 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GLM 5.1 vs GPT 5.2 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/glm-5-1-vs-gpt-5-2.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/glm-5-1-vs-gpt-5-2",
          "canonical_url": "https://corvusllm.com/compare/glm-5-1-vs-gpt-5-2",
          "static_file_public_path": "/compare-glm-5-1-vs-gpt-5-2.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/glm-5-1-vs-gpt-5-2",
            "to": "/compare-glm-5-1-vs-gpt-5-2.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-glm-5-1-vs-gpt-5-2.html",
            "to": "/compare/glm-5-1-vs-gpt-5-2",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM 5.1 vs GPT 5.2 API Comparison | CorvusLLM",
        "meta_description": "GLM 5.1 vs GPT 5.2: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/glm-5-1-vs-gpt-5-2",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/glm-5-1-vs-gpt-5-2",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM 5.1 vs GPT 5.2 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
      "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-opus-4-7-vs-claude-sonnet-4-6.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 vs Claude Sonnet 4.6 API Comparison | CorvusLLM",
        "h1": "Claude Opus 4.7 vs Claude Sonnet 4.6 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-opus-4-7-vs-claude-sonnet-4-6.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Opus 4.7 vs Claude Sonnet 4.6 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
        "owned_primary_query": "Claude Opus 4.7 vs Claude Sonnet 4.6 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
          "owned_primary_query": "Claude Opus 4.7 vs Claude Sonnet 4.6 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
          "owned_primary_query": "Claude Opus 4.7 vs Claude Sonnet 4.6 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Opus 4.7 vs Claude Sonnet 4.6 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
          "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
          "static_file_public_path": "/compare-claude-opus-4-7-vs-claude-sonnet-4-6.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
            "to": "/compare-claude-opus-4-7-vs-claude-sonnet-4-6.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-opus-4-7-vs-claude-sonnet-4-6.html",
            "to": "/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 vs Claude Sonnet 4.6 API Comparison | CorvusLLM",
        "meta_description": "Claude Opus 4.7 vs Claude Sonnet 4.6: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-sonnet-4-6",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 vs Claude Sonnet 4.6 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/gpt-5-5-vs-gpt-5-4",
      "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-4",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-gpt-5-5-vs-gpt-5-4.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-4",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.5 vs GPT 5.4 API Comparison | CorvusLLM",
        "h1": "GPT 5.5 vs GPT 5.4 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/gpt-5-5-vs-gpt-5-4.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT 5.5 vs GPT 5.4 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-4",
        "owned_primary_query": "GPT 5.5 vs GPT 5.4 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-4",
          "owned_primary_query": "GPT 5.5 vs GPT 5.4 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-4",
          "owned_primary_query": "GPT 5.5 vs GPT 5.4 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GPT 5.5 vs GPT 5.4 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/gpt-5-5-vs-gpt-5-4.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/gpt-5-5-vs-gpt-5-4",
          "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-4",
          "static_file_public_path": "/compare-gpt-5-5-vs-gpt-5-4.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/gpt-5-5-vs-gpt-5-4",
            "to": "/compare-gpt-5-5-vs-gpt-5-4.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-gpt-5-5-vs-gpt-5-4.html",
            "to": "/compare/gpt-5-5-vs-gpt-5-4",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.5 vs GPT 5.4 API Comparison | CorvusLLM",
        "meta_description": "GPT 5.5 vs GPT 5.4: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-4",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-4",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.5 vs GPT 5.4 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-opus-4-7-vs-glm-5-1",
      "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-glm-5-1",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-opus-4-7-vs-glm-5-1.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-opus-4-7-vs-glm-5-1",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 vs GLM 5.1 API Comparison | CorvusLLM",
        "h1": "Claude Opus 4.7 vs GLM 5.1 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-opus-4-7-vs-glm-5-1.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Opus 4.7 vs GLM 5.1 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-opus-4-7-vs-glm-5-1",
        "owned_primary_query": "Claude Opus 4.7 vs GLM 5.1 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-glm-5-1",
          "owned_primary_query": "Claude Opus 4.7 vs GLM 5.1 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-glm-5-1",
          "owned_primary_query": "Claude Opus 4.7 vs GLM 5.1 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Opus 4.7 vs GLM 5.1 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-opus-4-7-vs-glm-5-1.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-opus-4-7-vs-glm-5-1",
          "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-glm-5-1",
          "static_file_public_path": "/compare-claude-opus-4-7-vs-glm-5-1.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-opus-4-7-vs-glm-5-1",
            "to": "/compare-claude-opus-4-7-vs-glm-5-1.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-opus-4-7-vs-glm-5-1.html",
            "to": "/compare/claude-opus-4-7-vs-glm-5-1",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 vs GLM 5.1 API Comparison | CorvusLLM",
        "meta_description": "Claude Opus 4.7 vs GLM 5.1: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-opus-4-7-vs-glm-5-1",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-glm-5-1",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 vs GLM 5.1 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-sonnet-4-6-vs-glm-5-1",
      "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-glm-5-1",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-sonnet-4-6-vs-glm-5-1.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-glm-5-1",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 vs GLM 5.1 API Comparison | CorvusLLM",
        "h1": "Claude Sonnet 4.6 vs GLM 5.1 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-sonnet-4-6-vs-glm-5-1.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Sonnet 4.6 vs GLM 5.1 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-glm-5-1",
        "owned_primary_query": "Claude Sonnet 4.6 vs GLM 5.1 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-glm-5-1",
          "owned_primary_query": "Claude Sonnet 4.6 vs GLM 5.1 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-glm-5-1",
          "owned_primary_query": "Claude Sonnet 4.6 vs GLM 5.1 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Sonnet 4.6 vs GLM 5.1 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-sonnet-4-6-vs-glm-5-1.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-sonnet-4-6-vs-glm-5-1",
          "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-glm-5-1",
          "static_file_public_path": "/compare-claude-sonnet-4-6-vs-glm-5-1.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-sonnet-4-6-vs-glm-5-1",
            "to": "/compare-claude-sonnet-4-6-vs-glm-5-1.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-sonnet-4-6-vs-glm-5-1.html",
            "to": "/compare/claude-sonnet-4-6-vs-glm-5-1",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 vs GLM 5.1 API Comparison | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 vs GLM 5.1: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-glm-5-1",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-glm-5-1",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 vs GLM 5.1 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/gpt-5-5-vs-glm-5-1",
      "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-glm-5-1",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-gpt-5-5-vs-glm-5-1.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/gpt-5-5-vs-glm-5-1",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.5 vs GLM 5.1 API Comparison | CorvusLLM",
        "h1": "GPT 5.5 vs GLM 5.1 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/gpt-5-5-vs-glm-5-1.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT 5.5 vs GLM 5.1 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/gpt-5-5-vs-glm-5-1",
        "owned_primary_query": "GPT 5.5 vs GLM 5.1 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-glm-5-1",
          "owned_primary_query": "GPT 5.5 vs GLM 5.1 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-glm-5-1",
          "owned_primary_query": "GPT 5.5 vs GLM 5.1 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GPT 5.5 vs GLM 5.1 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/gpt-5-5-vs-glm-5-1.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/gpt-5-5-vs-glm-5-1",
          "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-glm-5-1",
          "static_file_public_path": "/compare-gpt-5-5-vs-glm-5-1.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/gpt-5-5-vs-glm-5-1",
            "to": "/compare-gpt-5-5-vs-glm-5-1.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-gpt-5-5-vs-glm-5-1.html",
            "to": "/compare/gpt-5-5-vs-glm-5-1",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.5 vs GLM 5.1 API Comparison | CorvusLLM",
        "meta_description": "GPT 5.5 vs GLM 5.1: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/gpt-5-5-vs-glm-5-1",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/gpt-5-5-vs-glm-5-1",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.5 vs GLM 5.1 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
      "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-sonnet-4-6-vs-claude-haiku-4-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 vs Claude Haiku 4.5 API Comparison | CorvusLLM",
        "h1": "Claude Sonnet 4.6 vs Claude Haiku 4.5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Sonnet 4.6 vs Claude Haiku 4.5 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
        "owned_primary_query": "Claude Sonnet 4.6 vs Claude Haiku 4.5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs Claude Haiku 4.5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs Claude Haiku 4.5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Sonnet 4.6 vs Claude Haiku 4.5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
          "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
          "static_file_public_path": "/compare-claude-sonnet-4-6-vs-claude-haiku-4-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
            "to": "/compare-claude-sonnet-4-6-vs-claude-haiku-4-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-sonnet-4-6-vs-claude-haiku-4-5.html",
            "to": "/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 vs Claude Haiku 4.5 API Comparison | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 vs Claude Haiku 4.5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-haiku-4-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 vs Claude Haiku 4.5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
      "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-opus-4-6",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-opus-4-7-vs-claude-opus-4-6.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-opus-4-6",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 vs Claude Opus 4.6 API Comparison | CorvusLLM",
        "h1": "Claude Opus 4.7 vs Claude Opus 4.6 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-opus-4-7-vs-claude-opus-4-6.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Opus 4.7 vs Claude Opus 4.6 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
        "owned_primary_query": "Claude Opus 4.7 vs Claude Opus 4.6 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
          "owned_primary_query": "Claude Opus 4.7 vs Claude Opus 4.6 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
          "owned_primary_query": "Claude Opus 4.7 vs Claude Opus 4.6 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Opus 4.7 vs Claude Opus 4.6 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-opus-4-7-vs-claude-opus-4-6.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
          "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-opus-4-6",
          "static_file_public_path": "/compare-claude-opus-4-7-vs-claude-opus-4-6.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
            "to": "/compare-claude-opus-4-7-vs-claude-opus-4-6.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-opus-4-7-vs-claude-opus-4-6.html",
            "to": "/compare/claude-opus-4-7-vs-claude-opus-4-6",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 vs Claude Opus 4.6 API Comparison | CorvusLLM",
        "meta_description": "Claude Opus 4.7 vs Claude Opus 4.6: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-opus-4-6",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-claude-opus-4-6",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 vs Claude Opus 4.6 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
      "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-sonnet-4-6-vs-claude-sonnet-4-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 API Comparison | CorvusLLM",
        "h1": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
        "owned_primary_query": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
          "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
          "static_file_public_path": "/compare-claude-sonnet-4-6-vs-claude-sonnet-4-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
            "to": "/compare-claude-sonnet-4-6-vs-claude-sonnet-4-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-sonnet-4-6-vs-claude-sonnet-4-5.html",
            "to": "/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 API Comparison | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 vs Claude Sonnet 4.5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-claude-sonnet-4-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 vs Claude Sonnet 4.5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/gpt-5-4-vs-gpt-5-3",
      "canonical_url": "https://corvusllm.com/compare/gpt-5-4-vs-gpt-5-3",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-gpt-5-4-vs-gpt-5-3.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/gpt-5-4-vs-gpt-5-3",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.4 vs GPT 5.3 API Comparison | CorvusLLM",
        "h1": "GPT 5.4 vs GPT 5.3 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/gpt-5-4-vs-gpt-5-3.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT 5.4 vs GPT 5.3 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/gpt-5-4-vs-gpt-5-3",
        "owned_primary_query": "GPT 5.4 vs GPT 5.3 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/gpt-5-4-vs-gpt-5-3",
          "owned_primary_query": "GPT 5.4 vs GPT 5.3 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/gpt-5-4-vs-gpt-5-3",
          "owned_primary_query": "GPT 5.4 vs GPT 5.3 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GPT 5.4 vs GPT 5.3 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/gpt-5-4-vs-gpt-5-3.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/gpt-5-4-vs-gpt-5-3",
          "canonical_url": "https://corvusllm.com/compare/gpt-5-4-vs-gpt-5-3",
          "static_file_public_path": "/compare-gpt-5-4-vs-gpt-5-3.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/gpt-5-4-vs-gpt-5-3",
            "to": "/compare-gpt-5-4-vs-gpt-5-3.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-gpt-5-4-vs-gpt-5-3.html",
            "to": "/compare/gpt-5-4-vs-gpt-5-3",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.4 vs GPT 5.3 API Comparison | CorvusLLM",
        "meta_description": "GPT 5.4 vs GPT 5.3: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/gpt-5-4-vs-gpt-5-3",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/gpt-5-4-vs-gpt-5-3",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.4 vs GPT 5.3 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/gpt-5-3-vs-gpt-5-2",
      "canonical_url": "https://corvusllm.com/compare/gpt-5-3-vs-gpt-5-2",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-gpt-5-3-vs-gpt-5-2.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/gpt-5-3-vs-gpt-5-2",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.3 vs GPT 5.2 API Comparison | CorvusLLM",
        "h1": "GPT 5.3 vs GPT 5.2 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/gpt-5-3-vs-gpt-5-2.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT 5.3 vs GPT 5.2 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/gpt-5-3-vs-gpt-5-2",
        "owned_primary_query": "GPT 5.3 vs GPT 5.2 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/gpt-5-3-vs-gpt-5-2",
          "owned_primary_query": "GPT 5.3 vs GPT 5.2 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/gpt-5-3-vs-gpt-5-2",
          "owned_primary_query": "GPT 5.3 vs GPT 5.2 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GPT 5.3 vs GPT 5.2 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/gpt-5-3-vs-gpt-5-2.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/gpt-5-3-vs-gpt-5-2",
          "canonical_url": "https://corvusllm.com/compare/gpt-5-3-vs-gpt-5-2",
          "static_file_public_path": "/compare-gpt-5-3-vs-gpt-5-2.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/gpt-5-3-vs-gpt-5-2",
            "to": "/compare-gpt-5-3-vs-gpt-5-2.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-gpt-5-3-vs-gpt-5-2.html",
            "to": "/compare/gpt-5-3-vs-gpt-5-2",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.3 vs GPT 5.2 API Comparison | CorvusLLM",
        "meta_description": "GPT 5.3 vs GPT 5.2: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/gpt-5-3-vs-gpt-5-2",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/gpt-5-3-vs-gpt-5-2",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.3 vs GPT 5.2 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/gpt-5-5-vs-gpt-5-3",
      "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-3",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-gpt-5-5-vs-gpt-5-3.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-3",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT 5.5 vs GPT 5.3 API Comparison | CorvusLLM",
        "h1": "GPT 5.5 vs GPT 5.3 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/gpt-5-5-vs-gpt-5-3.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT 5.5 vs GPT 5.3 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-3",
        "owned_primary_query": "GPT 5.5 vs GPT 5.3 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-3",
          "owned_primary_query": "GPT 5.5 vs GPT 5.3 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/gpt-5-5-vs-gpt-5-3",
          "owned_primary_query": "GPT 5.5 vs GPT 5.3 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GPT 5.5 vs GPT 5.3 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/gpt-5-5-vs-gpt-5-3.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/gpt-5-5-vs-gpt-5-3",
          "canonical_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-3",
          "static_file_public_path": "/compare-gpt-5-5-vs-gpt-5-3.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/gpt-5-5-vs-gpt-5-3",
            "to": "/compare-gpt-5-5-vs-gpt-5-3.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-gpt-5-5-vs-gpt-5-3.html",
            "to": "/compare/gpt-5-5-vs-gpt-5-3",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT 5.5 vs GPT 5.3 API Comparison | CorvusLLM",
        "meta_description": "GPT 5.5 vs GPT 5.3: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-3",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/gpt-5-5-vs-gpt-5-3",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT 5.5 vs GPT 5.3 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/glm-5-1-vs-glm-5",
      "canonical_url": "https://corvusllm.com/compare/glm-5-1-vs-glm-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-glm-5-1-vs-glm-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/glm-5-1-vs-glm-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM 5.1 vs GLM 5 API Comparison | CorvusLLM",
        "h1": "GLM 5.1 vs GLM 5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/glm-5-1-vs-glm-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM 5.1 vs GLM 5 CorvusLLM",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/glm-5-1-vs-glm-5",
        "owned_primary_query": "GLM 5.1 vs GLM 5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/glm-5-1-vs-glm-5",
          "owned_primary_query": "GLM 5.1 vs GLM 5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/glm-5-1-vs-glm-5",
          "owned_primary_query": "GLM 5.1 vs GLM 5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "GLM 5.1 vs GLM 5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/glm-5-1-vs-glm-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/glm-5-1-vs-glm-5",
          "canonical_url": "https://corvusllm.com/compare/glm-5-1-vs-glm-5",
          "static_file_public_path": "/compare-glm-5-1-vs-glm-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/glm-5-1-vs-glm-5",
            "to": "/compare-glm-5-1-vs-glm-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-glm-5-1-vs-glm-5.html",
            "to": "/compare/glm-5-1-vs-glm-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM 5.1 vs GLM 5 API Comparison | CorvusLLM",
        "meta_description": "GLM 5.1 vs GLM 5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/glm-5-1-vs-glm-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/glm-5-1-vs-glm-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM 5.1 vs GLM 5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-opus-4-7-vs-gpt-5-4",
      "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-4",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-opus-4-7-vs-gpt-5-4.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-4",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Opus 4.7 vs GPT 5.4 API Comparison | CorvusLLM",
        "h1": "Claude Opus 4.7 vs GPT 5.4 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-opus-4-7-vs-gpt-5-4.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Opus 4.7 vs GPT 5.4 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-4",
        "owned_primary_query": "Claude Opus 4.7 vs GPT 5.4 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-4",
          "owned_primary_query": "Claude Opus 4.7 vs GPT 5.4 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-opus-4-7-vs-gpt-5-4",
          "owned_primary_query": "Claude Opus 4.7 vs GPT 5.4 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Opus 4.7 vs GPT 5.4 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-opus-4-7-vs-gpt-5-4.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-opus-4-7-vs-gpt-5-4",
          "canonical_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-4",
          "static_file_public_path": "/compare-claude-opus-4-7-vs-gpt-5-4.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-opus-4-7-vs-gpt-5-4",
            "to": "/compare-claude-opus-4-7-vs-gpt-5-4.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-opus-4-7-vs-gpt-5-4.html",
            "to": "/compare/claude-opus-4-7-vs-gpt-5-4",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Opus 4.7 vs GPT 5.4 API Comparison | CorvusLLM",
        "meta_description": "Claude Opus 4.7 vs GPT 5.4: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-4",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-opus-4-7-vs-gpt-5-4",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Opus 4.7 vs GPT 5.4 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
      "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-5",
      "page_type": "model_comparison",
      "cluster": "models",
      "route_family": "model_comparison_pages",
      "parent_path": "/models",
      "hub_path": "/models",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "compare-claude-sonnet-4-6-vs-gpt-5-5.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-5",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.66",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Sonnet 4.6 vs GPT 5.5 API Comparison | CorvusLLM",
        "h1": "Claude Sonnet 4.6 vs GPT 5.5 for CorvusLLM API usage",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "side-by-side decision route for two public model options",
        "search_intent_class": "commercial_model_comparison",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/compare/claude-sonnet-4-6-vs-gpt-5-5.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude Sonnet 4.6 vs GPT 5.5 CorvusLLM",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
        "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.5 CorvusLLM",
        "owned_intent_class": "commercial_model_comparison",
        "ownership_scope": "exact_model_comparison_owner",
        "route_role": "side-by-side decision route for two public model options",
        "hub_path": "/models",
        "public_query_index": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.5 CorvusLLM",
          "owned_intent_class": "commercial_model_comparison",
          "ownership_scope": "exact_model_comparison_owner",
          "route_role": "side-by-side decision route for two public model options",
          "hub_path": "/models",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
          "owned_primary_query": "Claude Sonnet 4.6 vs GPT 5.5 CorvusLLM",
          "ownership_scope": "exact_model_comparison_owner",
          "primary_query": "Claude Sonnet 4.6 vs GPT 5.5 CorvusLLM",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "model_comparison_pages",
        "html_sitemap_group": "Models and comparisons",
        "markdown_source": "/compare/claude-sonnet-4-6-vs-gpt-5-5.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
          "canonical_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-5",
          "static_file_public_path": "/compare-claude-sonnet-4-6-vs-gpt-5-5.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
            "to": "/compare-claude-sonnet-4-6-vs-gpt-5-5.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/compare-claude-sonnet-4-6-vs-gpt-5-5.html",
            "to": "/compare/claude-sonnet-4-6-vs-gpt-5-5",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Sonnet 4.6 vs GPT 5.5 API Comparison | CorvusLLM",
        "meta_description": "Claude Sonnet 4.6 vs GPT 5.5: compare CorvusLLM public slugs, input/output/cache pricing, setup links, and source references before choosing a default.",
        "canonical": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-5",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/compare/claude-sonnet-4-6-vs-gpt-5-5",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Sonnet 4.6 vs GPT 5.5 for CorvusLLM API usage",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/llm-api-cost-calculator",
      "canonical_url": "https://corvusllm.com/llm-api-cost-calculator",
      "page_type": "tool_or_data",
      "cluster": "pricing",
      "route_family": "pricing_and_cost_tools",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "llm-api-cost-calculator.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/llm-api-cost-calculator",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "LLM API Cost Calculator | CorvusLLM",
        "h1": "LLM API cost calculator",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "pricing and cost-planning route for commercial evaluation",
        "search_intent_class": "commercial_pricing_research",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/llm-api-cost-calculator.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "LLM API cost calculator",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/llm-api-cost-calculator",
        "owned_primary_query": "LLM API cost calculator",
        "owned_intent_class": "commercial_pricing_research",
        "ownership_scope": "specific_public_route_owner",
        "route_role": "pricing and cost-planning route for commercial evaluation",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/llm-api-cost-calculator",
          "owned_primary_query": "LLM API cost calculator",
          "owned_intent_class": "commercial_pricing_research",
          "ownership_scope": "specific_public_route_owner",
          "route_role": "pricing and cost-planning route for commercial evaluation",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/llm-api-cost-calculator",
          "owned_primary_query": "LLM API cost calculator",
          "ownership_scope": "specific_public_route_owner",
          "primary_query": "LLM API cost calculator",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "pricing_and_cost_tools",
        "html_sitemap_group": "Pricing tools",
        "markdown_source": "/llm-api-cost-calculator.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/llm-api-cost-calculator",
          "canonical_url": "https://corvusllm.com/llm-api-cost-calculator",
          "static_file_public_path": "/llm-api-cost-calculator.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/llm-api-cost-calculator",
            "to": "/llm-api-cost-calculator.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/llm-api-cost-calculator.html",
            "to": "/llm-api-cost-calculator",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "LLM API Cost Calculator | CorvusLLM",
        "meta_description": "Estimate CorvusLLM prepaid AI API costs against official GPT, Claude, and GLM pricing references using input, output, cache-read, and cache-write tokens.",
        "canonical": "https://corvusllm.com/llm-api-cost-calculator",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/llm-api-cost-calculator",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "LLM API cost calculator",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/openai-compatible-api",
      "canonical_url": "https://corvusllm.com/lp/openai-compatible-api",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/openai-compatible-api/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/openai-compatible-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "OpenAI-Compatible AI API Proxy | CorvusLLM",
        "h1": "OpenAI-Compatible AI API Proxy",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/openai-compatible-api.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "OpenAI-compatible AI API proxy",
        "query_entry_count": 25,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 11
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/openai-compatible-api",
        "owned_primary_query": "OpenAI-compatible AI API proxy",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/openai-compatible-api",
          "owned_primary_query": "OpenAI-compatible AI API proxy",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/openai-compatible-api",
          "owned_primary_query": "OpenAI-compatible AI API proxy",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "OpenAI-compatible AI API proxy",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/openai-compatible-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/openai-compatible-api",
          "canonical_url": "https://corvusllm.com/lp/openai-compatible-api",
          "static_file_public_path": "/lp/openai-compatible-api/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/openai-compatible-api/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "OpenAI-Compatible AI API Proxy | CorvusLLM",
        "meta_description": "Use one prepaid CorvusLLM key with an OpenAI-compatible API proxy for supported GPT, Claude, and GLM model families through a developer-friendly endpoint.",
        "canonical": "https://corvusllm.com/lp/openai-compatible-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/openai-compatible-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "OpenAI-Compatible AI API Proxy",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-cursor",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-cursor",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-cursor",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Cursor AI API Key Setup | CorvusLLM",
        "h1": "AI API for Cursor",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-cursor.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Cursor custom base URL API key",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-cursor",
        "owned_primary_query": "Cursor custom base URL API key",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-cursor",
          "owned_primary_query": "Cursor custom base URL API key",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-cursor",
          "owned_primary_query": "Cursor custom base URL API key",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Cursor custom base URL API key",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-cursor",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-cursor",
          "static_file_public_path": "/lp/ai-api-for-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Cursor AI API Key Setup | CorvusLLM",
        "meta_description": "Set up a CorvusLLM API key in Cursor with a custom OpenAI-compatible base URL for supported Claude, GPT, and GLM coding workflows.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-cursor",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-cursor",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for Cursor",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-gpt-gemini-api",
      "canonical_url": "https://corvusllm.com/lp/claude-gpt-gemini-api",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-gpt-gemini-api/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-gpt-gemini-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.85",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude, GPT & GLM API Proxy | CorvusLLM",
        "h1": "Claude, GPT & GLM API",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-gpt-gemini-api.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude GPT GLM API one endpoint",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-gpt-gemini-api",
        "owned_primary_query": "Claude GPT GLM API one endpoint",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-gpt-gemini-api",
          "owned_primary_query": "Claude GPT GLM API one endpoint",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-gpt-gemini-api",
          "owned_primary_query": "Claude GPT GLM API one endpoint",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude GPT GLM API one endpoint",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-gpt-gemini-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-gpt-gemini-api",
          "canonical_url": "https://corvusllm.com/lp/claude-gpt-gemini-api",
          "static_file_public_path": "/lp/claude-gpt-gemini-api/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-gpt-gemini-api/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude, GPT & GLM API Proxy | CorvusLLM",
        "meta_description": "Access supported Claude, GPT, and GLM model families through one independent CorvusLLM API proxy with prepaid balance and clear service limits.",
        "canonical": "https://corvusllm.com/lp/claude-gpt-gemini-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-gpt-gemini-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude, GPT & GLM API",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/bulk-ai-api",
      "canonical_url": "https://corvusllm.com/lp/bulk-ai-api",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/bulk-ai-api/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/bulk-ai-api",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Bulk AI API Access for Teams | CorvusLLM",
        "h1": "Bulk AI API Access",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/bulk-ai-api.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "bulk AI API",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/bulk-ai-api",
        "owned_primary_query": "bulk AI API",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/bulk-ai-api",
          "owned_primary_query": "bulk AI API",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/bulk-ai-api",
          "owned_primary_query": "bulk AI API",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "bulk AI API",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/bulk-ai-api.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/bulk-ai-api",
          "canonical_url": "https://corvusllm.com/lp/bulk-ai-api",
          "static_file_public_path": "/lp/bulk-ai-api/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/bulk-ai-api/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Bulk AI API Access for Teams | CorvusLLM",
        "meta_description": "Request larger prepaid CorvusLLM AI API balances or multiple keys for teams, agencies, and automation workloads using one independent API proxy.",
        "canonical": "https://corvusllm.com/lp/bulk-ai-api",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/bulk-ai-api",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Bulk AI API Access",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/openrouter-alternative",
      "canonical_url": "https://corvusllm.com/lp/openrouter-alternative",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/openrouter-alternative/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/openrouter-alternative",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "OpenRouter Alternative for Prepaid AI API Access | CorvusLLM",
        "h1": "OpenRouter Alternative for Prepaid AI API Access",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/openrouter-alternative.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "OpenRouter alternative",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/openrouter-alternative",
        "owned_primary_query": "OpenRouter alternative",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/openrouter-alternative",
          "owned_primary_query": "OpenRouter alternative",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/openrouter-alternative",
          "owned_primary_query": "OpenRouter alternative",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "OpenRouter alternative",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/openrouter-alternative.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/openrouter-alternative",
          "canonical_url": "https://corvusllm.com/lp/openrouter-alternative",
          "static_file_public_path": "/lp/openrouter-alternative/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/openrouter-alternative/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "OpenRouter Alternative for Prepaid AI API Access | CorvusLLM",
        "meta_description": "Compare CorvusLLM with OpenRouter-style AI API gateways for prepaid access, supported model families, pricing transparency, and service limits.",
        "canonical": "https://corvusllm.com/lp/openrouter-alternative",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/openrouter-alternative",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "OpenRouter Alternative for Prepaid AI API Access",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-coding-agents",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-coding-agents",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-coding-agents/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-coding-agents",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for Coding Agents | CorvusLLM",
        "h1": "AI API for Coding Agents",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-coding-agents.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "ai api for coding agents",
        "query_entry_count": 36,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 21
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-coding-agents",
        "owned_primary_query": "ai api for coding agents",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-coding-agents",
          "owned_primary_query": "ai api for coding agents",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-coding-agents",
          "owned_primary_query": "ai api for coding agents",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "ai api for coding agents",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-coding-agents.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-coding-agents",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-coding-agents",
          "static_file_public_path": "/lp/ai-api-for-coding-agents/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-coding-agents/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for Coding Agents | CorvusLLM",
        "meta_description": "Use CorvusLLM for coding-agent API workflows with supported GPT, Claude and GLM model families, prepaid balance, setup links, pricing proof and safety boundaries.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-coding-agents",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-coding-agents",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for Coding Agents",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-open-webui-teams",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-open-webui-teams",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-open-webui-teams/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-open-webui-teams",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for Open WebUI Teams | CorvusLLM",
        "h1": "AI API for Open WebUI Teams",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-open-webui-teams.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "open webui api key for teams",
        "query_entry_count": 37,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 22
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-open-webui-teams",
        "owned_primary_query": "open webui api key for teams",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-open-webui-teams",
          "owned_primary_query": "open webui api key for teams",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-open-webui-teams",
          "owned_primary_query": "open webui api key for teams",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "open webui api key for teams",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-open-webui-teams.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-open-webui-teams",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-open-webui-teams",
          "static_file_public_path": "/lp/ai-api-for-open-webui-teams/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-open-webui-teams/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for Open WebUI Teams | CorvusLLM",
        "meta_description": "Connect Open WebUI teams to CorvusLLM with a custom OpenAI-compatible API backend, public model slugs, prepaid balance, pricing proof and team safety notes.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-open-webui-teams",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-open-webui-teams",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for Open WebUI Teams",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-n8n-automation",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-n8n-automation",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-n8n-automation/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-n8n-automation",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for n8n Automation | CorvusLLM",
        "h1": "AI API for n8n Automation",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-n8n-automation.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "n8n ai api key",
        "query_entry_count": 35,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 20
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-n8n-automation",
        "owned_primary_query": "n8n ai api key",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-n8n-automation",
          "owned_primary_query": "n8n ai api key",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-n8n-automation",
          "owned_primary_query": "n8n ai api key",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "n8n ai api key",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-n8n-automation.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-n8n-automation",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-n8n-automation",
          "static_file_public_path": "/lp/ai-api-for-n8n-automation/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-n8n-automation/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for n8n Automation | CorvusLLM",
        "meta_description": "Use CorvusLLM in n8n automation with HTTP Request setup guidance, prepaid balance, model slugs, pricing proof and safe retry boundaries.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-n8n-automation",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-n8n-automation",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for n8n Automation",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-app-prototyping",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-app-prototyping",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-app-prototyping/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-app-prototyping",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for App Prototyping | CorvusLLM",
        "h1": "AI API for App Prototyping",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-app-prototyping.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "ai api for app prototyping",
        "query_entry_count": 35,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 20
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-app-prototyping",
        "owned_primary_query": "ai api for app prototyping",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-app-prototyping",
          "owned_primary_query": "ai api for app prototyping",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-app-prototyping",
          "owned_primary_query": "ai api for app prototyping",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "ai api for app prototyping",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-app-prototyping.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-app-prototyping",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-app-prototyping",
          "static_file_public_path": "/lp/ai-api-for-app-prototyping/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-app-prototyping/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for App Prototyping | CorvusLLM",
        "meta_description": "Prototype AI apps with CorvusLLM using OpenAI-compatible SDKs, prepaid balance, public model slugs, pricing proof, setup docs and trust guardrails.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-app-prototyping",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-app-prototyping",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for App Prototyping",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-cost-sensitive-workloads",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-cost-sensitive-workloads",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-cost-sensitive-workloads/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-cost-sensitive-workloads",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for Cost-Sensitive Workloads | CorvusLLM",
        "h1": "AI API for Cost-Sensitive Workloads",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-cost-sensitive-workloads.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "cost sensitive ai api",
        "query_entry_count": 32,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 17
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-cost-sensitive-workloads",
        "owned_primary_query": "cost sensitive ai api",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-cost-sensitive-workloads",
          "owned_primary_query": "cost sensitive ai api",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-cost-sensitive-workloads",
          "owned_primary_query": "cost sensitive ai api",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "cost sensitive ai api",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-cost-sensitive-workloads.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-cost-sensitive-workloads",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-cost-sensitive-workloads",
          "static_file_public_path": "/lp/ai-api-for-cost-sensitive-workloads/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-cost-sensitive-workloads/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for Cost-Sensitive Workloads | CorvusLLM",
        "meta_description": "Evaluate CorvusLLM for cost-sensitive AI API workloads with prepaid balance, pricing tracker, token cost calculator, cache notes and public model slugs.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-cost-sensitive-workloads",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-cost-sensitive-workloads",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for Cost-Sensitive Workloads",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-for-multi-model-routing",
      "canonical_url": "https://corvusllm.com/lp/ai-api-for-multi-model-routing",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-for-multi-model-routing/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-for-multi-model-routing",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API for Multi-Model Routing | CorvusLLM",
        "h1": "AI API for Multi-Model Routing",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-for-multi-model-routing.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "multi model ai api",
        "query_entry_count": 37,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 22
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-for-multi-model-routing",
        "owned_primary_query": "multi model ai api",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-for-multi-model-routing",
          "owned_primary_query": "multi model ai api",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-for-multi-model-routing",
          "owned_primary_query": "multi model ai api",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "multi model ai api",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-for-multi-model-routing.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-for-multi-model-routing",
          "canonical_url": "https://corvusllm.com/lp/ai-api-for-multi-model-routing",
          "static_file_public_path": "/lp/ai-api-for-multi-model-routing/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-for-multi-model-routing/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API for Multi-Model Routing | CorvusLLM",
        "meta_description": "Use CorvusLLM for multi-model API routing across supported Claude, GPT and GLM families with public slugs, pricing proof, setup docs and trust boundaries.",
        "canonical": "https://corvusllm.com/lp/ai-api-for-multi-model-routing",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-for-multi-model-routing",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API for Multi-Model Routing",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-pricing-comparison",
      "canonical_url": "https://corvusllm.com/lp/claude-api-pricing-comparison",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-pricing-comparison/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-pricing-comparison",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Pricing Comparison | CorvusLLM",
        "h1": "Claude API Pricing Comparison",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-pricing-comparison.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "claude api pricing comparison",
        "query_entry_count": 32,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 17
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-pricing-comparison",
        "owned_primary_query": "claude api pricing comparison",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-pricing-comparison",
          "owned_primary_query": "claude api pricing comparison",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-pricing-comparison",
          "owned_primary_query": "claude api pricing comparison",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "claude api pricing comparison",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-pricing-comparison.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-pricing-comparison",
          "canonical_url": "https://corvusllm.com/lp/claude-api-pricing-comparison",
          "static_file_public_path": "/lp/claude-api-pricing-comparison/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-pricing-comparison/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Pricing Comparison | CorvusLLM",
        "meta_description": "Compare Claude API pricing against CorvusLLM public prepaid Claude-family rates with input, output, cache fields, setup links, calculator and trust warnings.",
        "canonical": "https://corvusllm.com/lp/claude-api-pricing-comparison",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-pricing-comparison",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API Pricing Comparison",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-pricing-comparison",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-pricing-comparison",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-pricing-comparison/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-pricing-comparison",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Pricing Comparison | CorvusLLM",
        "h1": "GPT API Pricing Comparison",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-pricing-comparison.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "gpt api pricing comparison",
        "query_entry_count": 33,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 18
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-pricing-comparison",
        "owned_primary_query": "gpt api pricing comparison",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-pricing-comparison",
          "owned_primary_query": "gpt api pricing comparison",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-pricing-comparison",
          "owned_primary_query": "gpt api pricing comparison",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "gpt api pricing comparison",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-pricing-comparison.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-pricing-comparison",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-pricing-comparison",
          "static_file_public_path": "/lp/gpt-api-pricing-comparison/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-pricing-comparison/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Pricing Comparison | CorvusLLM",
        "meta_description": "Compare GPT API pricing against CorvusLLM public prepaid GPT-family rates with OpenAI-compatible setup links, calculator, model slugs and trust warnings.",
        "canonical": "https://corvusllm.com/lp/gpt-api-pricing-comparison",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-pricing-comparison",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API Pricing Comparison",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-pricing-comparison",
      "canonical_url": "https://corvusllm.com/lp/glm-api-pricing-comparison",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-pricing-comparison/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-pricing-comparison",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Pricing Comparison | CorvusLLM",
        "h1": "GLM API Pricing Comparison",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-pricing-comparison.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "glm api pricing comparison",
        "query_entry_count": 34,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 19
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-pricing-comparison",
        "owned_primary_query": "glm api pricing comparison",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-pricing-comparison",
          "owned_primary_query": "glm api pricing comparison",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-pricing-comparison",
          "owned_primary_query": "glm api pricing comparison",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "glm api pricing comparison",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-pricing-comparison.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-pricing-comparison",
          "canonical_url": "https://corvusllm.com/lp/glm-api-pricing-comparison",
          "static_file_public_path": "/lp/glm-api-pricing-comparison/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-pricing-comparison/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Pricing Comparison | CorvusLLM",
        "meta_description": "Compare GLM API pricing against CorvusLLM public prepaid GLM-family rows with model slugs, calculator, setup docs, source links and trust warnings.",
        "canonical": "https://corvusllm.com/lp/glm-api-pricing-comparison",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-pricing-comparison",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API Pricing Comparison",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-cache-token-pricing",
      "canonical_url": "https://corvusllm.com/lp/ai-api-cache-token-pricing",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-cache-token-pricing/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-cache-token-pricing",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API Cache Token Pricing | CorvusLLM",
        "h1": "AI API Cache Token Pricing",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-cache-token-pricing.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "ai api cache token pricing",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 4,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-cache-token-pricing",
        "owned_primary_query": "ai api cache token pricing",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-cache-token-pricing",
          "owned_primary_query": "ai api cache token pricing",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-cache-token-pricing",
          "owned_primary_query": "ai api cache token pricing",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "ai api cache token pricing",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-cache-token-pricing.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-cache-token-pricing",
          "canonical_url": "https://corvusllm.com/lp/ai-api-cache-token-pricing",
          "static_file_public_path": "/lp/ai-api-cache-token-pricing/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-cache-token-pricing/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API Cache Token Pricing | CorvusLLM",
        "meta_description": "Understand AI API cache token pricing with CorvusLLM public cache-read and cache-write rows, cost calculator, billing docs and long-context warnings.",
        "canonical": "https://corvusllm.com/lp/ai-api-cache-token-pricing",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-cache-token-pricing",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API Cache Token Pricing",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/ai-api-setup-by-tool",
      "canonical_url": "https://corvusllm.com/lp/ai-api-setup-by-tool",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/ai-api-setup-by-tool/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/ai-api-setup-by-tool",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API Setup by Tool | CorvusLLM",
        "h1": "AI API Setup by Tool",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/ai-api-setup-by-tool.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "AI API setup by tool",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/ai-api-setup-by-tool",
        "owned_primary_query": "AI API setup by tool",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/lp/ai-api-setup-by-tool",
          "owned_primary_query": "AI API setup by tool",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/ai-api-setup-by-tool",
          "owned_primary_query": "AI API setup by tool",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "AI API setup by tool",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/ai-api-setup-by-tool.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/ai-api-setup-by-tool",
          "canonical_url": "https://corvusllm.com/lp/ai-api-setup-by-tool",
          "static_file_public_path": "/lp/ai-api-setup-by-tool/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/ai-api-setup-by-tool/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API Setup by Tool | CorvusLLM",
        "meta_description": "Choose the right CorvusLLM setup page by tool and model family: Cursor, Claude Code, Open WebUI, OpenAI SDKs, n8n, Windsurf, ChatBox, Claude, GPT, and GLM.",
        "canonical": "https://corvusllm.com/lp/ai-api-setup-by-tool",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/ai-api-setup-by-tool",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API Setup by Tool",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-cursor",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-cursor",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-cursor",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for Cursor | CorvusLLM",
        "h1": "Claude API for Cursor",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-cursor.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for Cursor",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-cursor",
        "owned_primary_query": "Claude API for Cursor",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-cursor",
          "owned_primary_query": "Claude API for Cursor",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-cursor",
          "owned_primary_query": "Claude API for Cursor",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for Cursor",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-cursor",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-cursor",
          "static_file_public_path": "/lp/claude-api-for-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for Cursor | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for Cursor: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-cursor",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-cursor",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for Cursor",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-claude-code",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-claude-code",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-claude-code/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-claude-code",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for Claude Code | CorvusLLM",
        "h1": "Claude API for Claude Code",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-claude-code.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for Claude Code",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-claude-code",
        "owned_primary_query": "Claude API for Claude Code",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-claude-code",
          "owned_primary_query": "Claude API for Claude Code",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-claude-code",
          "owned_primary_query": "Claude API for Claude Code",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for Claude Code",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-claude-code.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-claude-code",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-claude-code",
          "static_file_public_path": "/lp/claude-api-for-claude-code/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-claude-code/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for Claude Code | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for Claude Code: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-claude-code",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-claude-code",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for Claude Code",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-open-webui",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-open-webui",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-open-webui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-open-webui",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for Open WebUI | CorvusLLM",
        "h1": "Claude API for Open WebUI",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-open-webui.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for Open WebUI",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-open-webui",
        "owned_primary_query": "Claude API for Open WebUI",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-open-webui",
          "owned_primary_query": "Claude API for Open WebUI",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-open-webui",
          "owned_primary_query": "Claude API for Open WebUI",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for Open WebUI",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-open-webui",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-open-webui",
          "static_file_public_path": "/lp/claude-api-for-open-webui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-open-webui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for Open WebUI | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for Open WebUI: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-open-webui",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-open-webui",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for Open WebUI",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-openai-sdks",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-openai-sdks",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-openai-sdks/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-openai-sdks",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for OpenAI SDKs | CorvusLLM",
        "h1": "Claude API for OpenAI SDKs",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-openai-sdks.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for OpenAI SDKs",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-openai-sdks",
        "owned_primary_query": "Claude API for OpenAI SDKs",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-openai-sdks",
          "owned_primary_query": "Claude API for OpenAI SDKs",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-openai-sdks",
          "owned_primary_query": "Claude API for OpenAI SDKs",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for OpenAI SDKs",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-openai-sdks.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-openai-sdks",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-openai-sdks",
          "static_file_public_path": "/lp/claude-api-for-openai-sdks/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-openai-sdks/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for OpenAI SDKs | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for OpenAI SDKs: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-openai-sdks",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-openai-sdks",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for OpenAI SDKs",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-n8n",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-n8n",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-n8n/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-n8n",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for n8n | CorvusLLM",
        "h1": "Claude API for n8n",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-n8n.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for n8n",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-n8n",
        "owned_primary_query": "Claude API for n8n",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-n8n",
          "owned_primary_query": "Claude API for n8n",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-n8n",
          "owned_primary_query": "Claude API for n8n",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for n8n",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-n8n.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-n8n",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-n8n",
          "static_file_public_path": "/lp/claude-api-for-n8n/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-n8n/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for n8n | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for n8n: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-n8n",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-n8n",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for n8n",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/claude-api-for-chatbox",
      "canonical_url": "https://corvusllm.com/lp/claude-api-for-chatbox",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/claude-api-for-chatbox/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/claude-api-for-chatbox",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude API Setup for ChatBox | CorvusLLM",
        "h1": "Claude API for ChatBox",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/claude-api-for-chatbox.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Claude API for ChatBox",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/claude-api-for-chatbox",
        "owned_primary_query": "Claude API for ChatBox",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/claude-api-for-chatbox",
          "owned_primary_query": "Claude API for ChatBox",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/claude-api-for-chatbox",
          "owned_primary_query": "Claude API for ChatBox",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "Claude API for ChatBox",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/claude-api-for-chatbox.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/claude-api-for-chatbox",
          "canonical_url": "https://corvusllm.com/lp/claude-api-for-chatbox",
          "static_file_public_path": "/lp/claude-api-for-chatbox/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/claude-api-for-chatbox/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude API Setup for ChatBox | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent Claude API access layer for ChatBox: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/claude-api-for-chatbox",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/claude-api-for-chatbox",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude API for ChatBox",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-cursor",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-cursor",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-cursor",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for Cursor | CorvusLLM",
        "h1": "GPT API for Cursor",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-cursor.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for Cursor",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-cursor",
        "owned_primary_query": "GPT API for Cursor",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-cursor",
          "owned_primary_query": "GPT API for Cursor",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-cursor",
          "owned_primary_query": "GPT API for Cursor",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for Cursor",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-cursor",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-cursor",
          "static_file_public_path": "/lp/gpt-api-for-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for Cursor | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for Cursor: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-cursor",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-cursor",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for Cursor",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-open-webui",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-open-webui",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-open-webui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-open-webui",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for Open WebUI | CorvusLLM",
        "h1": "GPT API for Open WebUI",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-open-webui.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for Open WebUI",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-open-webui",
        "owned_primary_query": "GPT API for Open WebUI",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-open-webui",
          "owned_primary_query": "GPT API for Open WebUI",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-open-webui",
          "owned_primary_query": "GPT API for Open WebUI",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for Open WebUI",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-open-webui",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-open-webui",
          "static_file_public_path": "/lp/gpt-api-for-open-webui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-open-webui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for Open WebUI | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for Open WebUI: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-open-webui",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-open-webui",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for Open WebUI",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-openai-sdks",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-openai-sdks",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-openai-sdks/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-openai-sdks",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for OpenAI SDKs | CorvusLLM",
        "h1": "GPT API for OpenAI SDKs",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-openai-sdks.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for OpenAI SDKs",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-openai-sdks",
        "owned_primary_query": "GPT API for OpenAI SDKs",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-openai-sdks",
          "owned_primary_query": "GPT API for OpenAI SDKs",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-openai-sdks",
          "owned_primary_query": "GPT API for OpenAI SDKs",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for OpenAI SDKs",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-openai-sdks.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-openai-sdks",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-openai-sdks",
          "static_file_public_path": "/lp/gpt-api-for-openai-sdks/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-openai-sdks/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for OpenAI SDKs | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for OpenAI SDKs: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-openai-sdks",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-openai-sdks",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for OpenAI SDKs",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-n8n",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-n8n",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-n8n/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-n8n",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for n8n | CorvusLLM",
        "h1": "GPT API for n8n",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-n8n.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for n8n",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-n8n",
        "owned_primary_query": "GPT API for n8n",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-n8n",
          "owned_primary_query": "GPT API for n8n",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-n8n",
          "owned_primary_query": "GPT API for n8n",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for n8n",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-n8n.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-n8n",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-n8n",
          "static_file_public_path": "/lp/gpt-api-for-n8n/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-n8n/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for n8n | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for n8n: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-n8n",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-n8n",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for n8n",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-windsurf",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-windsurf",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-windsurf/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-windsurf",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for Windsurf | CorvusLLM",
        "h1": "GPT API for Windsurf",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-windsurf.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for Windsurf",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-windsurf",
        "owned_primary_query": "GPT API for Windsurf",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-windsurf",
          "owned_primary_query": "GPT API for Windsurf",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-windsurf",
          "owned_primary_query": "GPT API for Windsurf",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for Windsurf",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-windsurf.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-windsurf",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-windsurf",
          "static_file_public_path": "/lp/gpt-api-for-windsurf/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-windsurf/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for Windsurf | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for Windsurf: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-windsurf",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-windsurf",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for Windsurf",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/gpt-api-for-chatbox",
      "canonical_url": "https://corvusllm.com/lp/gpt-api-for-chatbox",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/gpt-api-for-chatbox/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/gpt-api-for-chatbox",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GPT API Setup for ChatBox | CorvusLLM",
        "h1": "GPT API for ChatBox",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/gpt-api-for-chatbox.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GPT API for ChatBox",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/gpt-api-for-chatbox",
        "owned_primary_query": "GPT API for ChatBox",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/gpt-api-for-chatbox",
          "owned_primary_query": "GPT API for ChatBox",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/gpt-api-for-chatbox",
          "owned_primary_query": "GPT API for ChatBox",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GPT API for ChatBox",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/gpt-api-for-chatbox.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/gpt-api-for-chatbox",
          "canonical_url": "https://corvusllm.com/lp/gpt-api-for-chatbox",
          "static_file_public_path": "/lp/gpt-api-for-chatbox/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/gpt-api-for-chatbox/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GPT API Setup for ChatBox | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GPT API access layer for ChatBox: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/gpt-api-for-chatbox",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/gpt-api-for-chatbox",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GPT API for ChatBox",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-for-cursor",
      "canonical_url": "https://corvusllm.com/lp/glm-api-for-cursor",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-for-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-for-cursor",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Setup for Cursor | CorvusLLM",
        "h1": "GLM API for Cursor",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-for-cursor.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM API for Cursor",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-for-cursor",
        "owned_primary_query": "GLM API for Cursor",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-for-cursor",
          "owned_primary_query": "GLM API for Cursor",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-for-cursor",
          "owned_primary_query": "GLM API for Cursor",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GLM API for Cursor",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-for-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-for-cursor",
          "canonical_url": "https://corvusllm.com/lp/glm-api-for-cursor",
          "static_file_public_path": "/lp/glm-api-for-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-for-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Setup for Cursor | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GLM API access layer for Cursor: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/glm-api-for-cursor",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-for-cursor",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API for Cursor",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-for-open-webui",
      "canonical_url": "https://corvusllm.com/lp/glm-api-for-open-webui",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-for-open-webui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-for-open-webui",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Setup for Open WebUI | CorvusLLM",
        "h1": "GLM API for Open WebUI",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-for-open-webui.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM API for Open WebUI",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-for-open-webui",
        "owned_primary_query": "GLM API for Open WebUI",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-for-open-webui",
          "owned_primary_query": "GLM API for Open WebUI",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-for-open-webui",
          "owned_primary_query": "GLM API for Open WebUI",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GLM API for Open WebUI",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-for-open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-for-open-webui",
          "canonical_url": "https://corvusllm.com/lp/glm-api-for-open-webui",
          "static_file_public_path": "/lp/glm-api-for-open-webui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-for-open-webui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Setup for Open WebUI | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GLM API access layer for Open WebUI: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/glm-api-for-open-webui",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-for-open-webui",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API for Open WebUI",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-for-openai-sdks",
      "canonical_url": "https://corvusllm.com/lp/glm-api-for-openai-sdks",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-for-openai-sdks/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-for-openai-sdks",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Setup for OpenAI SDKs | CorvusLLM",
        "h1": "GLM API for OpenAI SDKs",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-for-openai-sdks.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM API for OpenAI SDKs",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-for-openai-sdks",
        "owned_primary_query": "GLM API for OpenAI SDKs",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-for-openai-sdks",
          "owned_primary_query": "GLM API for OpenAI SDKs",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-for-openai-sdks",
          "owned_primary_query": "GLM API for OpenAI SDKs",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GLM API for OpenAI SDKs",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-for-openai-sdks.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-for-openai-sdks",
          "canonical_url": "https://corvusllm.com/lp/glm-api-for-openai-sdks",
          "static_file_public_path": "/lp/glm-api-for-openai-sdks/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-for-openai-sdks/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Setup for OpenAI SDKs | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GLM API access layer for OpenAI SDKs: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/glm-api-for-openai-sdks",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-for-openai-sdks",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API for OpenAI SDKs",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-for-n8n",
      "canonical_url": "https://corvusllm.com/lp/glm-api-for-n8n",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-for-n8n/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-for-n8n",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Setup for n8n | CorvusLLM",
        "h1": "GLM API for n8n",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-for-n8n.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM API for n8n",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-for-n8n",
        "owned_primary_query": "GLM API for n8n",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-for-n8n",
          "owned_primary_query": "GLM API for n8n",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-for-n8n",
          "owned_primary_query": "GLM API for n8n",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GLM API for n8n",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-for-n8n.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-for-n8n",
          "canonical_url": "https://corvusllm.com/lp/glm-api-for-n8n",
          "static_file_public_path": "/lp/glm-api-for-n8n/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-for-n8n/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Setup for n8n | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GLM API access layer for n8n: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/glm-api-for-n8n",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-for-n8n",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API for n8n",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/lp/glm-api-for-chatbox",
      "canonical_url": "https://corvusllm.com/lp/glm-api-for-chatbox",
      "page_type": "landing_page",
      "cluster": "landing",
      "route_family": "commercial_landing_pages",
      "parent_path": "/lp/ai-api-setup-by-tool",
      "hub_path": "/lp/ai-api-setup-by-tool",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "lp/glm-api-for-chatbox/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/lp/glm-api-for-chatbox",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "GLM API Setup for ChatBox | CorvusLLM",
        "h1": "GLM API for ChatBox",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "search_intent_class": "commercial_investigation",
        "funnel_stage": "evaluation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json",
          "/lp/glm-api-for-chatbox.md"
        ],
        "specialized_sources": [
          "/data/landing-pages.json",
          "/data/models.json",
          "/data/trust-index.json",
          "/data/docs-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "GLM API for ChatBox",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/lp/glm-api-for-chatbox",
        "owned_primary_query": "GLM API for ChatBox",
        "owned_intent_class": "commercial_investigation",
        "ownership_scope": "commercial_long_tail_owner",
        "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
        "hub_path": "/lp/ai-api-setup-by-tool",
        "public_query_index": {
          "canonical_query_owner": "/lp/glm-api-for-chatbox",
          "owned_primary_query": "GLM API for ChatBox",
          "owned_intent_class": "commercial_investigation",
          "ownership_scope": "commercial_long_tail_owner",
          "route_role": "intent-specific commercial entry route backed by docs, model, trust, and pricing sources",
          "hub_path": "/lp/ai-api-setup-by-tool",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/lp/glm-api-for-chatbox",
          "owned_primary_query": "GLM API for ChatBox",
          "ownership_scope": "commercial_long_tail_owner",
          "primary_query": "GLM API for ChatBox",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "commercial_landing_pages",
        "html_sitemap_group": "Landing pages",
        "markdown_source": "/lp/glm-api-for-chatbox.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/lp/glm-api-for-chatbox",
          "canonical_url": "https://corvusllm.com/lp/glm-api-for-chatbox",
          "static_file_public_path": "/lp/glm-api-for-chatbox/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": false,
            "public_index_file": "/lp/glm-api-for-chatbox/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "GLM API Setup for ChatBox | CorvusLLM",
        "meta_description": "Use CorvusLLM as an independent GLM API access layer for ChatBox: base URL guidance, public model slugs, prepaid balance, pricing proof, and setup links.",
        "canonical": "https://corvusllm.com/lp/glm-api-for-chatbox",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/lp/glm-api-for-chatbox",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "GLM API for ChatBox",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs",
      "canonical_url": "https://corvusllm.com/docs",
      "page_type": "docs_hub",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.9"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.9",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Docs - API Setup, Models and Billing",
        "h1": "Set up CorvusLLM without guessing.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "central setup documentation hub route for all implementation guides",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Overview setup",
        "query_entry_count": 25,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/docs",
        "owned_primary_query": "CorvusLLM Overview setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "central setup documentation hub route for all implementation guides",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs",
          "owned_primary_query": "CorvusLLM Overview setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "central setup documentation hub route for all implementation guides",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs",
          "owned_primary_query": "CorvusLLM Overview setup",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM Overview setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs",
          "canonical_url": "https://corvusllm.com/docs",
          "static_file_public_path": "/docs.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs",
            "to": "/docs.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs.html",
            "to": "/docs",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Docs - API Setup, Models and Billing",
        "meta_description": "CorvusLLM Docs: base URLs, model slugs, billing rules, dashboard usage, and exact setup guides for every supported environment.",
        "canonical": "https://corvusllm.com/docs",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Set up CorvusLLM without guessing.",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/getting-started/quickstart",
      "canonical_url": "https://corvusllm.com/docs/getting-started/quickstart",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-getting-started-quickstart.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/getting-started/quickstart",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Quickstart - Buy, Paste, Test and Verify",
        "h1": "Buy, paste, test, and verify your balance in minutes.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/getting-started/quickstart.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Quickstart setup",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/getting-started/quickstart",
        "owned_primary_query": "CorvusLLM Quickstart setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/getting-started/quickstart",
          "owned_primary_query": "CorvusLLM Quickstart setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/getting-started/quickstart",
          "owned_primary_query": "CorvusLLM Quickstart setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Quickstart setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/getting-started/quickstart.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/getting-started/quickstart",
          "canonical_url": "https://corvusllm.com/docs/getting-started/quickstart",
          "static_file_public_path": "/docs-getting-started-quickstart.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/getting-started/quickstart",
            "to": "/docs-getting-started-quickstart.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-getting-started-quickstart.html",
            "to": "/docs/getting-started/quickstart",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Quickstart - Buy, Paste, Test and Verify",
        "meta_description": "CorvusLLM quickstart: buy, copy your key, choose the right base URL, send the first request, and check your balance in the dashboard.",
        "canonical": "https://corvusllm.com/docs/getting-started/quickstart",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/getting-started/quickstart",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Buy, paste, test, and verify your balance in minutes.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/getting-started/before-you-buy",
      "canonical_url": "https://corvusllm.com/docs/getting-started/before-you-buy",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-getting-started-before-you-buy.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/getting-started/before-you-buy",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "How CorvusLLM Works - Delivery, Balance and Routing",
        "h1": "Customers buy balance on a key, not a pile of inventory.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/getting-started/before-you-buy.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM How it works setup",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/getting-started/before-you-buy",
        "owned_primary_query": "CorvusLLM How it works setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/getting-started/before-you-buy",
          "owned_primary_query": "CorvusLLM How it works setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/getting-started/before-you-buy",
          "owned_primary_query": "CorvusLLM How it works setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM How it works setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/getting-started/before-you-buy.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/getting-started/before-you-buy",
          "canonical_url": "https://corvusllm.com/docs/getting-started/before-you-buy",
          "static_file_public_path": "/docs-getting-started-before-you-buy.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/getting-started/before-you-buy",
            "to": "/docs-getting-started-before-you-buy.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-getting-started-before-you-buy.html",
            "to": "/docs/getting-started/before-you-buy",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "How CorvusLLM Works - Delivery, Balance and Routing",
        "meta_description": "How CorvusLLM works: what customers buy, how keys are created automatically, how routing works across model families, and how balance is tracked.",
        "canonical": "https://corvusllm.com/docs/getting-started/before-you-buy",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/getting-started/before-you-buy",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Customers buy balance on a key, not a pile of inventory.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/getting-started/after-you-buy",
      "canonical_url": "https://corvusllm.com/docs/getting-started/after-you-buy",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-getting-started-after-you-buy.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/getting-started/after-you-buy",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Delivery, Login & Top-Ups",
        "h1": "Your key appears in more than one place, and all roads lead to the same dashboard.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/getting-started/after-you-buy.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Delivery & login setup",
        "query_entry_count": 29,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/getting-started/after-you-buy",
        "owned_primary_query": "CorvusLLM Delivery & login setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/getting-started/after-you-buy",
          "owned_primary_query": "CorvusLLM Delivery & login setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/getting-started/after-you-buy",
          "owned_primary_query": "CorvusLLM Delivery & login setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Delivery & login setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/getting-started/after-you-buy.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/getting-started/after-you-buy",
          "canonical_url": "https://corvusllm.com/docs/getting-started/after-you-buy",
          "static_file_public_path": "/docs-getting-started-after-you-buy.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/getting-started/after-you-buy",
            "to": "/docs-getting-started-after-you-buy.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-getting-started-after-you-buy.html",
            "to": "/docs/getting-started/after-you-buy",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Delivery, Login & Top-Ups",
        "meta_description": "CorvusLLM delivery, login, and top-ups: where the key appears, how to sign in with the key, how the personal dashboard works, and how same-key top-ups behave.",
        "canonical": "https://corvusllm.com/docs/getting-started/after-you-buy",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/getting-started/after-you-buy",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Your key appears in more than one place, and all roads lead to the same dashboard.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/dev-tools",
      "canonical_url": "https://corvusllm.com/docs/integrations/dev-tools",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-dev-tools.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/dev-tools",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Environment Overview",
        "h1": "Choose the path once, then stay consistent.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/dev-tools.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Environments setup",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/dev-tools",
        "owned_primary_query": "CorvusLLM Environments setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/dev-tools",
          "owned_primary_query": "CorvusLLM Environments setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/dev-tools",
          "owned_primary_query": "CorvusLLM Environments setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Environments setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/dev-tools.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/dev-tools",
          "canonical_url": "https://corvusllm.com/docs/integrations/dev-tools",
          "static_file_public_path": "/docs-integrations-dev-tools.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/dev-tools",
            "to": "/docs-integrations-dev-tools.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-dev-tools.html",
            "to": "/docs/integrations/dev-tools",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Environment Overview",
        "meta_description": "CorvusLLM environment overview: which base URL to use for each tool, which setups are first-class, and where to start for each environment.",
        "canonical": "https://corvusllm.com/docs/integrations/dev-tools",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/dev-tools",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Choose the path once, then stay consistent.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/openai-sdks",
      "canonical_url": "https://corvusllm.com/docs/integrations/openai-sdks",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-openai-sdks.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/openai-sdks",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM OpenAI SDK Setup - Python, Node and Curl",
        "h1": "Use CorvusLLM anywhere with the OpenAI /v1 path.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/openai-sdks.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM OpenAI SDKs setup",
        "query_entry_count": 32,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 18
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/openai-sdks",
        "owned_primary_query": "CorvusLLM OpenAI SDKs setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/openai-sdks",
          "owned_primary_query": "CorvusLLM OpenAI SDKs setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/openai-sdks",
          "owned_primary_query": "CorvusLLM OpenAI SDKs setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM OpenAI SDKs setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/openai-sdks.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/openai-sdks",
          "canonical_url": "https://corvusllm.com/docs/integrations/openai-sdks",
          "static_file_public_path": "/docs-integrations-openai-sdks.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/openai-sdks",
            "to": "/docs-integrations-openai-sdks.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-openai-sdks.html",
            "to": "/docs/integrations/openai-sdks",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM OpenAI SDK Setup - Python, Node and Curl",
        "meta_description": "Use CorvusLLM with the OpenAI-compatible API, curl, fetch, the OpenAI Python SDK, and the OpenAI Node SDK.",
        "canonical": "https://corvusllm.com/docs/integrations/openai-sdks",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/openai-sdks",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Use CorvusLLM anywhere with the OpenAI /v1 path.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/claude-code",
      "canonical_url": "https://corvusllm.com/docs/integrations/claude-code",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-claude-code.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/claude-code",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Code API Setup with CorvusLLM",
        "h1": "Claude Code uses /anthropic , not /v1 .",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/claude-code.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Claude Code setup",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/claude-code",
        "owned_primary_query": "CorvusLLM Claude Code setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/claude-code",
          "owned_primary_query": "CorvusLLM Claude Code setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/claude-code",
          "owned_primary_query": "CorvusLLM Claude Code setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Claude Code setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/claude-code.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/claude-code",
          "canonical_url": "https://corvusllm.com/docs/integrations/claude-code",
          "static_file_public_path": "/docs-integrations-claude-code.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/claude-code",
            "to": "/docs-integrations-claude-code.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-claude-code.html",
            "to": "/docs/integrations/claude-code",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Code API Setup with CorvusLLM",
        "meta_description": "Set up Claude Code with CorvusLLM using the Anthropic-native /anthropic base URL and the current Claude starter slug.",
        "canonical": "https://corvusllm.com/docs/integrations/claude-code",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/claude-code",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Claude Code uses /anthropic , not /v1 .",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/open-webui",
      "canonical_url": "https://corvusllm.com/docs/integrations/open-webui",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-open-webui.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/open-webui",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Open WebUI API Setup with CorvusLLM",
        "h1": "Open WebUI should use the same /v1 path as the OpenAI SDKs.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/open-webui.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Open WebUI setup",
        "query_entry_count": 28,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/open-webui",
        "owned_primary_query": "CorvusLLM Open WebUI setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/open-webui",
          "owned_primary_query": "CorvusLLM Open WebUI setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/open-webui",
          "owned_primary_query": "CorvusLLM Open WebUI setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Open WebUI setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/open-webui",
          "canonical_url": "https://corvusllm.com/docs/integrations/open-webui",
          "static_file_public_path": "/docs-integrations-open-webui.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/open-webui",
            "to": "/docs-integrations-open-webui.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-open-webui.html",
            "to": "/docs/integrations/open-webui",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Open WebUI API Setup with CorvusLLM",
        "meta_description": "Set up Open WebUI with CorvusLLM using the standard OpenAI-compatible /v1 connection flow.",
        "canonical": "https://corvusllm.com/docs/integrations/open-webui",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/open-webui",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Open WebUI should use the same /v1 path as the OpenAI SDKs.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/chatbox",
      "canonical_url": "https://corvusllm.com/docs/integrations/chatbox",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-chatbox.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/chatbox",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "ChatBox API Setup with CorvusLLM",
        "h1": "ChatBox uses the same /v1 path as the SDKs.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/chatbox.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM ChatBox setup",
        "query_entry_count": 25,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/chatbox",
        "owned_primary_query": "CorvusLLM ChatBox setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/chatbox",
          "owned_primary_query": "CorvusLLM ChatBox setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/chatbox",
          "owned_primary_query": "CorvusLLM ChatBox setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM ChatBox setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/chatbox.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/chatbox",
          "canonical_url": "https://corvusllm.com/docs/integrations/chatbox",
          "static_file_public_path": "/docs-integrations-chatbox.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/chatbox",
            "to": "/docs-integrations-chatbox.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-chatbox.html",
            "to": "/docs/integrations/chatbox",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "ChatBox API Setup with CorvusLLM",
        "meta_description": "Set up ChatBox with CorvusLLM using a custom OpenAI-compatible provider, the /v1 base URL, and one clean starter slug.",
        "canonical": "https://corvusllm.com/docs/integrations/chatbox",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/chatbox",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "ChatBox uses the same /v1 path as the SDKs.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/n8n",
      "canonical_url": "https://corvusllm.com/docs/integrations/n8n",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-n8n.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/n8n",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM n8n Setup - HTTP Request Workflow Guide",
        "h1": "In n8n, the safest route is the HTTP Request node.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/n8n.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM n8n setup",
        "query_entry_count": 26,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/n8n",
        "owned_primary_query": "CorvusLLM n8n setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/n8n",
          "owned_primary_query": "CorvusLLM n8n setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/n8n",
          "owned_primary_query": "CorvusLLM n8n setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM n8n setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/n8n.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/n8n",
          "canonical_url": "https://corvusllm.com/docs/integrations/n8n",
          "static_file_public_path": "/docs-integrations-n8n.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/n8n",
            "to": "/docs-integrations-n8n.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-n8n.html",
            "to": "/docs/integrations/n8n",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM n8n Setup - HTTP Request Workflow Guide",
        "meta_description": "Use CorvusLLM in n8n through the HTTP Request node with Bearer auth and the OpenAI-compatible /v1 path.",
        "canonical": "https://corvusllm.com/docs/integrations/n8n",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/n8n",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "In n8n, the safest route is the HTTP Request node.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/cursor",
      "canonical_url": "https://corvusllm.com/docs/integrations/cursor",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-cursor.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/cursor",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Cursor API Setup with CorvusLLM",
        "h1": "Cursor is a conditional CorvusLLM environment.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/cursor.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Cursor setup",
        "query_entry_count": 28,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 14
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/cursor",
        "owned_primary_query": "CorvusLLM Cursor setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/cursor",
          "owned_primary_query": "CorvusLLM Cursor setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/cursor",
          "owned_primary_query": "CorvusLLM Cursor setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Cursor setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/cursor",
          "canonical_url": "https://corvusllm.com/docs/integrations/cursor",
          "static_file_public_path": "/docs-integrations-cursor.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/cursor",
            "to": "/docs-integrations-cursor.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-cursor.html",
            "to": "/docs/integrations/cursor",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Cursor API Setup with CorvusLLM",
        "meta_description": "Use CorvusLLM in Cursor only when your build exposes a custom OpenAI-compatible base URL or equivalent override field.",
        "canonical": "https://corvusllm.com/docs/integrations/cursor",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/cursor",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Cursor is a conditional CorvusLLM environment.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/integrations/windsurf",
      "canonical_url": "https://corvusllm.com/docs/integrations/windsurf",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-integrations-windsurf.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/integrations/windsurf",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Windsurf API Setup with CorvusLLM",
        "h1": "Windsurf is also a conditional CorvusLLM environment.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/integrations/windsurf.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Windsurf setup",
        "query_entry_count": 27,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 13
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/integrations/windsurf",
        "owned_primary_query": "CorvusLLM Windsurf setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/integrations/windsurf",
          "owned_primary_query": "CorvusLLM Windsurf setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/integrations/windsurf",
          "owned_primary_query": "CorvusLLM Windsurf setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Windsurf setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/integrations/windsurf.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/integrations/windsurf",
          "canonical_url": "https://corvusllm.com/docs/integrations/windsurf",
          "static_file_public_path": "/docs-integrations-windsurf.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/integrations/windsurf",
            "to": "/docs-integrations-windsurf.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-integrations-windsurf.html",
            "to": "/docs/integrations/windsurf",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Windsurf API Setup with CorvusLLM",
        "meta_description": "Use CorvusLLM in Windsurf only when your build exposes a custom OpenAI-compatible base URL or equivalent provider override field.",
        "canonical": "https://corvusllm.com/docs/integrations/windsurf",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/integrations/windsurf",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Windsurf is also a conditional CorvusLLM environment.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/errors",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/errors",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-errors.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/errors",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM API Troubleshooting Guide",
        "h1": "Most CorvusLLM issues are the same four mistakes.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/errors.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Troubleshooting setup",
        "query_entry_count": 30,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/errors",
        "owned_primary_query": "CorvusLLM Troubleshooting setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/errors",
          "owned_primary_query": "CorvusLLM Troubleshooting setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/errors",
          "owned_primary_query": "CorvusLLM Troubleshooting setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Troubleshooting setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/errors.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/errors",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/errors",
          "static_file_public_path": "/docs-troubleshooting-errors.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/errors",
            "to": "/docs-troubleshooting-errors.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-errors.html",
            "to": "/docs/troubleshooting/errors",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM API Troubleshooting Guide",
        "meta_description": "CorvusLLM troubleshooting: wrong base URL, bad model slug, out-of-balance, missing delivery, and environment-specific setup mistakes.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/errors",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/errors",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Most CorvusLLM issues are the same four mistakes.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/model-not-found",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/model-not-found",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-model-not-found.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/model-not-found",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Model not found Troubleshooting | CorvusLLM",
        "h1": "Fix model not found errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/model-not-found.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Model not found error fix",
        "query_entry_count": 30,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 17
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/model-not-found",
        "owned_primary_query": "CorvusLLM Model not found error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/model-not-found",
          "owned_primary_query": "CorvusLLM Model not found error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/model-not-found",
          "owned_primary_query": "CorvusLLM Model not found error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Model not found error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/model-not-found.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/model-not-found",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/model-not-found",
          "static_file_public_path": "/docs-troubleshooting-model-not-found.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/model-not-found",
            "to": "/docs-troubleshooting-model-not-found.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-model-not-found.html",
            "to": "/docs/troubleshooting/model-not-found",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Model not found Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM model not found, unknown model, no such model, and 404 slug errors with safe checks, canonical slug fixes, and retry guidance.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/model-not-found",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/model-not-found",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix model not found errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/invalid-api-key",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/invalid-api-key",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-invalid-api-key.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/invalid-api-key",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Invalid API key Troubleshooting | CorvusLLM",
        "h1": "Fix invalid API key errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/invalid-api-key.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Invalid key error fix",
        "query_entry_count": 31,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 17
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/invalid-api-key",
        "owned_primary_query": "CorvusLLM Invalid key error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/invalid-api-key",
          "owned_primary_query": "CorvusLLM Invalid key error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/invalid-api-key",
          "owned_primary_query": "CorvusLLM Invalid key error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Invalid key error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/invalid-api-key.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/invalid-api-key",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/invalid-api-key",
          "static_file_public_path": "/docs-troubleshooting-invalid-api-key.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/invalid-api-key",
            "to": "/docs-troubleshooting-invalid-api-key.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-invalid-api-key.html",
            "to": "/docs/troubleshooting/invalid-api-key",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Invalid API key Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM invalid API key, unauthorized, 401, and 403 errors with Bearer auth checks, dashboard key verification, and client-profile fixes.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/invalid-api-key",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/invalid-api-key",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix invalid API key errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/wrong-base-url",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/wrong-base-url",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-wrong-base-url.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/wrong-base-url",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Wrong base URL Troubleshooting | CorvusLLM",
        "h1": "Fix wrong base URL errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/wrong-base-url.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Wrong base URL error fix",
        "query_entry_count": 33,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 20
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/wrong-base-url",
        "owned_primary_query": "CorvusLLM Wrong base URL error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/wrong-base-url",
          "owned_primary_query": "CorvusLLM Wrong base URL error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/wrong-base-url",
          "owned_primary_query": "CorvusLLM Wrong base URL error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Wrong base URL error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/wrong-base-url.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/wrong-base-url",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/wrong-base-url",
          "static_file_public_path": "/docs-troubleshooting-wrong-base-url.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/wrong-base-url",
            "to": "/docs-troubleshooting-wrong-base-url.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-wrong-base-url.html",
            "to": "/docs/troubleshooting/wrong-base-url",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Wrong base URL Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM wrong base URL, double /v1, wrong endpoint path, Claude Code /anthropic, and OpenAI-compatible routing mistakes.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/wrong-base-url",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/wrong-base-url",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix wrong base URL errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/out-of-balance",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/out-of-balance",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-out-of-balance.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/out-of-balance",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Out of balance Troubleshooting | CorvusLLM",
        "h1": "Fix out of balance errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/out-of-balance.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Out of balance error fix",
        "query_entry_count": 31,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 18
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/out-of-balance",
        "owned_primary_query": "CorvusLLM Out of balance error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/out-of-balance",
          "owned_primary_query": "CorvusLLM Out of balance error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/out-of-balance",
          "owned_primary_query": "CorvusLLM Out of balance error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Out of balance error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/out-of-balance.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/out-of-balance",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/out-of-balance",
          "static_file_public_path": "/docs-troubleshooting-out-of-balance.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/out-of-balance",
            "to": "/docs-troubleshooting-out-of-balance.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-out-of-balance.html",
            "to": "/docs/troubleshooting/out-of-balance",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Out of balance Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM out of balance, 429, insufficient credits, top-up, prepaid balance, and cache-heavy request billing errors.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/out-of-balance",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/out-of-balance",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix out of balance errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/upstream-provider-unavailable",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/upstream-provider-unavailable",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-upstream-provider-unavailable.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/upstream-provider-unavailable",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Provider unavailable Troubleshooting | CorvusLLM",
        "h1": "Fix upstream provider unavailable errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/upstream-provider-unavailable.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Provider unavailable error fix",
        "query_entry_count": 30,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/upstream-provider-unavailable",
        "owned_primary_query": "CorvusLLM Provider unavailable error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/upstream-provider-unavailable",
          "owned_primary_query": "CorvusLLM Provider unavailable error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/upstream-provider-unavailable",
          "owned_primary_query": "CorvusLLM Provider unavailable error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Provider unavailable error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/upstream-provider-unavailable.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/upstream-provider-unavailable",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/upstream-provider-unavailable",
          "static_file_public_path": "/docs-troubleshooting-upstream-provider-unavailable.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/upstream-provider-unavailable",
            "to": "/docs-troubleshooting-upstream-provider-unavailable.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-upstream-provider-unavailable.html",
            "to": "/docs/troubleshooting/upstream-provider-unavailable",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Provider unavailable Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM upstream provider unavailable, temporary outage, provider did not respond, model family unavailable, and route failure errors.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/upstream-provider-unavailable",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/upstream-provider-unavailable",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix upstream provider unavailable errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/request-timeout",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/request-timeout",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-request-timeout.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/request-timeout",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Request timeout Troubleshooting | CorvusLLM",
        "h1": "Fix request timeout errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/request-timeout.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Timeouts error fix",
        "query_entry_count": 30,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/request-timeout",
        "owned_primary_query": "CorvusLLM Timeouts error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/request-timeout",
          "owned_primary_query": "CorvusLLM Timeouts error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/request-timeout",
          "owned_primary_query": "CorvusLLM Timeouts error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Timeouts error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/request-timeout.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/request-timeout",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/request-timeout",
          "static_file_public_path": "/docs-troubleshooting-request-timeout.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/request-timeout",
            "to": "/docs-troubleshooting-request-timeout.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-request-timeout.html",
            "to": "/docs/troubleshooting/request-timeout",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Request timeout Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM request timeout, long request failed, gateway timeout, stream timeout, and large prompt latency issues.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/request-timeout",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/request-timeout",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix request timeout errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/image-input-errors",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/image-input-errors",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-image-input-errors.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/image-input-errors",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Image input errors Troubleshooting | CorvusLLM",
        "h1": "Fix image input errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/image-input-errors.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Image errors error fix",
        "query_entry_count": 32,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 18
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/image-input-errors",
        "owned_primary_query": "CorvusLLM Image errors error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/image-input-errors",
          "owned_primary_query": "CorvusLLM Image errors error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/image-input-errors",
          "owned_primary_query": "CorvusLLM Image errors error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Image errors error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/image-input-errors.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/image-input-errors",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/image-input-errors",
          "static_file_public_path": "/docs-troubleshooting-image-input-errors.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/image-input-errors",
            "to": "/docs-troubleshooting-image-input-errors.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-image-input-errors.html",
            "to": "/docs/troubleshooting/image-input-errors",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Image input errors Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM image input, vision message, base64 image, unsupported image, and multimodal payload errors in OpenAI-compatible clients.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/image-input-errors",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/image-input-errors",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix image input errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/tool-creation-failed",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/tool-creation-failed",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-tool-creation-failed.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/tool-creation-failed",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Tool creation failed Troubleshooting | CorvusLLM",
        "h1": "Fix tool creation and file-action errors",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/tool-creation-failed.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Tool errors error fix",
        "query_entry_count": 32,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 18
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/tool-creation-failed",
        "owned_primary_query": "CorvusLLM Tool errors error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/tool-creation-failed",
          "owned_primary_query": "CorvusLLM Tool errors error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/tool-creation-failed",
          "owned_primary_query": "CorvusLLM Tool errors error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Tool errors error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/tool-creation-failed.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/tool-creation-failed",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/tool-creation-failed",
          "static_file_public_path": "/docs-troubleshooting-tool-creation-failed.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/tool-creation-failed",
            "to": "/docs-troubleshooting-tool-creation-failed.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-tool-creation-failed.html",
            "to": "/docs/troubleshooting/tool-creation-failed",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Tool creation failed Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM tool creation, function calling, agent file write, workspace patch, streaming tool, and schema-size errors.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/tool-creation-failed",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/tool-creation-failed",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix tool creation and file-action errors",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/troubleshooting/cache-token-cost-spikes",
      "canonical_url": "https://corvusllm.com/docs/troubleshooting/cache-token-cost-spikes",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-troubleshooting-cache-token-cost-spikes.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/troubleshooting/cache-token-cost-spikes",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Cache cost spikes Troubleshooting | CorvusLLM",
        "h1": "Fix cache token cost spikes",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/troubleshooting/cache-token-cost-spikes.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Cache costs error fix",
        "query_entry_count": 33,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 19
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/troubleshooting/cache-token-cost-spikes",
        "owned_primary_query": "CorvusLLM Cache costs error fix",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/troubleshooting/cache-token-cost-spikes",
          "owned_primary_query": "CorvusLLM Cache costs error fix",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/troubleshooting/cache-token-cost-spikes",
          "owned_primary_query": "CorvusLLM Cache costs error fix",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Cache costs error fix",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/troubleshooting/cache-token-cost-spikes.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/troubleshooting/cache-token-cost-spikes",
          "canonical_url": "https://corvusllm.com/docs/troubleshooting/cache-token-cost-spikes",
          "static_file_public_path": "/docs-troubleshooting-cache-token-cost-spikes.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/troubleshooting/cache-token-cost-spikes",
            "to": "/docs-troubleshooting-cache-token-cost-spikes.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-troubleshooting-cache-token-cost-spikes.html",
            "to": "/docs/troubleshooting/cache-token-cost-spikes",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Cache cost spikes Troubleshooting | CorvusLLM",
        "meta_description": "Diagnose CorvusLLM cache token cost spikes, high cache read or write usage, short continue prompts with expensive context, and unexpected balance drops.",
        "canonical": "https://corvusllm.com/docs/troubleshooting/cache-token-cost-spikes",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/troubleshooting/cache-token-cost-spikes",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Fix cache token cost spikes",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/api/overview",
      "canonical_url": "https://corvusllm.com/docs/api/overview",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-api-overview.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/api/overview",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM API Overview and Base URLs",
        "h1": "CorvusLLM API base URLs and request paths.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/api/overview.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM API overview setup",
        "query_entry_count": 34,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 20
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/api/overview",
        "owned_primary_query": "CorvusLLM API overview setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/api/overview",
          "owned_primary_query": "CorvusLLM API overview setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/api/overview",
          "owned_primary_query": "CorvusLLM API overview setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM API overview setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/api/overview.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/api/overview",
          "canonical_url": "https://corvusllm.com/docs/api/overview",
          "static_file_public_path": "/docs-api-overview.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/api/overview",
            "to": "/docs-api-overview.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-api-overview.html",
            "to": "/docs/api/overview",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM API Overview and Base URLs",
        "meta_description": "CorvusLLM API overview: public base URLs, auth, /v1, /anthropic, model listing, chat completions, responses, and out-of-balance behavior.",
        "canonical": "https://corvusllm.com/docs/api/overview",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/api/overview",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "CorvusLLM API base URLs and request paths.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/api/models",
      "canonical_url": "https://corvusllm.com/docs/api/models",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-api-models.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/api/models",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Model Slugs and Pricing",
        "h1": "Use the canonical customer slug and keep it simple.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/api/models.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Models setup",
        "query_entry_count": 29,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 15
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/api/models",
        "owned_primary_query": "CorvusLLM Models setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/api/models",
          "owned_primary_query": "CorvusLLM Models setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/api/models",
          "owned_primary_query": "CorvusLLM Models setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Models setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/api/models.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/api/models",
          "canonical_url": "https://corvusllm.com/docs/api/models",
          "static_file_public_path": "/docs-api-models.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/api/models",
            "to": "/docs-api-models.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-api-models.html",
            "to": "/docs/api/models",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Model Slugs and Pricing",
        "meta_description": "CorvusLLM model reference with one customer slug per model, provider family, best path, environment fit, and CorvusLLM pricing.",
        "canonical": "https://corvusllm.com/docs/api/models",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/api/models",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Use the canonical customer slug and keep it simple.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/docs/api/billing",
      "canonical_url": "https://corvusllm.com/docs/api/billing",
      "page_type": "documentation",
      "cluster": "docs",
      "route_family": "documentation",
      "parent_path": "/docs",
      "hub_path": "/docs",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "docs-api-billing.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/docs/api/billing",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Billing, Balance & Cache",
        "h1": "CorvusLLM bills against the customer key balance and stops at zero.",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact implementation route for one documented setup or reference topic",
        "search_intent_class": "informational_setup_and_implementation",
        "funnel_stage": "implementation",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/docs-index.json",
          "/data/setup-index.json",
          "/docs/api/billing.md"
        ],
        "specialized_sources": [
          "/data/docs-index.json",
          "/data/setup-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Billing setup",
        "query_entry_count": 30,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/docs/api/billing",
        "owned_primary_query": "CorvusLLM Billing setup",
        "owned_intent_class": "informational_setup_and_implementation",
        "ownership_scope": "exact_docs_setup_or_reference_owner",
        "route_role": "exact implementation route for one documented setup or reference topic",
        "hub_path": "/docs",
        "public_query_index": {
          "canonical_query_owner": "/docs/api/billing",
          "owned_primary_query": "CorvusLLM Billing setup",
          "owned_intent_class": "informational_setup_and_implementation",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "route_role": "exact implementation route for one documented setup or reference topic",
          "hub_path": "/docs",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/docs/api/billing",
          "owned_primary_query": "CorvusLLM Billing setup",
          "ownership_scope": "exact_docs_setup_or_reference_owner",
          "primary_query": "CorvusLLM Billing setup",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "documentation",
        "html_sitemap_group": "Documentation",
        "markdown_source": "/docs/api/billing.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/docs/api/billing",
          "canonical_url": "https://corvusllm.com/docs/api/billing",
          "static_file_public_path": "/docs-api-billing.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/docs/api/billing",
            "to": "/docs-api-billing.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/docs-api-billing.html",
            "to": "/docs/api/billing",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Billing, Balance & Cache",
        "meta_description": "CorvusLLM billing guide for prepaid balance, same-key top-ups, usage deductions, out-of-balance behavior, and cache token pricing.",
        "canonical": "https://corvusllm.com/docs/api/billing",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/docs/api/billing",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "CorvusLLM bills against the customer key balance and stops at zero.",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq",
      "canonical_url": "https://corvusllm.com/faq",
      "page_type": "faq_hub",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "FAQ and Help Center | CorvusLLM",
        "h1": "Frequently Asked Questions",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "central FAQ discovery hub route for exact public support answers",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Frequently Asked Questions",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq",
        "owned_primary_query": "Frequently Asked Questions",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "central FAQ discovery hub route for exact public support answers",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq",
          "owned_primary_query": "Frequently Asked Questions",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "central FAQ discovery hub route for exact public support answers",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq",
          "owned_primary_query": "Frequently Asked Questions",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "Frequently Asked Questions",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq",
          "canonical_url": "https://corvusllm.com/faq",
          "static_file_public_path": "/faq.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/faq",
            "to": "/faq.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/faq.html",
            "to": "/faq",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "FAQ and Help Center | CorvusLLM",
        "meta_description": "CorvusLLM FAQ and help center with searchable answers about pricing, refunds, delivery, API setup, Cursor, Claude Code, Open WebUI, privacy, trust, and troubleshooting.",
        "canonical": "https://corvusllm.com/faq",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Frequently Asked Questions",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-do-i-actually-receive-after-a-successful-order/",
      "canonical_url": "https://corvusllm.com/faq/what-do-i-actually-receive-after-a-successful-order/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-do-i-actually-receive-after-a-successful-order/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-do-i-actually-receive-after-a-successful-order/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "What do I actually receive after a successful order? | CorvusLLM",
        "h1": "What do I actually receive after a successful order?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-do-i-actually-receive-after-a-successful-order.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What do I actually receive after a successful order?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-do-i-actually-receive-after-a-successful-order/",
        "owned_primary_query": "What do I actually receive after a successful order?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-do-i-actually-receive-after-a-successful-order/",
          "owned_primary_query": "What do I actually receive after a successful order?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-do-i-actually-receive-after-a-successful-order/",
          "owned_primary_query": "What do I actually receive after a successful order?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What do I actually receive after a successful order?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-do-i-actually-receive-after-a-successful-order.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-do-i-actually-receive-after-a-successful-order/",
          "canonical_url": "https://corvusllm.com/faq/what-do-i-actually-receive-after-a-successful-order/",
          "static_file_public_path": "/faq/what-do-i-actually-receive-after-a-successful-order/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-do-i-actually-receive-after-a-successful-order/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "What do I actually receive after a successful order? | CorvusLLM",
        "meta_description": "After a confirmed order, CorvusLLM sends the API key and the proxy or base URL to the email address you entered at checkout. The checkout flow also...",
        "canonical": "https://corvusllm.com/faq/what-do-i-actually-receive-after-a-successful-order/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-do-i-actually-receive-after-a-successful-order/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What do I actually receive after a successful order?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
      "canonical_url": "https://corvusllm.com/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-i-need-my-own-openai-or-anthropic-account-first/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Do I need my own OpenAI or Anthropic account first? | CorvusLLM",
        "h1": "Do I need my own OpenAI or Anthropic account first?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-i-need-my-own-openai-or-anthropic-account-first.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do I need my own OpenAI or Anthropic account first?",
        "query_entry_count": 25,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 11
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
        "owned_primary_query": "Do I need my own OpenAI or Anthropic account first?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
          "owned_primary_query": "Do I need my own OpenAI or Anthropic account first?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
          "owned_primary_query": "Do I need my own OpenAI or Anthropic account first?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do I need my own OpenAI or Anthropic account first?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-i-need-my-own-openai-or-anthropic-account-first.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
          "canonical_url": "https://corvusllm.com/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
          "static_file_public_path": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-i-need-my-own-openai-or-anthropic-account-first/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Do I need my own OpenAI or Anthropic account first? | CorvusLLM",
        "meta_description": "No for the public purchase flow on this site. CorvusLLM delivers its own access details, so the public checkout does not require you to open or preload...",
        "canonical": "https://corvusllm.com/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-i-need-my-own-openai-or-anthropic-account-first/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do I need my own OpenAI or Anthropic account first?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
      "canonical_url": "https://corvusllm.com/faq/which-page-should-i-read-first-if-i-am-completely-new/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-page-should-i-read-first-if-i-am-completely-new/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-page-should-i-read-first-if-i-am-completely-new/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Best Start Page for New Users | CorvusLLM",
        "h1": "Which page should I read first if I am completely new?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-page-should-i-read-first-if-i-am-completely-new.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which page should I read first if I am completely new?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
        "owned_primary_query": "Which page should I read first if I am completely new?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
          "owned_primary_query": "Which page should I read first if I am completely new?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
          "owned_primary_query": "Which page should I read first if I am completely new?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which page should I read first if I am completely new?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-page-should-i-read-first-if-i-am-completely-new.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-page-should-i-read-first-if-i-am-completely-new/",
          "canonical_url": "https://corvusllm.com/faq/which-page-should-i-read-first-if-i-am-completely-new/",
          "static_file_public_path": "/faq/which-page-should-i-read-first-if-i-am-completely-new/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-page-should-i-read-first-if-i-am-completely-new/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Best Start Page for New Users | CorvusLLM",
        "meta_description": "Most new buyers should start with the purchase section on the homepage, then Models, then the Docs page. That sequence tells you what you are buying...",
        "canonical": "https://corvusllm.com/faq/which-page-should-i-read-first-if-i-am-completely-new/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-page-should-i-read-first-if-i-am-completely-new/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which page should I read first if I am completely new?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
      "canonical_url": "https://corvusllm.com/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-start-with-a-small-plan-before-buying-something-larger/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Start Small Before Buying More | CorvusLLM",
        "h1": "Can I start with a small plan before buying something larger?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-start-with-a-small-plan-before-buying-something-larger.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I start with a small plan before buying something larger?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
        "owned_primary_query": "Can I start with a small plan before buying something larger?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
          "owned_primary_query": "Can I start with a small plan before buying something larger?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
          "owned_primary_query": "Can I start with a small plan before buying something larger?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I start with a small plan before buying something larger?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
          "canonical_url": "https://corvusllm.com/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
          "static_file_public_path": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-start-with-a-small-plan-before-buying-something-larger/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Start Small Before Buying More | CorvusLLM",
        "meta_description": "Yes. The public purchase flow is built so you can start with a lower-cost balance first, test setup in your own tools, and then place a larger order...",
        "canonical": "https://corvusllm.com/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-start-with-a-small-plan-before-buying-something-larger/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I start with a small plan before buying something larger?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
      "canonical_url": "https://corvusllm.com/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "First Setup Time After Key Delivery | CorvusLLM",
        "h1": "How long does first setup usually take once the key is delivered?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How long does first setup usually take once the key is delivered?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
        "owned_primary_query": "How long does first setup usually take once the key is delivered?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
          "owned_primary_query": "How long does first setup usually take once the key is delivered?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
          "owned_primary_query": "How long does first setup usually take once the key is delivered?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How long does first setup usually take once the key is delivered?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
          "canonical_url": "https://corvusllm.com/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
          "static_file_public_path": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "First Setup Time After Key Delivery | CorvusLLM",
        "meta_description": "For most tools it is only a few minutes because the common pattern is simple: paste the key, paste the base URL, choose the model, and test one...",
        "canonical": "https://corvusllm.com/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-long-does-first-setup-usually-take-once-the-key-is-delivered/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How long does first setup usually take once the key is delivered?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
      "canonical_url": "https://corvusllm.com/faq/what-happens-after-my-crypto-payment-is-confirmed/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-happens-after-my-crypto-payment-is-confirmed/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-happens-after-my-crypto-payment-is-confirmed/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "What happens after my crypto payment is confirmed? | CorvusLLM",
        "h1": "What happens after my crypto payment is confirmed?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-happens-after-my-crypto-payment-is-confirmed.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What happens after my crypto payment is confirmed?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
        "owned_primary_query": "What happens after my crypto payment is confirmed?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
          "owned_primary_query": "What happens after my crypto payment is confirmed?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
          "owned_primary_query": "What happens after my crypto payment is confirmed?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What happens after my crypto payment is confirmed?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-happens-after-my-crypto-payment-is-confirmed.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-happens-after-my-crypto-payment-is-confirmed/",
          "canonical_url": "https://corvusllm.com/faq/what-happens-after-my-crypto-payment-is-confirmed/",
          "static_file_public_path": "/faq/what-happens-after-my-crypto-payment-is-confirmed/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-happens-after-my-crypto-payment-is-confirmed/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "What happens after my crypto payment is confirmed? | CorvusLLM",
        "meta_description": "The order moves out of the pending payment state and into the automated access path. After a matching payment is confirmed, CorvusLLM normally unlocks...",
        "canonical": "https://corvusllm.com/faq/what-happens-after-my-crypto-payment-is-confirmed/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-happens-after-my-crypto-payment-is-confirmed/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What happens after my crypto payment is confirmed?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
      "canonical_url": "https://corvusllm.com/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Which cryptocurrencies and networks can I use to pay? | CorvusLLM",
        "h1": "Which cryptocurrencies and networks can I use to pay?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which cryptocurrencies and networks can I use to pay?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
        "owned_primary_query": "Which cryptocurrencies and networks can I use to pay?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
          "owned_primary_query": "Which cryptocurrencies and networks can I use to pay?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
          "owned_primary_query": "Which cryptocurrencies and networks can I use to pay?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which cryptocurrencies and networks can I use to pay?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
          "canonical_url": "https://corvusllm.com/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
          "static_file_public_path": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Which cryptocurrencies and networks can I use to pay? | CorvusLLM",
        "meta_description": "Use only the currencies and networks explicitly shown by the checkout for your order. The safest rule is simple: send the exact amount, on the exact...",
        "canonical": "https://corvusllm.com/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-cryptocurrencies-and-networks-can-i-use-to-pay/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which cryptocurrencies and networks can I use to pay?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
      "canonical_url": "https://corvusllm.com/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Recover an Order After Closing Checkout | CorvusLLM",
        "h1": "Can I recover an order later if I close the page or switch devices?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I recover an order later if I close the page or switch devices?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
        "owned_primary_query": "Can I recover an order later if I close the page or switch devices?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
          "owned_primary_query": "Can I recover an order later if I close the page or switch devices?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
          "owned_primary_query": "Can I recover an order later if I close the page or switch devices?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I recover an order later if I close the page or switch devices?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
          "canonical_url": "https://corvusllm.com/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
          "static_file_public_path": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Recover an Order After Closing Checkout | CorvusLLM",
        "meta_description": "Yes, the order number is the key reference for support and order recovery. Keep it until delivery is complete, because it is the fastest way to trace a...",
        "canonical": "https://corvusllm.com/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-recover-an-order-later-if-i-close-the-page-or-switch-devices/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I recover an order later if I close the page or switch devices?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
      "canonical_url": "https://corvusllm.com/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-if-i-typed-the-wrong-email-address-during-checkout/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Typed the wrong email address during checkout? | CorvusLLM",
        "h1": "What if I typed the wrong email address during checkout?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-if-i-typed-the-wrong-email-address-during-checkout.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What if I typed the wrong email address during checkout?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
        "owned_primary_query": "What if I typed the wrong email address during checkout?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
          "owned_primary_query": "What if I typed the wrong email address during checkout?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
          "owned_primary_query": "What if I typed the wrong email address during checkout?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What if I typed the wrong email address during checkout?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
          "canonical_url": "https://corvusllm.com/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
          "static_file_public_path": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-if-i-typed-the-wrong-email-address-during-checkout/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Typed the wrong email address during checkout? | CorvusLLM",
        "meta_description": "Contact support as quickly as possible and include the order number. The earlier support sees the mistake, the easier it is to reroute delivery before...",
        "canonical": "https://corvusllm.com/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-if-i-typed-the-wrong-email-address-during-checkout/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What if I typed the wrong email address during checkout?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
      "canonical_url": "https://corvusllm.com/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-you-deliver-instantly-at-all-hours-of-the-day/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Do you deliver instantly at all hours of the day? | CorvusLLM",
        "h1": "Do you deliver instantly at all hours of the day?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-you-deliver-instantly-at-all-hours-of-the-day.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do you deliver instantly at all hours of the day?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
        "owned_primary_query": "Do you deliver instantly at all hours of the day?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
          "owned_primary_query": "Do you deliver instantly at all hours of the day?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
          "owned_primary_query": "Do you deliver instantly at all hours of the day?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do you deliver instantly at all hours of the day?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
          "canonical_url": "https://corvusllm.com/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
          "static_file_public_path": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-you-deliver-instantly-at-all-hours-of-the-day/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Do you deliver instantly at all hours of the day? | CorvusLLM",
        "meta_description": "Normally yes after a matching payment is confirmed, because access is provisioned automatically rather than handled as a manual office-hours delivery...",
        "canonical": "https://corvusllm.com/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-you-deliver-instantly-at-all-hours-of-the-day/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do you deliver instantly at all hours of the day?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-there-recurring-charges-or-automatic-renewals/",
      "canonical_url": "https://corvusllm.com/faq/are-there-recurring-charges-or-automatic-renewals/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-there-recurring-charges-or-automatic-renewals/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-there-recurring-charges-or-automatic-renewals/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Are there recurring charges or automatic renewals? | CorvusLLM",
        "h1": "Are there recurring charges or automatic renewals?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-there-recurring-charges-or-automatic-renewals.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are there recurring charges or automatic renewals?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-there-recurring-charges-or-automatic-renewals/",
        "owned_primary_query": "Are there recurring charges or automatic renewals?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-there-recurring-charges-or-automatic-renewals/",
          "owned_primary_query": "Are there recurring charges or automatic renewals?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-there-recurring-charges-or-automatic-renewals/",
          "owned_primary_query": "Are there recurring charges or automatic renewals?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are there recurring charges or automatic renewals?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-there-recurring-charges-or-automatic-renewals.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-there-recurring-charges-or-automatic-renewals/",
          "canonical_url": "https://corvusllm.com/faq/are-there-recurring-charges-or-automatic-renewals/",
          "static_file_public_path": "/faq/are-there-recurring-charges-or-automatic-renewals/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-there-recurring-charges-or-automatic-renewals/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Are there recurring charges or automatic renewals? | CorvusLLM",
        "meta_description": "No automatic card-style renewal is part of the public checkout flow. You place a new order when you want more time, more usage, or a different pack.",
        "canonical": "https://corvusllm.com/faq/are-there-recurring-charges-or-automatic-renewals/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-there-recurring-charges-or-automatic-renewals/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are there recurring charges or automatic renewals?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
      "canonical_url": "https://corvusllm.com/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Crypto amount change before I lock the payment? | CorvusLLM",
        "h1": "Why does the crypto amount change before I lock the payment?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why does the crypto amount change before I lock the payment?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
        "owned_primary_query": "Why does the crypto amount change before I lock the payment?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
          "owned_primary_query": "Why does the crypto amount change before I lock the payment?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
          "owned_primary_query": "Why does the crypto amount change before I lock the payment?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why does the crypto amount change before I lock the payment?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
          "canonical_url": "https://corvusllm.com/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
          "static_file_public_path": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Crypto amount change before I lock the payment? | CorvusLLM",
        "meta_description": "Because the quoted crypto amount follows market pricing until the checkout locks it for your specific order. Once the quote is created, that exact...",
        "canonical": "https://corvusllm.com/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-does-the-crypto-amount-change-before-i-lock-the-payment/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why does the crypto amount change before I lock the payment?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
      "canonical_url": "https://corvusllm.com/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Is the Checkout Quote Fixed? | CorvusLLM",
        "h1": "Is the quote fixed after I press Continue and reach the payment step?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is the quote fixed after I press Continue and reach the payment step?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
        "owned_primary_query": "Is the quote fixed after I press Continue and reach the payment step?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
          "owned_primary_query": "Is the quote fixed after I press Continue and reach the payment step?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
          "owned_primary_query": "Is the quote fixed after I press Continue and reach the payment step?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is the quote fixed after I press Continue and reach the payment step?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
          "canonical_url": "https://corvusllm.com/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
          "static_file_public_path": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Is the Checkout Quote Fixed? | CorvusLLM",
        "meta_description": "Yes, the payment screen is designed around an exact quote that stays locked for the countdown window shown there. If the timer expires before you send...",
        "canonical": "https://corvusllm.com/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-the-quote-fixed-after-i-press-continue-and-reach-the-payment-step/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is the quote fixed after I press Continue and reach the payment step?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
      "canonical_url": "https://corvusllm.com/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Exchange Wallet vs Self-Custody Payment | CorvusLLM",
        "h1": "Can I pay from an exchange wallet instead of a self-custody wallet?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I pay from an exchange wallet instead of a self-custody wallet?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
        "owned_primary_query": "Can I pay from an exchange wallet instead of a self-custody wallet?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
          "owned_primary_query": "Can I pay from an exchange wallet instead of a self-custody wallet?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
          "owned_primary_query": "Can I pay from an exchange wallet instead of a self-custody wallet?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I pay from an exchange wallet instead of a self-custody wallet?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
          "canonical_url": "https://corvusllm.com/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
          "static_file_public_path": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Exchange Wallet vs Self-Custody Payment | CorvusLLM",
        "meta_description": "Sometimes yes, but self-custody is safer because exchange withdrawals can add delays, fees, or batching behavior you do not control. If you use an...",
        "canonical": "https://corvusllm.com/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-pay-from-an-exchange-wallet-instead-of-a-self-custody-wallet/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I pay from an exchange wallet instead of a self-custody wallet?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
      "canonical_url": "https://corvusllm.com/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Subscription and Monthly Billing | CorvusLLM",
        "h1": "Is CorvusLLM a normal subscription with monthly card billing?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is CorvusLLM a normal subscription with monthly card billing?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
        "owned_primary_query": "Is CorvusLLM a normal subscription with monthly card billing?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
          "owned_primary_query": "Is CorvusLLM a normal subscription with monthly card billing?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
          "owned_primary_query": "Is CorvusLLM a normal subscription with monthly card billing?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is CorvusLLM a normal subscription with monthly card billing?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
          "canonical_url": "https://corvusllm.com/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
          "static_file_public_path": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Subscription and Monthly Billing | CorvusLLM",
        "meta_description": "No. CorvusLLM's public model is prepaid balance, not a recurring monthly card subscription. You top up manually when you want more balance, and the...",
        "canonical": "https://corvusllm.com/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-corvusllm-a-normal-subscription-with-monthly-card-billing/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is CorvusLLM a normal subscription with monthly card billing?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/when-can-i-reasonably-expect-a-refund/",
      "canonical_url": "https://corvusllm.com/faq/when-can-i-reasonably-expect-a-refund/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/when-can-i-reasonably-expect-a-refund/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/when-can-i-reasonably-expect-a-refund/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "When can I reasonably expect a refund? | CorvusLLM",
        "h1": "When can I reasonably expect a refund?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/when-can-i-reasonably-expect-a-refund.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "When can I reasonably expect a refund?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/when-can-i-reasonably-expect-a-refund/",
        "owned_primary_query": "When can I reasonably expect a refund?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/when-can-i-reasonably-expect-a-refund/",
          "owned_primary_query": "When can I reasonably expect a refund?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/when-can-i-reasonably-expect-a-refund/",
          "owned_primary_query": "When can I reasonably expect a refund?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "When can I reasonably expect a refund?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/when-can-i-reasonably-expect-a-refund.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/when-can-i-reasonably-expect-a-refund/",
          "canonical_url": "https://corvusllm.com/faq/when-can-i-reasonably-expect-a-refund/",
          "static_file_public_path": "/faq/when-can-i-reasonably-expect-a-refund/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/when-can-i-reasonably-expect-a-refund/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "When can I reasonably expect a refund? | CorvusLLM",
        "meta_description": "The public guarantee is aimed at broken or non-working access during the covered period. If the delivered key fails and support cannot replace or...",
        "canonical": "https://corvusllm.com/faq/when-can-i-reasonably-expect-a-refund/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/when-can-i-reasonably-expect-a-refund/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "When can I reasonably expect a refund?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-does-the-service-guarantee-actually-cover/",
      "canonical_url": "https://corvusllm.com/faq/what-does-the-service-guarantee-actually-cover/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-does-the-service-guarantee-actually-cover/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-does-the-service-guarantee-actually-cover/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "What does the service guarantee actually cover? | CorvusLLM",
        "h1": "What does the service guarantee actually cover?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-does-the-service-guarantee-actually-cover.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What does the service guarantee actually cover?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-does-the-service-guarantee-actually-cover/",
        "owned_primary_query": "What does the service guarantee actually cover?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-does-the-service-guarantee-actually-cover/",
          "owned_primary_query": "What does the service guarantee actually cover?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-does-the-service-guarantee-actually-cover/",
          "owned_primary_query": "What does the service guarantee actually cover?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What does the service guarantee actually cover?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-does-the-service-guarantee-actually-cover.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-does-the-service-guarantee-actually-cover/",
          "canonical_url": "https://corvusllm.com/faq/what-does-the-service-guarantee-actually-cover/",
          "static_file_public_path": "/faq/what-does-the-service-guarantee-actually-cover/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-does-the-service-guarantee-actually-cover/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "What does the service guarantee actually cover? | CorvusLLM",
        "meta_description": "It covers the working state of the purchased access for the promised period, not every possible user mistake. It is meant to protect you against the...",
        "canonical": "https://corvusllm.com/faq/what-does-the-service-guarantee-actually-cover/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-does-the-service-guarantee-actually-cover/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What does the service guarantee actually cover?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
      "canonical_url": "https://corvusllm.com/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Refunds for Wrong-Network Payments | CorvusLLM",
        "h1": "Do refunds apply if I send funds on the wrong network?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do refunds apply if I send funds on the wrong network?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
        "owned_primary_query": "Do refunds apply if I send funds on the wrong network?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
          "owned_primary_query": "Do refunds apply if I send funds on the wrong network?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
          "owned_primary_query": "Do refunds apply if I send funds on the wrong network?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do refunds apply if I send funds on the wrong network?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
          "canonical_url": "https://corvusllm.com/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
          "static_file_public_path": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Refunds for Wrong-Network Payments | CorvusLLM",
        "meta_description": "Normally no. A wrong-network crypto transfer is one of the few mistakes that can become permanently unrecoverable, which is why the checkout repeats...",
        "canonical": "https://corvusllm.com/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-refunds-apply-if-i-send-funds-on-the-wrong-network/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do refunds apply if I send funds on the wrong network?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
      "canonical_url": "https://corvusllm.com/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-if-i-overpay-or-underpay-the-quoted-amount/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "What if I overpay or underpay the quoted amount? | CorvusLLM",
        "h1": "What if I overpay or underpay the quoted amount?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-if-i-overpay-or-underpay-the-quoted-amount.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What if I overpay or underpay the quoted amount?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
        "owned_primary_query": "What if I overpay or underpay the quoted amount?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
          "owned_primary_query": "What if I overpay or underpay the quoted amount?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
          "owned_primary_query": "What if I overpay or underpay the quoted amount?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What if I overpay or underpay the quoted amount?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
          "canonical_url": "https://corvusllm.com/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
          "static_file_public_path": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-if-i-overpay-or-underpay-the-quoted-amount/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "What if I overpay or underpay the quoted amount? | CorvusLLM",
        "meta_description": "Do not assume the system can guess what to do automatically. Keep the order number and transaction proof, then contact support so the payment can be...",
        "canonical": "https://corvusllm.com/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-if-i-overpay-or-underpay-the-quoted-amount/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What if I overpay or underpay the quoted amount?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
      "canonical_url": "https://corvusllm.com/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-if-a-model-lineup-changes-after-i-buy-access/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "What if a model lineup changes after I buy access? | CorvusLLM",
        "h1": "What if a model lineup changes after I buy access?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-if-a-model-lineup-changes-after-i-buy-access.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What if a model lineup changes after I buy access?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
        "owned_primary_query": "What if a model lineup changes after I buy access?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
          "owned_primary_query": "What if a model lineup changes after I buy access?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
          "owned_primary_query": "What if a model lineup changes after I buy access?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What if a model lineup changes after I buy access?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-if-a-model-lineup-changes-after-i-buy-access.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
          "canonical_url": "https://corvusllm.com/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
          "static_file_public_path": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-if-a-model-lineup-changes-after-i-buy-access/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "What if a model lineup changes after I buy access? | CorvusLLM",
        "meta_description": "Model ecosystems can change over time, so it is smart to check the current lineup before you purchase. If a change materially affects what you expected...",
        "canonical": "https://corvusllm.com/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-if-a-model-lineup-changes-after-i-buy-access/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What if a model lineup changes after I buy access?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-model-families-does-corvusllm-usually-expose/",
      "canonical_url": "https://corvusllm.com/faq/which-model-families-does-corvusllm-usually-expose/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-model-families-does-corvusllm-usually-expose/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-model-families-does-corvusllm-usually-expose/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Which model families does CorvusLLM usually expose? | CorvusLLM",
        "h1": "Which model families does CorvusLLM usually expose?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-model-families-does-corvusllm-usually-expose.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which model families does CorvusLLM usually expose?",
        "query_entry_count": 30,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 16
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-model-families-does-corvusllm-usually-expose/",
        "owned_primary_query": "Which model families does CorvusLLM usually expose?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-model-families-does-corvusllm-usually-expose/",
          "owned_primary_query": "Which model families does CorvusLLM usually expose?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-model-families-does-corvusllm-usually-expose/",
          "owned_primary_query": "Which model families does CorvusLLM usually expose?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which model families does CorvusLLM usually expose?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-model-families-does-corvusllm-usually-expose.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-model-families-does-corvusllm-usually-expose/",
          "canonical_url": "https://corvusllm.com/faq/which-model-families-does-corvusllm-usually-expose/",
          "static_file_public_path": "/faq/which-model-families-does-corvusllm-usually-expose/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-model-families-does-corvusllm-usually-expose/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Which model families does CorvusLLM usually expose? | CorvusLLM",
        "meta_description": "The public site is built around major families like GPT, Claude, GLM, and selected additional models where supported. The exact lineup can change over...",
        "canonical": "https://corvusllm.com/faq/which-model-families-does-corvusllm-usually-expose/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-model-families-does-corvusllm-usually-expose/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which model families does CorvusLLM usually expose?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
      "canonical_url": "https://corvusllm.com/faq/where-should-i-check-the-current-model-lineup-before-buying/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/where-should-i-check-the-current-model-lineup-before-buying/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/where-should-i-check-the-current-model-lineup-before-buying/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Check the current model lineup before buying? | CorvusLLM",
        "h1": "Where should I check the current model lineup before buying?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/where-should-i-check-the-current-model-lineup-before-buying.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Where should I check the current model lineup before buying?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
        "owned_primary_query": "Where should I check the current model lineup before buying?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
          "owned_primary_query": "Where should I check the current model lineup before buying?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
          "owned_primary_query": "Where should I check the current model lineup before buying?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Where should I check the current model lineup before buying?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/where-should-i-check-the-current-model-lineup-before-buying.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/where-should-i-check-the-current-model-lineup-before-buying/",
          "canonical_url": "https://corvusllm.com/faq/where-should-i-check-the-current-model-lineup-before-buying/",
          "static_file_public_path": "/faq/where-should-i-check-the-current-model-lineup-before-buying/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/where-should-i-check-the-current-model-lineup-before-buying/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Check the current model lineup before buying? | CorvusLLM",
        "meta_description": "Use the models directory and the pricing UI on the homepage, because those are the live public references for what is included right now. If a model...",
        "canonical": "https://corvusllm.com/faq/where-should-i-check-the-current-model-lineup-before-buying/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/where-should-i-check-the-current-model-lineup-before-buying/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Where should I check the current model lineup before buying?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-every-pack-include-every-model-on-the-site/",
      "canonical_url": "https://corvusllm.com/faq/does-every-pack-include-every-model-on-the-site/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-every-pack-include-every-model-on-the-site/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-every-pack-include-every-model-on-the-site/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Does every pack include every model on the site? | CorvusLLM",
        "h1": "Does every pack include every model on the site?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-every-pack-include-every-model-on-the-site.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does every pack include every model on the site?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-every-pack-include-every-model-on-the-site/",
        "owned_primary_query": "Does every pack include every model on the site?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-every-pack-include-every-model-on-the-site/",
          "owned_primary_query": "Does every pack include every model on the site?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-every-pack-include-every-model-on-the-site/",
          "owned_primary_query": "Does every pack include every model on the site?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does every pack include every model on the site?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-every-pack-include-every-model-on-the-site.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-every-pack-include-every-model-on-the-site/",
          "canonical_url": "https://corvusllm.com/faq/does-every-pack-include-every-model-on-the-site/",
          "static_file_public_path": "/faq/does-every-pack-include-every-model-on-the-site/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-every-pack-include-every-model-on-the-site/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Does every pack include every model on the site? | CorvusLLM",
        "meta_description": "No. Some packs are broad and some are intentionally narrow, so you need to check the included models for the specific product you are selecting rather...",
        "canonical": "https://corvusllm.com/faq/does-every-pack-include-every-model-on-the-site/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-every-pack-include-every-model-on-the-site/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does every pack include every model on the site?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
      "canonical_url": "https://corvusllm.com/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-model-lineups-fixed-forever-once-a-pack-exists/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Are model lineups fixed forever once a pack exists? | CorvusLLM",
        "h1": "Are model lineups fixed forever once a pack exists?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-model-lineups-fixed-forever-once-a-pack-exists.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are model lineups fixed forever once a pack exists?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
        "owned_primary_query": "Are model lineups fixed forever once a pack exists?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
          "owned_primary_query": "Are model lineups fixed forever once a pack exists?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
          "owned_primary_query": "Are model lineups fixed forever once a pack exists?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are model lineups fixed forever once a pack exists?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
          "canonical_url": "https://corvusllm.com/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
          "static_file_public_path": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-model-lineups-fixed-forever-once-a-pack-exists/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Are model lineups fixed forever once a pack exists? | CorvusLLM",
        "meta_description": "No, lineups can move when upstream models change, disappear, or are replaced. CorvusLLM can keep the page updated, but no public model catalog should...",
        "canonical": "https://corvusllm.com/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-model-lineups-fixed-forever-once-a-pack-exists/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are model lineups fixed forever once a pack exists?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
      "canonical_url": "https://corvusllm.com/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Tell whether a pack is single-model or multi-model? | CorvusLLM",
        "h1": "How do I tell whether a pack is single-model or multi-model?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How do I tell whether a pack is single-model or multi-model?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
        "owned_primary_query": "How do I tell whether a pack is single-model or multi-model?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
          "owned_primary_query": "How do I tell whether a pack is single-model or multi-model?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
          "owned_primary_query": "How do I tell whether a pack is single-model or multi-model?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How do I tell whether a pack is single-model or multi-model?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
          "canonical_url": "https://corvusllm.com/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
          "static_file_public_path": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Tell whether a pack is single-model or multi-model? | CorvusLLM",
        "meta_description": "Read the included-models table or the related modal before paying. If only one model is part of the package, the UI should make that explicit instead...",
        "canonical": "https://corvusllm.com/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-do-i-tell-whether-a-pack-is-single-model-or-multi-model/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How do I tell whether a pack is single-model or multi-model?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
      "canonical_url": "https://corvusllm.com/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-can-corvusllm-be-cheaper-than-official-pricing/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Why can CorvusLLM be cheaper than official pricing? | CorvusLLM",
        "h1": "Why can CorvusLLM be cheaper than official pricing?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-can-corvusllm-be-cheaper-than-official-pricing.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why can CorvusLLM be cheaper than official pricing?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
        "owned_primary_query": "Why can CorvusLLM be cheaper than official pricing?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
          "owned_primary_query": "Why can CorvusLLM be cheaper than official pricing?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
          "owned_primary_query": "Why can CorvusLLM be cheaper than official pricing?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why can CorvusLLM be cheaper than official pricing?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
          "canonical_url": "https://corvusllm.com/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
          "static_file_public_path": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-can-corvusllm-be-cheaper-than-official-pricing/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Why can CorvusLLM be cheaper than official pricing? | CorvusLLM",
        "meta_description": "Because CorvusLLM is not the same purchase path as going direct to the original provider. The public site positions itself as a cheaper access layer...",
        "canonical": "https://corvusllm.com/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-can-corvusllm-be-cheaper-than-official-pricing/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why can CorvusLLM be cheaper than official pricing?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
      "canonical_url": "https://corvusllm.com/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-the-lower-price-automatically-mean-lower-model-quality/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Lower Price vs Model Quality | CorvusLLM",
        "h1": "Does the lower price automatically mean lower model quality?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-the-lower-price-automatically-mean-lower-model-quality.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does the lower price automatically mean lower model quality?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
        "owned_primary_query": "Does the lower price automatically mean lower model quality?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
          "owned_primary_query": "Does the lower price automatically mean lower model quality?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
          "owned_primary_query": "Does the lower price automatically mean lower model quality?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does the lower price automatically mean lower model quality?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-the-lower-price-automatically-mean-lower-model-quality.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
          "canonical_url": "https://corvusllm.com/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
          "static_file_public_path": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-the-lower-price-automatically-mean-lower-model-quality/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Lower Price vs Model Quality | CorvusLLM",
        "meta_description": "Not by itself. If the same underlying model is being reached, the key difference is the access path and the operational layer around it, not some...",
        "canonical": "https://corvusllm.com/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-the-lower-price-automatically-mean-lower-model-quality/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does the lower price automatically mean lower model quality?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
      "canonical_url": "https://corvusllm.com/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Third-Party API Access Layer | CorvusLLM",
        "h1": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
        "owned_primary_query": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
          "owned_primary_query": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
          "owned_primary_query": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
          "canonical_url": "https://corvusllm.com/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
          "static_file_public_path": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Third-Party API Access Layer | CorvusLLM",
        "meta_description": "Yes, and it is better to say that plainly than to blur the boundary. That distinction matters for procurement, trust, support expectations, and any...",
        "canonical": "https://corvusllm.com/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-corvusllm-basically-a-third-party-access-layer-rather-than-an-official-provider-account/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is CorvusLLM basically a third-party access layer rather than an official provider account?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
      "canonical_url": "https://corvusllm.com/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/when-should-i-buy-directly-from-an-official-provider-instead/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Buy Directly From Official Providers | CorvusLLM",
        "h1": "When should I buy directly from an official provider instead?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/when-should-i-buy-directly-from-an-official-provider-instead.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "When should I buy directly from an official provider instead?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
        "owned_primary_query": "When should I buy directly from an official provider instead?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
          "owned_primary_query": "When should I buy directly from an official provider instead?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
          "owned_primary_query": "When should I buy directly from an official provider instead?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "When should I buy directly from an official provider instead?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/when-should-i-buy-directly-from-an-official-provider-instead.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
          "canonical_url": "https://corvusllm.com/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
          "static_file_public_path": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/when-should-i-buy-directly-from-an-official-provider-instead/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Buy Directly From Official Providers | CorvusLLM",
        "meta_description": "Go direct if you need official enterprise contracts, provider-native billing, specific compliance paperwork, or a procurement path that your...",
        "canonical": "https://corvusllm.com/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/when-should-i-buy-directly-from-an-official-provider-instead/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "When should I buy directly from an official provider instead?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
      "canonical_url": "https://corvusllm.com/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-are-the-real-trade-offs-compared-with-going-direct/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Trade-Offs vs Direct Provider Accounts | CorvusLLM",
        "h1": "What are the real trade-offs compared with going direct?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-are-the-real-trade-offs-compared-with-going-direct.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What are the real trade-offs compared with going direct?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
        "owned_primary_query": "What are the real trade-offs compared with going direct?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
          "owned_primary_query": "What are the real trade-offs compared with going direct?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
          "owned_primary_query": "What are the real trade-offs compared with going direct?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What are the real trade-offs compared with going direct?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-are-the-real-trade-offs-compared-with-going-direct.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
          "canonical_url": "https://corvusllm.com/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
          "static_file_public_path": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-are-the-real-trade-offs-compared-with-going-direct/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Trade-Offs vs Direct Provider Accounts | CorvusLLM",
        "meta_description": "The trade-offs are mainly around trust boundaries, support style, billing format, and how much direct provider control you want. That is why the...",
        "canonical": "https://corvusllm.com/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-are-the-real-trade-offs-compared-with-going-direct/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What are the real trade-offs compared with going direct?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-does-openai-compatible-api-actually-mean-here/",
      "canonical_url": "https://corvusllm.com/faq/what-does-openai-compatible-api-actually-mean-here/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-does-openai-compatible-api-actually-mean-here/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-does-openai-compatible-api-actually-mean-here/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "OpenAI-Compatible API Meaning | CorvusLLM",
        "h1": "What does 'OpenAI-compatible API' actually mean here?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-does-openai-compatible-api-actually-mean-here.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What does 'OpenAI-compatible API' actually mean here?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-does-openai-compatible-api-actually-mean-here/",
        "owned_primary_query": "What does 'OpenAI-compatible API' actually mean here?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-does-openai-compatible-api-actually-mean-here/",
          "owned_primary_query": "What does 'OpenAI-compatible API' actually mean here?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-does-openai-compatible-api-actually-mean-here/",
          "owned_primary_query": "What does 'OpenAI-compatible API' actually mean here?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What does 'OpenAI-compatible API' actually mean here?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-does-openai-compatible-api-actually-mean-here.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-does-openai-compatible-api-actually-mean-here/",
          "canonical_url": "https://corvusllm.com/faq/what-does-openai-compatible-api-actually-mean-here/",
          "static_file_public_path": "/faq/what-does-openai-compatible-api-actually-mean-here/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-does-openai-compatible-api-actually-mean-here/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "OpenAI-Compatible API Meaning | CorvusLLM",
        "meta_description": "It means many tools and SDKs built around OpenAI-style request shapes can often work by changing the base URL, key, and model name instead of forcing a...",
        "canonical": "https://corvusllm.com/faq/what-does-openai-compatible-api-actually-mean-here/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-does-openai-compatible-api-actually-mean-here/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What does 'OpenAI-compatible API' actually mean here?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
      "canonical_url": "https://corvusllm.com/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-base-url-should-i-use-in-my-client-or-sdk/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Which base URL should I use in my client or SDK? | CorvusLLM",
        "h1": "Which base URL should I use in my client or SDK?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-base-url-should-i-use-in-my-client-or-sdk.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which base URL should I use in my client or SDK?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
        "owned_primary_query": "Which base URL should I use in my client or SDK?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
          "owned_primary_query": "Which base URL should I use in my client or SDK?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
          "owned_primary_query": "Which base URL should I use in my client or SDK?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which base URL should I use in my client or SDK?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-base-url-should-i-use-in-my-client-or-sdk.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
          "canonical_url": "https://corvusllm.com/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
          "static_file_public_path": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-base-url-should-i-use-in-my-client-or-sdk/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Which base URL should I use in my client or SDK? | CorvusLLM",
        "meta_description": "Use the base URL that CorvusLLM delivers with your order or documents in the relevant setup guide. Do not guess the endpoint from screenshots, because...",
        "canonical": "https://corvusllm.com/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-base-url-should-i-use-in-my-client-or-sdk/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which base URL should I use in my client or SDK?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
      "canonical_url": "https://corvusllm.com/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Rewrite my prompts when moving a project over? | CorvusLLM",
        "h1": "Do I need to rewrite my prompts when moving a project over?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do I need to rewrite my prompts when moving a project over?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
        "owned_primary_query": "Do I need to rewrite my prompts when moving a project over?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
          "owned_primary_query": "Do I need to rewrite my prompts when moving a project over?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
          "owned_primary_query": "Do I need to rewrite my prompts when moving a project over?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do I need to rewrite my prompts when moving a project over?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
          "canonical_url": "https://corvusllm.com/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
          "static_file_public_path": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Rewrite my prompts when moving a project over? | CorvusLLM",
        "meta_description": "Usually no. Most migrations are configuration changes first, not prompt rewrites first, although you may still want to test model-specific behavior if...",
        "canonical": "https://corvusllm.com/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-i-need-to-rewrite-my-prompts-when-moving-a-project-over/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do I need to rewrite my prompts when moving a project over?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
      "canonical_url": "https://corvusllm.com/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Temperature and Max Tokens | CorvusLLM",
        "h1": "Are standard parameters like temperature and max tokens still relevant?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are standard parameters like temperature and max tokens still relevant?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
        "owned_primary_query": "Are standard parameters like temperature and max tokens still relevant?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
          "owned_primary_query": "Are standard parameters like temperature and max tokens still relevant?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
          "owned_primary_query": "Are standard parameters like temperature and max tokens still relevant?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are standard parameters like temperature and max tokens still relevant?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
          "canonical_url": "https://corvusllm.com/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
          "static_file_public_path": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Temperature and Max Tokens | CorvusLLM",
        "meta_description": "Yes, the public docs are built around normal configuration concepts such as model choice and standard request parameters. The exact supported behavior...",
        "canonical": "https://corvusllm.com/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-standard-parameters-like-temperature-and-max-tokens-still-relevant/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are standard parameters like temperature and max tokens still relevant?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
      "canonical_url": "https://corvusllm.com/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Store API Keys in Environment Variables | CorvusLLM",
        "h1": "Should I keep the API key in environment variables rather than hardcoding it?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Should I keep the API key in environment variables rather than hardcoding it?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
        "owned_primary_query": "Should I keep the API key in environment variables rather than hardcoding it?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
          "owned_primary_query": "Should I keep the API key in environment variables rather than hardcoding it?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
          "owned_primary_query": "Should I keep the API key in environment variables rather than hardcoding it?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Should I keep the API key in environment variables rather than hardcoding it?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
          "canonical_url": "https://corvusllm.com/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
          "static_file_public_path": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Store API Keys in Environment Variables | CorvusLLM",
        "meta_description": "Yes, environment variables are the safer default for local development and servers. They reduce the chance of committing secrets and make it easier to...",
        "canonical": "https://corvusllm.com/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/should-i-keep-the-api-key-in-environment-variables-rather-than-hardcoding-it/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Should I keep the API key in environment variables rather than hardcoding it?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-use-corvusllm-inside-cursor/",
      "canonical_url": "https://corvusllm.com/faq/can-i-use-corvusllm-inside-cursor/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-use-corvusllm-inside-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-use-corvusllm-inside-cursor/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can I use CorvusLLM inside Cursor? | CorvusLLM",
        "h1": "Can I use CorvusLLM inside Cursor?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-use-corvusllm-inside-cursor.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I use CorvusLLM inside Cursor?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-use-corvusllm-inside-cursor/",
        "owned_primary_query": "Can I use CorvusLLM inside Cursor?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-use-corvusllm-inside-cursor/",
          "owned_primary_query": "Can I use CorvusLLM inside Cursor?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-use-corvusllm-inside-cursor/",
          "owned_primary_query": "Can I use CorvusLLM inside Cursor?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I use CorvusLLM inside Cursor?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-use-corvusllm-inside-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-use-corvusllm-inside-cursor/",
          "canonical_url": "https://corvusllm.com/faq/can-i-use-corvusllm-inside-cursor/",
          "static_file_public_path": "/faq/can-i-use-corvusllm-inside-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-use-corvusllm-inside-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can I use CorvusLLM inside Cursor? | CorvusLLM",
        "meta_description": "Yes, if your Cursor setup supports a custom base URL and model configuration. The key idea is that you point Cursor at the delivered CorvusLLM endpoint...",
        "canonical": "https://corvusllm.com/faq/can-i-use-corvusllm-inside-cursor/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-use-corvusllm-inside-cursor/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I use CorvusLLM inside Cursor?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
      "canonical_url": "https://corvusllm.com/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-model-family-usually-makes-the-most-sense-in-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Model family usually makes the most sense in Cursor? | CorvusLLM",
        "h1": "Which model family usually makes the most sense in Cursor?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-model-family-usually-makes-the-most-sense-in-cursor.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which model family usually makes the most sense in Cursor?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
        "owned_primary_query": "Which model family usually makes the most sense in Cursor?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
          "owned_primary_query": "Which model family usually makes the most sense in Cursor?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
          "owned_primary_query": "Which model family usually makes the most sense in Cursor?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which model family usually makes the most sense in Cursor?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
          "canonical_url": "https://corvusllm.com/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
          "static_file_public_path": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-model-family-usually-makes-the-most-sense-in-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Model family usually makes the most sense in Cursor? | CorvusLLM",
        "meta_description": "That depends on whether you prioritize coding depth, cost, or response speed. Cursor users usually compare Claude and GPT-family options first, then...",
        "canonical": "https://corvusllm.com/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-model-family-usually-makes-the-most-sense-in-cursor/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which model family usually makes the most sense in Cursor?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
      "canonical_url": "https://corvusllm.com/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Model sometimes not show up correctly in Cursor? | CorvusLLM",
        "h1": "Why does a model sometimes not show up correctly in Cursor?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why does a model sometimes not show up correctly in Cursor?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
        "owned_primary_query": "Why does a model sometimes not show up correctly in Cursor?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
          "owned_primary_query": "Why does a model sometimes not show up correctly in Cursor?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
          "owned_primary_query": "Why does a model sometimes not show up correctly in Cursor?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why does a model sometimes not show up correctly in Cursor?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
          "canonical_url": "https://corvusllm.com/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
          "static_file_public_path": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Model sometimes not show up correctly in Cursor? | CorvusLLM",
        "meta_description": "The most common reasons are a wrong model ID, a wrong base URL, or a tool-side configuration mismatch. CorvusLLM can be compatible, but compatibility...",
        "canonical": "https://corvusllm.com/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-does-a-model-sometimes-not-show-up-correctly-in-cursor/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why does a model sometimes not show up correctly in Cursor?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
      "canonical_url": "https://corvusllm.com/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Same Key on Multiple Cursor Installs | CorvusLLM",
        "h1": "Can I use the same key on multiple Cursor installs that I personally control?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I use the same key on multiple Cursor installs that I personally control?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
        "owned_primary_query": "Can I use the same key on multiple Cursor installs that I personally control?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
          "owned_primary_query": "Can I use the same key on multiple Cursor installs that I personally control?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
          "owned_primary_query": "Can I use the same key on multiple Cursor installs that I personally control?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I use the same key on multiple Cursor installs that I personally control?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
          "canonical_url": "https://corvusllm.com/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
          "static_file_public_path": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Same Key on Multiple Cursor Installs | CorvusLLM",
        "meta_description": "Technically a single key can be configured in multiple trusted environments, but you should still manage access carefully. If you want cleaner...",
        "canonical": "https://corvusllm.com/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-use-the-same-key-on-multiple-cursor-installs-that-i-personally-control/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I use the same key on multiple Cursor installs that I personally control?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/where-is-the-full-cursor-setup-walkthrough/",
      "canonical_url": "https://corvusllm.com/faq/where-is-the-full-cursor-setup-walkthrough/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/where-is-the-full-cursor-setup-walkthrough/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/where-is-the-full-cursor-setup-walkthrough/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Where is the full Cursor setup walkthrough? | CorvusLLM",
        "h1": "Where is the full Cursor setup walkthrough?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/where-is-the-full-cursor-setup-walkthrough.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Where is the full Cursor setup walkthrough?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/where-is-the-full-cursor-setup-walkthrough/",
        "owned_primary_query": "Where is the full Cursor setup walkthrough?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/where-is-the-full-cursor-setup-walkthrough/",
          "owned_primary_query": "Where is the full Cursor setup walkthrough?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/where-is-the-full-cursor-setup-walkthrough/",
          "owned_primary_query": "Where is the full Cursor setup walkthrough?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Where is the full Cursor setup walkthrough?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/where-is-the-full-cursor-setup-walkthrough.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/where-is-the-full-cursor-setup-walkthrough/",
          "canonical_url": "https://corvusllm.com/faq/where-is-the-full-cursor-setup-walkthrough/",
          "static_file_public_path": "/faq/where-is-the-full-cursor-setup-walkthrough/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/where-is-the-full-cursor-setup-walkthrough/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Where is the full Cursor setup walkthrough? | CorvusLLM",
        "meta_description": "Use the dedicated Cursor setup guide and the compatibility matrix first, then fall back to the docs page if you need lower-level API examples. That...",
        "canonical": "https://corvusllm.com/faq/where-is-the-full-cursor-setup-walkthrough/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/where-is-the-full-cursor-setup-walkthrough/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Where is the full Cursor setup walkthrough?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
      "canonical_url": "https://corvusllm.com/faq/can-corvusllm-work-with-claude-code-style-workflows/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-corvusllm-work-with-claude-code-style-workflows/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-corvusllm-work-with-claude-code-style-workflows/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can CorvusLLM work with Claude Code style workflows? | CorvusLLM",
        "h1": "Can CorvusLLM work with Claude Code style workflows?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-corvusllm-work-with-claude-code-style-workflows.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can CorvusLLM work with Claude Code style workflows?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
        "owned_primary_query": "Can CorvusLLM work with Claude Code style workflows?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
          "owned_primary_query": "Can CorvusLLM work with Claude Code style workflows?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
          "owned_primary_query": "Can CorvusLLM work with Claude Code style workflows?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can CorvusLLM work with Claude Code style workflows?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-corvusllm-work-with-claude-code-style-workflows.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-corvusllm-work-with-claude-code-style-workflows/",
          "canonical_url": "https://corvusllm.com/faq/can-corvusllm-work-with-claude-code-style-workflows/",
          "static_file_public_path": "/faq/can-corvusllm-work-with-claude-code-style-workflows/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-corvusllm-work-with-claude-code-style-workflows/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can CorvusLLM work with Claude Code style workflows? | CorvusLLM",
        "meta_description": "Yes, that is one of the supported public setup paths. The main work is configuring the correct base URL, key, and model references rather than...",
        "canonical": "https://corvusllm.com/faq/can-corvusllm-work-with-claude-code-style-workflows/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-corvusllm-work-with-claude-code-style-workflows/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can CorvusLLM work with Claude Code style workflows?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
      "canonical_url": "https://corvusllm.com/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-do-i-normally-need-to-change-for-claude-code-setup/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Code Setup Changes | CorvusLLM",
        "h1": "What do I normally need to change for Claude Code setup?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-do-i-normally-need-to-change-for-claude-code-setup.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What do I normally need to change for Claude Code setup?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
        "owned_primary_query": "What do I normally need to change for Claude Code setup?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
          "owned_primary_query": "What do I normally need to change for Claude Code setup?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
          "owned_primary_query": "What do I normally need to change for Claude Code setup?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What do I normally need to change for Claude Code setup?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
          "canonical_url": "https://corvusllm.com/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
          "static_file_public_path": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-do-i-normally-need-to-change-for-claude-code-setup/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Code Setup Changes | CorvusLLM",
        "meta_description": "Usually the important changes are the access key, the endpoint or base URL, and the selected model. If those three are right, the rest of the...",
        "canonical": "https://corvusllm.com/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-do-i-normally-need-to-change-for-claude-code-setup/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What do I normally need to change for Claude Code setup?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
      "canonical_url": "https://corvusllm.com/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude-Focused vs Multi-Model Packs | CorvusLLM",
        "h1": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
        "owned_primary_query": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
          "owned_primary_query": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
          "owned_primary_query": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
          "canonical_url": "https://corvusllm.com/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
          "static_file_public_path": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude-Focused vs Multi-Model Packs | CorvusLLM",
        "meta_description": "Often yes if most of your workload is already centered on Claude-style coding sessions. If you are still exploring between Claude, GPT, and GLM...",
        "canonical": "https://corvusllm.com/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-a-claude-focused-pack-a-better-fit-than-a-generic-multi-model-pack-for-claude-code/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is a Claude-focused pack a better fit than a generic multi-model pack for Claude Code?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
      "canonical_url": "https://corvusllm.com/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Claude Code Full-Access Modes | CorvusLLM",
        "h1": "Should I run Claude Code or similar tools in full-access or danger modes?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Should I run Claude Code or similar tools in full-access or danger modes?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
        "owned_primary_query": "Should I run Claude Code or similar tools in full-access or danger modes?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
          "owned_primary_query": "Should I run Claude Code or similar tools in full-access or danger modes?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
          "owned_primary_query": "Should I run Claude Code or similar tools in full-access or danger modes?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Should I run Claude Code or similar tools in full-access or danger modes?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
          "canonical_url": "https://corvusllm.com/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
          "static_file_public_path": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Claude Code Full-Access Modes | CorvusLLM",
        "meta_description": "Only if you understand the local machine risk and the exact permissions you are granting. CorvusLLM can document how to connect the model, but it...",
        "canonical": "https://corvusllm.com/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/should-i-run-claude-code-or-similar-tools-in-full-access-or-danger-modes/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Should I run Claude Code or similar tools in full-access or danger modes?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
      "canonical_url": "https://corvusllm.com/faq/where-is-the-step-by-step-claude-code-walkthrough/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/where-is-the-step-by-step-claude-code-walkthrough/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/where-is-the-step-by-step-claude-code-walkthrough/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Where is the step-by-step Claude Code walkthrough? | CorvusLLM",
        "h1": "Where is the step-by-step Claude Code walkthrough?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/where-is-the-step-by-step-claude-code-walkthrough.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Where is the step-by-step Claude Code walkthrough?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
        "owned_primary_query": "Where is the step-by-step Claude Code walkthrough?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
          "owned_primary_query": "Where is the step-by-step Claude Code walkthrough?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
          "owned_primary_query": "Where is the step-by-step Claude Code walkthrough?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Where is the step-by-step Claude Code walkthrough?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/where-is-the-step-by-step-claude-code-walkthrough.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/where-is-the-step-by-step-claude-code-walkthrough/",
          "canonical_url": "https://corvusllm.com/faq/where-is-the-step-by-step-claude-code-walkthrough/",
          "static_file_public_path": "/faq/where-is-the-step-by-step-claude-code-walkthrough/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/where-is-the-step-by-step-claude-code-walkthrough/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Where is the step-by-step Claude Code walkthrough? | CorvusLLM",
        "meta_description": "Use the dedicated Claude Code setup page first. It is a better home for terminal-specific setup details than burying everything in one generic FAQ answer.",
        "canonical": "https://corvusllm.com/faq/where-is-the-step-by-step-claude-code-walkthrough/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/where-is-the-step-by-step-claude-code-walkthrough/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Where is the step-by-step Claude Code walkthrough?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-connect-corvusllm-to-open-webui/",
      "canonical_url": "https://corvusllm.com/faq/can-i-connect-corvusllm-to-open-webui/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-connect-corvusllm-to-open-webui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-connect-corvusllm-to-open-webui/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can I connect CorvusLLM to Open WebUI? | CorvusLLM",
        "h1": "Can I connect CorvusLLM to Open WebUI?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-connect-corvusllm-to-open-webui.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I connect CorvusLLM to Open WebUI?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-connect-corvusllm-to-open-webui/",
        "owned_primary_query": "Can I connect CorvusLLM to Open WebUI?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-connect-corvusllm-to-open-webui/",
          "owned_primary_query": "Can I connect CorvusLLM to Open WebUI?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-connect-corvusllm-to-open-webui/",
          "owned_primary_query": "Can I connect CorvusLLM to Open WebUI?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I connect CorvusLLM to Open WebUI?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-connect-corvusllm-to-open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-connect-corvusllm-to-open-webui/",
          "canonical_url": "https://corvusllm.com/faq/can-i-connect-corvusllm-to-open-webui/",
          "static_file_public_path": "/faq/can-i-connect-corvusllm-to-open-webui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-connect-corvusllm-to-open-webui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can I connect CorvusLLM to Open WebUI? | CorvusLLM",
        "meta_description": "Yes, that is one of the supported public compatibility paths. Open WebUI users mainly need the correct base URL, key, and model IDs rather than a...",
        "canonical": "https://corvusllm.com/faq/can-i-connect-corvusllm-to-open-webui/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-connect-corvusllm-to-open-webui/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I connect CorvusLLM to Open WebUI?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
      "canonical_url": "https://corvusllm.com/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Multiple Model Families in Open WebUI | CorvusLLM",
        "h1": "Can I expose multiple model families inside the same Open WebUI install?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I expose multiple model families inside the same Open WebUI install?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
        "owned_primary_query": "Can I expose multiple model families inside the same Open WebUI install?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
          "owned_primary_query": "Can I expose multiple model families inside the same Open WebUI install?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
          "owned_primary_query": "Can I expose multiple model families inside the same Open WebUI install?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I expose multiple model families inside the same Open WebUI install?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
          "canonical_url": "https://corvusllm.com/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
          "static_file_public_path": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Multiple Model Families in Open WebUI | CorvusLLM",
        "meta_description": "Yes, if your purchased access and configuration support those models. The cleanest approach is to verify each model ID one by one instead of assuming...",
        "canonical": "https://corvusllm.com/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-expose-multiple-model-families-inside-the-same-open-webui-install/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I expose multiple model families inside the same Open WebUI install?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
      "canonical_url": "https://corvusllm.com/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Suitable for internal chat workspaces in Open WebUI? | CorvusLLM",
        "h1": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
        "owned_primary_query": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
          "owned_primary_query": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
          "owned_primary_query": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
          "canonical_url": "https://corvusllm.com/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
          "static_file_public_path": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Suitable for internal chat workspaces in Open WebUI? | CorvusLLM",
        "meta_description": "It can be, but you still need to manage your own internal access controls, prompt policies, and data-handling rules. CorvusLLM helps with model access...",
        "canonical": "https://corvusllm.com/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-corvusllm-suitable-for-internal-chat-workspaces-in-open-webui/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is CorvusLLM suitable for internal chat workspaces in Open WebUI?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
      "canonical_url": "https://corvusllm.com/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Open WebUI Request Failures | CorvusLLM",
        "h1": "Why do some requests fail in Open WebUI even though the key is valid?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why do some requests fail in Open WebUI even though the key is valid?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
        "owned_primary_query": "Why do some requests fail in Open WebUI even though the key is valid?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
          "owned_primary_query": "Why do some requests fail in Open WebUI even though the key is valid?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
          "owned_primary_query": "Why do some requests fail in Open WebUI even though the key is valid?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why do some requests fail in Open WebUI even though the key is valid?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
          "canonical_url": "https://corvusllm.com/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
          "static_file_public_path": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Open WebUI Request Failures | CorvusLLM",
        "meta_description": "The usual causes are wrong model names, wrong base URL, or a mismatch between requested features and the selected model. When debugging, reduce...",
        "canonical": "https://corvusllm.com/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-do-some-requests-fail-in-open-webui-even-though-the-key-is-valid/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why do some requests fail in Open WebUI even though the key is valid?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
      "canonical_url": "https://corvusllm.com/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Pack makes the most sense for Open WebUI setups? | CorvusLLM",
        "h1": "Which type of pack makes the most sense for Open WebUI setups?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which type of pack makes the most sense for Open WebUI setups?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
        "owned_primary_query": "Which type of pack makes the most sense for Open WebUI setups?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
          "owned_primary_query": "Which type of pack makes the most sense for Open WebUI setups?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
          "owned_primary_query": "Which type of pack makes the most sense for Open WebUI setups?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which type of pack makes the most sense for Open WebUI setups?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
          "canonical_url": "https://corvusllm.com/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
          "static_file_public_path": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Pack makes the most sense for Open WebUI setups? | CorvusLLM",
        "meta_description": "That depends on whether you want a single family for one consistent experience or a broader pack for side-by-side comparison. Multi-model access makes...",
        "canonical": "https://corvusllm.com/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-type-of-pack-makes-the-most-sense-for-open-webui-setups/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which type of pack makes the most sense for Open WebUI setups?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
      "canonical_url": "https://corvusllm.com/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "LangChain and Orchestration Support | CorvusLLM",
        "h1": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
        "owned_primary_query": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
          "owned_primary_query": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
          "owned_primary_query": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
          "canonical_url": "https://corvusllm.com/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
          "static_file_public_path": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "LangChain and Orchestration Support | CorvusLLM",
        "meta_description": "Yes, if the library can talk to an OpenAI-compatible endpoint or lets you override the client configuration. In practice, most integration work is...",
        "canonical": "https://corvusllm.com/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-corvusllm-work-with-langchain-and-similar-orchestration-libraries/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does CorvusLLM work with LangChain and similar orchestration libraries?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
      "canonical_url": "https://corvusllm.com/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-keep-using-the-official-openai-sdk-in-my-app/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can I keep using the official OpenAI SDK in my app? | CorvusLLM",
        "h1": "Can I keep using the official OpenAI SDK in my app?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I keep using the official OpenAI SDK in my app?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
        "owned_primary_query": "Can I keep using the official OpenAI SDK in my app?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
          "owned_primary_query": "Can I keep using the official OpenAI SDK in my app?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
          "owned_primary_query": "Can I keep using the official OpenAI SDK in my app?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I keep using the official OpenAI SDK in my app?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
          "canonical_url": "https://corvusllm.com/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
          "static_file_public_path": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can I keep using the official OpenAI SDK in my app? | CorvusLLM",
        "meta_description": "Often yes, if your setup supports a base URL override and the relevant request shapes. That is the main reason the OpenAI-compatible positioning is...",
        "canonical": "https://corvusllm.com/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-keep-using-the-official-openai-sdk-in-my-app/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I keep using the official OpenAI SDK in my app?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
      "canonical_url": "https://corvusllm.com/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Production API Key Storage | CorvusLLM",
        "h1": "Should I put the key in server environment variables for production apps?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Should I put the key in server environment variables for production apps?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
        "owned_primary_query": "Should I put the key in server environment variables for production apps?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
          "owned_primary_query": "Should I put the key in server environment variables for production apps?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
          "owned_primary_query": "Should I put the key in server environment variables for production apps?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Should I put the key in server environment variables for production apps?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
          "canonical_url": "https://corvusllm.com/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
          "static_file_public_path": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Production API Key Storage | CorvusLLM",
        "meta_description": "Yes, that is the normal secure default. Avoid hardcoding keys in frontend bundles, public repos, or client-side browser storage.",
        "canonical": "https://corvusllm.com/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/should-i-put-the-key-in-server-environment-variables-for-production-apps/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Should I put the key in server environment variables for production apps?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
      "canonical_url": "https://corvusllm.com/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Use CorvusLLM in n8n, cron jobs, or backend scripts? | CorvusLLM",
        "h1": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
        "owned_primary_query": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
          "owned_primary_query": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
          "owned_primary_query": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
          "canonical_url": "https://corvusllm.com/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
          "static_file_public_path": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Use CorvusLLM in n8n, cron jobs, or backend scripts? | CorvusLLM",
        "meta_description": "Yes, as long as the tool can call a compatible API endpoint and you manage the key securely. CorvusLLM is often most useful when it slips into an...",
        "canonical": "https://corvusllm.com/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-use-corvusllm-in-n8n-cron-jobs-or-backend-scripts/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I use CorvusLLM in n8n, cron jobs, or backend scripts?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-should-i-separate-development-and-production-usage/",
      "canonical_url": "https://corvusllm.com/faq/how-should-i-separate-development-and-production-usage/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-should-i-separate-development-and-production-usage/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-should-i-separate-development-and-production-usage/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Separate development and production usage? | CorvusLLM",
        "h1": "How should I separate development and production usage?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-should-i-separate-development-and-production-usage.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How should I separate development and production usage?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-should-i-separate-development-and-production-usage/",
        "owned_primary_query": "How should I separate development and production usage?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-should-i-separate-development-and-production-usage/",
          "owned_primary_query": "How should I separate development and production usage?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-should-i-separate-development-and-production-usage/",
          "owned_primary_query": "How should I separate development and production usage?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How should I separate development and production usage?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-should-i-separate-development-and-production-usage.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-should-i-separate-development-and-production-usage/",
          "canonical_url": "https://corvusllm.com/faq/how-should-i-separate-development-and-production-usage/",
          "static_file_public_path": "/faq/how-should-i-separate-development-and-production-usage/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-should-i-separate-development-and-production-usage/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Separate development and production usage? | CorvusLLM",
        "meta_description": "Use different keys or separate orders when possible, especially for business projects. Clean environment separation makes troubleshooting, revocation...",
        "canonical": "https://corvusllm.com/faq/how-should-i-separate-development-and-production-usage/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-should-i-separate-development-and-production-usage/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How should I separate development and production usage?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
      "canonical_url": "https://corvusllm.com/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-personal-data-do-you-actually-need-to-process-a-public-order/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Personal Data Needed for Orders | CorvusLLM",
        "h1": "What personal data do you actually need to process a public order?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What personal data do you actually need to process a public order?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
        "owned_primary_query": "What personal data do you actually need to process a public order?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
          "owned_primary_query": "What personal data do you actually need to process a public order?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
          "owned_primary_query": "What personal data do you actually need to process a public order?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What personal data do you actually need to process a public order?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
          "canonical_url": "https://corvusllm.com/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
          "static_file_public_path": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Personal Data Needed for Orders | CorvusLLM",
        "meta_description": "The public checkout mainly needs the delivery email address plus order and payment metadata required to match the transfer and send the access details...",
        "canonical": "https://corvusllm.com/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-personal-data-do-you-actually-need-to-process-a-public-order/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What personal data do you actually need to process a public order?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-you-store-any-credit-card-information/",
      "canonical_url": "https://corvusllm.com/faq/do-you-store-any-credit-card-information/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-you-store-any-credit-card-information/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-you-store-any-credit-card-information/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Do you store any credit card information? | CorvusLLM",
        "h1": "Do you store any credit card information?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-you-store-any-credit-card-information.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do you store any credit card information?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-you-store-any-credit-card-information/",
        "owned_primary_query": "Do you store any credit card information?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-you-store-any-credit-card-information/",
          "owned_primary_query": "Do you store any credit card information?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-you-store-any-credit-card-information/",
          "owned_primary_query": "Do you store any credit card information?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do you store any credit card information?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-you-store-any-credit-card-information.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-you-store-any-credit-card-information/",
          "canonical_url": "https://corvusllm.com/faq/do-you-store-any-credit-card-information/",
          "static_file_public_path": "/faq/do-you-store-any-credit-card-information/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-you-store-any-credit-card-information/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Do you store any credit card information? | CorvusLLM",
        "meta_description": "CorvusLLM does not store card numbers. When card, wallet, PayPal, Klarna, bank transfer, or similar hosted checkout methods are available, the payment...",
        "canonical": "https://corvusllm.com/faq/do-you-store-any-credit-card-information/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-you-store-any-credit-card-information/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do you store any credit card information?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
      "canonical_url": "https://corvusllm.com/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Browser Storage for Keys and Checkout | CorvusLLM",
        "h1": "Does the browser keep my key or full checkout data in local storage?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does the browser keep my key or full checkout data in local storage?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
        "owned_primary_query": "Does the browser keep my key or full checkout data in local storage?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
          "owned_primary_query": "Does the browser keep my key or full checkout data in local storage?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
          "owned_primary_query": "Does the browser keep my key or full checkout data in local storage?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does the browser keep my key or full checkout data in local storage?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
          "canonical_url": "https://corvusllm.com/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
          "static_file_public_path": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Browser Storage for Keys and Checkout | CorvusLLM",
        "meta_description": "The public checkout is intentionally careful about client-side storage. It avoids storing API keys in the browser and keeps checkout recovery state...",
        "canonical": "https://corvusllm.com/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-the-browser-keep-my-key-or-full-checkout-data-in-local-storage/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does the browser keep my key or full checkout data in local storage?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
      "canonical_url": "https://corvusllm.com/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Sensitive Prompts and Company Secrets | CorvusLLM",
        "h1": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
        "owned_primary_query": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
          "owned_primary_query": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
          "owned_primary_query": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
          "canonical_url": "https://corvusllm.com/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
          "static_file_public_path": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Sensitive Prompts and Company Secrets | CorvusLLM",
        "meta_description": "Only if that fits your own internal risk standards. Teams handling sensitive information should treat CorvusLLM like any other third-party technical...",
        "canonical": "https://corvusllm.com/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/should-i-send-highly-sensitive-prompts-or-company-secrets-through-corvusllm/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Should I send highly sensitive prompts or company secrets through CorvusLLM?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
      "canonical_url": "https://corvusllm.com/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Where to Read the Privacy Policy | CorvusLLM",
        "h1": "Where can I read the actual privacy policy instead of just marketing copy?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Where can I read the actual privacy policy instead of just marketing copy?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
        "owned_primary_query": "Where can I read the actual privacy policy instead of just marketing copy?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
          "owned_primary_query": "Where can I read the actual privacy policy instead of just marketing copy?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
          "owned_primary_query": "Where can I read the actual privacy policy instead of just marketing copy?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Where can I read the actual privacy policy instead of just marketing copy?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
          "canonical_url": "https://corvusllm.com/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
          "static_file_public_path": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Where to Read the Privacy Policy | CorvusLLM",
        "meta_description": "Use the Datenschutz page. That page is the right place for data-processing detail, while the FAQ is only meant to summarize the practical buyer questions.",
        "canonical": "https://corvusllm.com/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/where-can-i-read-the-actual-privacy-policy-instead-of-just-marketing-copy/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Where can I read the actual privacy policy instead of just marketing copy?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
      "canonical_url": "https://corvusllm.com/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Regulated Workload Suitability | CorvusLLM",
        "h1": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
        "owned_primary_query": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
          "owned_primary_query": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
          "owned_primary_query": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
          "canonical_url": "https://corvusllm.com/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
          "static_file_public_path": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Regulated Workload Suitability | CorvusLLM",
        "meta_description": "No product should be treated that way by default. If you have strict compliance, vendor review, or regulated-data requirements, you need to evaluate...",
        "canonical": "https://corvusllm.com/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-corvusllm-automatically-suitable-for-regulated-or-compliance-heavy-workloads/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is CorvusLLM automatically suitable for regulated or compliance-heavy workloads?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-the-browser-confirm-payments-on-its-own/",
      "canonical_url": "https://corvusllm.com/faq/does-the-browser-confirm-payments-on-its-own/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-the-browser-confirm-payments-on-its-own/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-the-browser-confirm-payments-on-its-own/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Does the browser confirm payments on its own? | CorvusLLM",
        "h1": "Does the browser confirm payments on its own?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-the-browser-confirm-payments-on-its-own.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does the browser confirm payments on its own?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-the-browser-confirm-payments-on-its-own/",
        "owned_primary_query": "Does the browser confirm payments on its own?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-the-browser-confirm-payments-on-its-own/",
          "owned_primary_query": "Does the browser confirm payments on its own?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-the-browser-confirm-payments-on-its-own/",
          "owned_primary_query": "Does the browser confirm payments on its own?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does the browser confirm payments on its own?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-the-browser-confirm-payments-on-its-own.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-the-browser-confirm-payments-on-its-own/",
          "canonical_url": "https://corvusllm.com/faq/does-the-browser-confirm-payments-on-its-own/",
          "static_file_public_path": "/faq/does-the-browser-confirm-payments-on-its-own/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-the-browser-confirm-payments-on-its-own/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Does the browser confirm payments on its own? | CorvusLLM",
        "meta_description": "No, the browser should not be treated as the source of truth for payment confirmation. The payment state needs server-side or backend-backed...",
        "canonical": "https://corvusllm.com/faq/does-the-browser-confirm-payments-on-its-own/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-the-browser-confirm-payments-on-its-own/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does the browser confirm payments on its own?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/does-the-public-site-promise-an-enterprise-sla/",
      "canonical_url": "https://corvusllm.com/faq/does-the-public-site-promise-an-enterprise-sla/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/does-the-public-site-promise-an-enterprise-sla/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/does-the-public-site-promise-an-enterprise-sla/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Does the public site promise an enterprise SLA? | CorvusLLM",
        "h1": "Does the public site promise an enterprise SLA?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/does-the-public-site-promise-an-enterprise-sla.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Does the public site promise an enterprise SLA?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/does-the-public-site-promise-an-enterprise-sla/",
        "owned_primary_query": "Does the public site promise an enterprise SLA?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/does-the-public-site-promise-an-enterprise-sla/",
          "owned_primary_query": "Does the public site promise an enterprise SLA?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/does-the-public-site-promise-an-enterprise-sla/",
          "owned_primary_query": "Does the public site promise an enterprise SLA?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Does the public site promise an enterprise SLA?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/does-the-public-site-promise-an-enterprise-sla.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/does-the-public-site-promise-an-enterprise-sla/",
          "canonical_url": "https://corvusllm.com/faq/does-the-public-site-promise-an-enterprise-sla/",
          "static_file_public_path": "/faq/does-the-public-site-promise-an-enterprise-sla/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/does-the-public-site-promise-an-enterprise-sla/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Does the public site promise an enterprise SLA? | CorvusLLM",
        "meta_description": "No public enterprise SLA is promised on the marketing site. If your buying decision depends on formal uptime commitments, you should treat that as a...",
        "canonical": "https://corvusllm.com/faq/does-the-public-site-promise-an-enterprise-sla/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/does-the-public-site-promise-an-enterprise-sla/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Does the public site promise an enterprise SLA?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
      "canonical_url": "https://corvusllm.com/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "High-Stakes Output Review | CorvusLLM",
        "h1": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
        "owned_primary_query": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
          "owned_primary_query": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
          "owned_primary_query": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
          "canonical_url": "https://corvusllm.com/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
          "static_file_public_path": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "High-Stakes Output Review | CorvusLLM",
        "meta_description": "No. Model output should still be reviewed by a qualified human where stakes are high, whether the access path is CorvusLLM or a direct provider.",
        "canonical": "https://corvusllm.com/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-rely-on-corvusllm-outputs-for-legal-medical-or-other-high-stakes-decisions-without-review/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I rely on CorvusLLM outputs for legal, medical, or other high-stakes decisions without review?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
      "canonical_url": "https://corvusllm.com/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Service Usage Boundaries | CorvusLLM",
        "h1": "Are there clear usage boundaries on what I should not do with the service?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are there clear usage boundaries on what I should not do with the service?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
        "owned_primary_query": "Are there clear usage boundaries on what I should not do with the service?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
          "owned_primary_query": "Are there clear usage boundaries on what I should not do with the service?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
          "owned_primary_query": "Are there clear usage boundaries on what I should not do with the service?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are there clear usage boundaries on what I should not do with the service?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
          "canonical_url": "https://corvusllm.com/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
          "static_file_public_path": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Service Usage Boundaries | CorvusLLM",
        "meta_description": "Yes. Use should stay lawful, policy-compliant, and operationally reasonable, and buyers should not expect the public site to bless abusive or risky use...",
        "canonical": "https://corvusllm.com/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-there-clear-usage-boundaries-on-what-i-should-not-do-with-the-service/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are there clear usage boundaries on what I should not do with the service?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
      "canonical_url": "https://corvusllm.com/faq/is-there-a-status-page-i-can-check-before-opening-support/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-there-a-status-page-i-can-check-before-opening-support/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-there-a-status-page-i-can-check-before-opening-support/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "A status page I can check before opening support? | CorvusLLM",
        "h1": "Is there a status page I can check before opening support?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-there-a-status-page-i-can-check-before-opening-support.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is there a status page I can check before opening support?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
        "owned_primary_query": "Is there a status page I can check before opening support?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
          "owned_primary_query": "Is there a status page I can check before opening support?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
          "owned_primary_query": "Is there a status page I can check before opening support?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is there a status page I can check before opening support?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-there-a-status-page-i-can-check-before-opening-support.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-there-a-status-page-i-can-check-before-opening-support/",
          "canonical_url": "https://corvusllm.com/faq/is-there-a-status-page-i-can-check-before-opening-support/",
          "static_file_public_path": "/faq/is-there-a-status-page-i-can-check-before-opening-support/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-there-a-status-page-i-can-check-before-opening-support/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "A status page I can check before opening support? | CorvusLLM",
        "meta_description": "Yes. The status page is the fastest place to look when you want to know whether a broader issue is already known publicly.",
        "canonical": "https://corvusllm.com/faq/is-there-a-status-page-i-can-check-before-opening-support/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-there-a-status-page-i-can-check-before-opening-support/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is there a status page I can check before opening support?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
      "canonical_url": "https://corvusllm.com/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "An upstream model or provider has an outage? | CorvusLLM",
        "h1": "What happens if an upstream model or provider has an outage?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What happens if an upstream model or provider has an outage?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
        "owned_primary_query": "What happens if an upstream model or provider has an outage?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
          "owned_primary_query": "What happens if an upstream model or provider has an outage?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
          "owned_primary_query": "What happens if an upstream model or provider has an outage?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What happens if an upstream model or provider has an outage?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
          "canonical_url": "https://corvusllm.com/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
          "static_file_public_path": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "An upstream model or provider has an outage? | CorvusLLM",
        "meta_description": "CorvusLLM cannot make an upstream outage disappear, but it can surface the situation and support alternative paths where available. That is one reason...",
        "canonical": "https://corvusllm.com/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-happens-if-an-upstream-model-or-provider-has-an-outage/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What happens if an upstream model or provider has an outage?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-there-rate-limits-or-fairness-protections/",
      "canonical_url": "https://corvusllm.com/faq/are-there-rate-limits-or-fairness-protections/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-there-rate-limits-or-fairness-protections/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-there-rate-limits-or-fairness-protections/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Are there rate limits or fairness protections? | CorvusLLM",
        "h1": "Are there rate limits or fairness protections?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-there-rate-limits-or-fairness-protections.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are there rate limits or fairness protections?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-there-rate-limits-or-fairness-protections/",
        "owned_primary_query": "Are there rate limits or fairness protections?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-there-rate-limits-or-fairness-protections/",
          "owned_primary_query": "Are there rate limits or fairness protections?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-there-rate-limits-or-fairness-protections/",
          "owned_primary_query": "Are there rate limits or fairness protections?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are there rate limits or fairness protections?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-there-rate-limits-or-fairness-protections.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-there-rate-limits-or-fairness-protections/",
          "canonical_url": "https://corvusllm.com/faq/are-there-rate-limits-or-fairness-protections/",
          "static_file_public_path": "/faq/are-there-rate-limits-or-fairness-protections/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-there-rate-limits-or-fairness-protections/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Are there rate limits or fairness protections? | CorvusLLM",
        "meta_description": "Yes, infrastructure protections and fair-use boundaries can exist even when a plan feels generous. If your workflow is unusually heavy, design with...",
        "canonical": "https://corvusllm.com/faq/are-there-rate-limits-or-fairness-protections/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-there-rate-limits-or-fairness-protections/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are there rate limits or fairness protections?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
      "canonical_url": "https://corvusllm.com/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Payment Waiting Status After Transfer | CorvusLLM",
        "h1": "Why can payment status stay on waiting for a while even after I sent funds?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why can payment status stay on waiting for a while even after I sent funds?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
        "owned_primary_query": "Why can payment status stay on waiting for a while even after I sent funds?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
          "owned_primary_query": "Why can payment status stay on waiting for a while even after I sent funds?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
          "owned_primary_query": "Why can payment status stay on waiting for a while even after I sent funds?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why can payment status stay on waiting for a while even after I sent funds?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
          "canonical_url": "https://corvusllm.com/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
          "static_file_public_path": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Payment Waiting Status After Transfer | CorvusLLM",
        "meta_description": "Because crypto settlement and monitoring are not the same thing as a card authorization popup. Chain confirmations, webhook timing, and backend...",
        "canonical": "https://corvusllm.com/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-can-payment-status-stay-on-waiting-for-a-while-even-after-i-sent-funds/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why can payment status stay on waiting for a while even after I sent funds?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
      "canonical_url": "https://corvusllm.com/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Stuck Order After Confirmed Transfer | CorvusLLM",
        "h1": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
        "owned_primary_query": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
          "owned_primary_query": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
          "owned_primary_query": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
          "canonical_url": "https://corvusllm.com/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
          "static_file_public_path": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Stuck Order After Confirmed Transfer | CorvusLLM",
        "meta_description": "Keep the order number and transaction proof, then use the built-in status check and contact support if the state does not move after a reasonable...",
        "canonical": "https://corvusllm.com/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-should-i-do-if-an-order-still-looks-stuck-after-the-transfer-is-confirmed-on-chain/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What should I do if an order still looks stuck after the transfer is confirmed on-chain?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
      "canonical_url": "https://corvusllm.com/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Vet CorvusLLM before placing a larger order? | CorvusLLM",
        "h1": "How can I vet CorvusLLM before placing a larger order?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How can I vet CorvusLLM before placing a larger order?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
        "owned_primary_query": "How can I vet CorvusLLM before placing a larger order?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
          "owned_primary_query": "How can I vet CorvusLLM before placing a larger order?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
          "owned_primary_query": "How can I vet CorvusLLM before placing a larger order?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How can I vet CorvusLLM before placing a larger order?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
          "canonical_url": "https://corvusllm.com/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
          "static_file_public_path": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Vet CorvusLLM before placing a larger order? | CorvusLLM",
        "meta_description": "Use the verification, trust, proof, compatibility, and status pages together rather than trusting any single page in isolation. The safest pattern is...",
        "canonical": "https://corvusllm.com/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-can-i-vet-corvusllm-before-placing-a-larger-order/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How can I vet CorvusLLM before placing a larger order?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-payment-methods-are-currently-available/",
      "canonical_url": "https://corvusllm.com/faq/which-payment-methods-are-currently-available/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-payment-methods-are-currently-available/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-payment-methods-are-currently-available/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Which payment methods are currently available? | CorvusLLM",
        "h1": "Which payment methods are currently available?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-payment-methods-are-currently-available.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which payment methods are currently available?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-payment-methods-are-currently-available/",
        "owned_primary_query": "Which payment methods are currently available?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-payment-methods-are-currently-available/",
          "owned_primary_query": "Which payment methods are currently available?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-payment-methods-are-currently-available/",
          "owned_primary_query": "Which payment methods are currently available?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which payment methods are currently available?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-payment-methods-are-currently-available.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-payment-methods-are-currently-available/",
          "canonical_url": "https://corvusllm.com/faq/which-payment-methods-are-currently-available/",
          "static_file_public_path": "/faq/which-payment-methods-are-currently-available/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-payment-methods-are-currently-available/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Which payment methods are currently available? | CorvusLLM",
        "meta_description": "The checkout shows the currently enabled payment methods before you create an order. Cryptocurrency is currently accepted, and any card or wallet...",
        "canonical": "https://corvusllm.com/faq/which-payment-methods-are-currently-available/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-payment-methods-are-currently-available/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which payment methods are currently available?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
      "canonical_url": "https://corvusllm.com/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Fake Reviews and Rating Claims | CorvusLLM",
        "h1": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
        "owned_primary_query": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
          "owned_primary_query": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
          "owned_primary_query": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
          "canonical_url": "https://corvusllm.com/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
          "static_file_public_path": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Fake Reviews and Rating Claims | CorvusLLM",
        "meta_description": "No. The customer stories page is intentionally designed to stay sparse until real moderated feedback exists, and aggregate rating claims stay hidden...",
        "canonical": "https://corvusllm.com/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-you-publish-fake-reviews-or-fake-rating-averages-to-look-bigger-than-you-are/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do you publish fake reviews or fake rating averages to look bigger than you are?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
      "canonical_url": "https://corvusllm.com/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Proof beyond testimonials and nice-looking UI? | CorvusLLM",
        "h1": "Is there proof beyond testimonials and nice-looking UI?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is there proof beyond testimonials and nice-looking UI?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
        "owned_primary_query": "Is there proof beyond testimonials and nice-looking UI?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
          "owned_primary_query": "Is there proof beyond testimonials and nice-looking UI?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
          "owned_primary_query": "Is there proof beyond testimonials and nice-looking UI?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is there proof beyond testimonials and nice-looking UI?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
          "canonical_url": "https://corvusllm.com/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
          "static_file_public_path": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Proof beyond testimonials and nice-looking UI? | CorvusLLM",
        "meta_description": "Yes, that is why the site includes pages like Trust Center, Verify CorvusLLM, Proof of Operations, Service Status, and Compatibility Matrix. Those...",
        "canonical": "https://corvusllm.com/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-there-proof-beyond-testimonials-and-nice-looking-ui/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is there proof beyond testimonials and nice-looking UI?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/are-these-real-claude-models/",
      "canonical_url": "https://corvusllm.com/faq/are-these-real-claude-models/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/are-these-real-claude-models/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/are-these-real-claude-models/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Are these real Claude models? | CorvusLLM",
        "h1": "Are these real Claude models?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/are-these-real-claude-models.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Are these real Claude models?",
        "query_entry_count": 25,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 11
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/are-these-real-claude-models/",
        "owned_primary_query": "Are these real Claude models?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/are-these-real-claude-models/",
          "owned_primary_query": "Are these real Claude models?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/are-these-real-claude-models/",
          "owned_primary_query": "Are these real Claude models?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Are these real Claude models?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/are-these-real-claude-models.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/are-these-real-claude-models/",
          "canonical_url": "https://corvusllm.com/faq/are-these-real-claude-models/",
          "static_file_public_path": "/faq/are-these-real-claude-models/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/are-these-real-claude-models/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Are these real Claude models? | CorvusLLM",
        "meta_description": "Yes. The Claude models available on CorvusLLM are the same Claude models developed by Anthropic, including Claude Opus 4.7, Claude Sonnet 4.6, and...",
        "canonical": "https://corvusllm.com/faq/are-these-real-claude-models/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/are-these-real-claude-models/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Are these real Claude models?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
      "canonical_url": "https://corvusllm.com/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/why-does-the-model-sometimes-say-its-name-is-kiro/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Why does the model sometimes say its name is Kiro? | CorvusLLM",
        "h1": "Why does the model sometimes say its name is Kiro?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/why-does-the-model-sometimes-say-its-name-is-kiro.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Why does the model sometimes say its name is Kiro?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
        "owned_primary_query": "Why does the model sometimes say its name is Kiro?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
          "owned_primary_query": "Why does the model sometimes say its name is Kiro?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
          "owned_primary_query": "Why does the model sometimes say its name is Kiro?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Why does the model sometimes say its name is Kiro?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
          "canonical_url": "https://corvusllm.com/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
          "static_file_public_path": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/why-does-the-model-sometimes-say-its-name-is-kiro/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Why does the model sometimes say its name is Kiro? | CorvusLLM",
        "meta_description": "The upstream AWS routing layer can include a system-level context from the Kiro environment. That can occasionally cause the model to identify itself...",
        "canonical": "https://corvusllm.com/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/why-does-the-model-sometimes-say-its-name-is-kiro/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Why does the model sometimes say its name is Kiro?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
      "canonical_url": "https://corvusllm.com/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "How do I know it is the same Claude as on claude.ai? | CorvusLLM",
        "h1": "How do I know it is the same Claude as on claude.ai?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How do I know it is the same Claude as on claude.ai?",
        "query_entry_count": 25,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 11
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
        "owned_primary_query": "How do I know it is the same Claude as on claude.ai?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
          "owned_primary_query": "How do I know it is the same Claude as on claude.ai?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
          "owned_primary_query": "How do I know it is the same Claude as on claude.ai?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How do I know it is the same Claude as on claude.ai?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
          "canonical_url": "https://corvusllm.com/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
          "static_file_public_path": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "How do I know it is the same Claude as on claude.ai? | CorvusLLM",
        "meta_description": "The practical way to verify it is to test it yourself. Send a harder coding task, math problem, or reasoning question and compare the output quality to...",
        "canonical": "https://corvusllm.com/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-do-i-know-it-is-the-same-claude-as-on-claude-ai/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How do I know it is the same Claude as on claude.ai?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-verify-tool-compatibility-before-i-buy/",
      "canonical_url": "https://corvusllm.com/faq/can-i-verify-tool-compatibility-before-i-buy/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-verify-tool-compatibility-before-i-buy/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-verify-tool-compatibility-before-i-buy/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can I verify tool compatibility before I buy? | CorvusLLM",
        "h1": "Can I verify tool compatibility before I buy?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-verify-tool-compatibility-before-i-buy.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I verify tool compatibility before I buy?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-verify-tool-compatibility-before-i-buy/",
        "owned_primary_query": "Can I verify tool compatibility before I buy?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-verify-tool-compatibility-before-i-buy/",
          "owned_primary_query": "Can I verify tool compatibility before I buy?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-verify-tool-compatibility-before-i-buy/",
          "owned_primary_query": "Can I verify tool compatibility before I buy?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I verify tool compatibility before I buy?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-verify-tool-compatibility-before-i-buy.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-verify-tool-compatibility-before-i-buy/",
          "canonical_url": "https://corvusllm.com/faq/can-i-verify-tool-compatibility-before-i-buy/",
          "static_file_public_path": "/faq/can-i-verify-tool-compatibility-before-i-buy/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-verify-tool-compatibility-before-i-buy/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can I verify tool compatibility before I buy? | CorvusLLM",
        "meta_description": "Yes, and you should. The compatibility matrix, docs, examples, and dedicated setup pages are there so buyers can check fit before spending money.",
        "canonical": "https://corvusllm.com/faq/can-i-verify-tool-compatibility-before-i-buy/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-verify-tool-compatibility-before-i-buy/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I verify tool compatibility before I buy?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
      "canonical_url": "https://corvusllm.com/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Awaiting Payment After Transfer | CorvusLLM",
        "h1": "My order still says awaiting payment even though I sent the transfer. What now?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "My order still says awaiting payment even though I sent the transfer. What now?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
        "owned_primary_query": "My order still says awaiting payment even though I sent the transfer. What now?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
          "owned_primary_query": "My order still says awaiting payment even though I sent the transfer. What now?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
          "owned_primary_query": "My order still says awaiting payment even though I sent the transfer. What now?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "My order still says awaiting payment even though I sent the transfer. What now?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
          "canonical_url": "https://corvusllm.com/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
          "static_file_public_path": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Awaiting Payment After Transfer | CorvusLLM",
        "meta_description": "First confirm that you used the exact amount, exact address, and exact network shown by the order. If the chain transaction is confirmed and the order...",
        "canonical": "https://corvusllm.com/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/my-order-still-says-awaiting-payment-even-though-i-sent-the-transfer-what-now/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "My order still says awaiting payment even though I sent the transfer. What now?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
      "canonical_url": "https://corvusllm.com/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Missing Confirmation or Delivery Email | CorvusLLM",
        "h1": "I never received the confirmation or delivery email. What should I check first?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "I never received the confirmation or delivery email. What should I check first?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
        "owned_primary_query": "I never received the confirmation or delivery email. What should I check first?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
          "owned_primary_query": "I never received the confirmation or delivery email. What should I check first?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
          "owned_primary_query": "I never received the confirmation or delivery email. What should I check first?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "I never received the confirmation or delivery email. What should I check first?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
          "canonical_url": "https://corvusllm.com/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
          "static_file_public_path": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Missing Confirmation or Delivery Email | CorvusLLM",
        "meta_description": "Check the inbox you entered at checkout, then spam or junk, then confirm the order number with support. If the email address was entered wrong, support...",
        "canonical": "https://corvusllm.com/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/i-never-received-the-confirmation-or-delivery-email-what-should-i-check-first/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "I never received the confirmation or delivery email. What should I check first?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
      "canonical_url": "https://corvusllm.com/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Key Works in One Tool but Not Another | CorvusLLM",
        "h1": "My key works in one tool but not another. Does that mean the service is broken?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "My key works in one tool but not another. Does that mean the service is broken?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
        "owned_primary_query": "My key works in one tool but not another. Does that mean the service is broken?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
          "owned_primary_query": "My key works in one tool but not another. Does that mean the service is broken?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
          "owned_primary_query": "My key works in one tool but not another. Does that mean the service is broken?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "My key works in one tool but not another. Does that mean the service is broken?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
          "canonical_url": "https://corvusllm.com/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
          "static_file_public_path": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Key Works in One Tool but Not Another | CorvusLLM",
        "meta_description": "Not necessarily. It usually means one tool is configured correctly and the other has a wrong base URL, wrong model name, or a feature mismatch that...",
        "canonical": "https://corvusllm.com/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/my-key-works-in-one-tool-but-not-another-does-that-mean-the-service-is-broken/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "My key works in one tool but not another. Does that mean the service is broken?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
      "canonical_url": "https://corvusllm.com/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Expired Quote During Payment | CorvusLLM",
        "h1": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
        "owned_primary_query": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
          "owned_primary_query": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
          "owned_primary_query": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
          "canonical_url": "https://corvusllm.com/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
          "static_file_public_path": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Expired Quote During Payment | CorvusLLM",
        "meta_description": "No, the safe path is to create a new order with a fresh quote. An expired quote means the original locked amount should not be trusted anymore.",
        "canonical": "https://corvusllm.com/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/my-quote-expired-while-i-was-still-trying-to-pay-should-i-use-the-old-amount-anyway/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "My quote expired while I was still trying to pay. Should I use the old amount anyway?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
      "canonical_url": "https://corvusllm.com/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Model Not Found and Auth Errors | CorvusLLM",
        "h1": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
        "owned_primary_query": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
          "owned_primary_query": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
          "owned_primary_query": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
          "canonical_url": "https://corvusllm.com/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
          "static_file_public_path": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Model Not Found and Auth Errors | CorvusLLM",
        "meta_description": "Start with the basics: correct key, correct base URL, correct model ID, and a minimal test request. Most integration failures look mysterious at first...",
        "canonical": "https://corvusllm.com/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/i-am-getting-model-not-found-unauthorized-or-similar-api-errors-where-should-i-look-first/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "I am getting model not found, unauthorized, or similar API errors. Where should I look first?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-a-team-use-corvusllm-for-internal-work/",
      "canonical_url": "https://corvusllm.com/faq/can-a-team-use-corvusllm-for-internal-work/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-a-team-use-corvusllm-for-internal-work/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-a-team-use-corvusllm-for-internal-work/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can a team use CorvusLLM for internal work? | CorvusLLM",
        "h1": "Can a team use CorvusLLM for internal work?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-a-team-use-corvusllm-for-internal-work.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can a team use CorvusLLM for internal work?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-a-team-use-corvusllm-for-internal-work/",
        "owned_primary_query": "Can a team use CorvusLLM for internal work?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-a-team-use-corvusllm-for-internal-work/",
          "owned_primary_query": "Can a team use CorvusLLM for internal work?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-a-team-use-corvusllm-for-internal-work/",
          "owned_primary_query": "Can a team use CorvusLLM for internal work?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can a team use CorvusLLM for internal work?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-a-team-use-corvusllm-for-internal-work.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-a-team-use-corvusllm-for-internal-work/",
          "canonical_url": "https://corvusllm.com/faq/can-a-team-use-corvusllm-for-internal-work/",
          "static_file_public_path": "/faq/can-a-team-use-corvusllm-for-internal-work/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-a-team-use-corvusllm-for-internal-work/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can a team use CorvusLLM for internal work? | CorvusLLM",
        "meta_description": "Yes, teams can use it for internal workflows if their own security, procurement, and reliability standards allow it. The important part is treating...",
        "canonical": "https://corvusllm.com/faq/can-a-team-use-corvusllm-for-internal-work/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-a-team-use-corvusllm-for-internal-work/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can a team use CorvusLLM for internal work?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
      "canonical_url": "https://corvusllm.com/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-we-buy-multiple-keys-for-different-users-or-environments/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Multiple Keys for Users or Environments | CorvusLLM",
        "h1": "Can we buy multiple keys for different users or environments?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-we-buy-multiple-keys-for-different-users-or-environments.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can we buy multiple keys for different users or environments?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
        "owned_primary_query": "Can we buy multiple keys for different users or environments?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
          "owned_primary_query": "Can we buy multiple keys for different users or environments?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
          "owned_primary_query": "Can we buy multiple keys for different users or environments?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can we buy multiple keys for different users or environments?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
          "canonical_url": "https://corvusllm.com/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
          "static_file_public_path": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-we-buy-multiple-keys-for-different-users-or-environments/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Multiple Keys for Users or Environments | CorvusLLM",
        "meta_description": "Yes, that is usually the cleaner approach when more than one person or environment needs access. Separate keys make revocation, auditing, and support...",
        "canonical": "https://corvusllm.com/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-we-buy-multiple-keys-for-different-users-or-environments/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can we buy multiple keys for different users or environments?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
      "canonical_url": "https://corvusllm.com/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Public Checkout for Company Procurement | CorvusLLM",
        "h1": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
        "owned_primary_query": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
          "owned_primary_query": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
          "owned_primary_query": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
          "canonical_url": "https://corvusllm.com/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
          "static_file_public_path": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Public Checkout for Company Procurement | CorvusLLM",
        "meta_description": "Often not by default. If your company needs formal invoicing, purchase orders, procurement approval, or a specific billing workflow, that is a real...",
        "canonical": "https://corvusllm.com/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-the-public-crypto-checkout-a-good-fit-for-companies-that-need-traditional-invoicing-or-procurement-approval/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is the public checkout a good fit for companies that need traditional invoicing or procurement approval?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/should-a-whole-team-share-one-key/",
      "canonical_url": "https://corvusllm.com/faq/should-a-whole-team-share-one-key/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/should-a-whole-team-share-one-key/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/should-a-whole-team-share-one-key/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Should a whole team share one key? | CorvusLLM",
        "h1": "Should a whole team share one key?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/should-a-whole-team-share-one-key.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Should a whole team share one key?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/should-a-whole-team-share-one-key/",
        "owned_primary_query": "Should a whole team share one key?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/should-a-whole-team-share-one-key/",
          "owned_primary_query": "Should a whole team share one key?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/should-a-whole-team-share-one-key/",
          "owned_primary_query": "Should a whole team share one key?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Should a whole team share one key?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/should-a-whole-team-share-one-key.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/should-a-whole-team-share-one-key/",
          "canonical_url": "https://corvusllm.com/faq/should-a-whole-team-share-one-key/",
          "static_file_public_path": "/faq/should-a-whole-team-share-one-key/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/should-a-whole-team-share-one-key/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Should a whole team share one key? | CorvusLLM",
        "meta_description": "That is usually not the cleanest long-term setup. Shared keys are harder to rotate, harder to audit, and harder to attribute when something breaks or...",
        "canonical": "https://corvusllm.com/faq/should-a-whole-team-share-one-key/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/should-a-whole-team-share-one-key/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Should a whole team share one key?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
      "canonical_url": "https://corvusllm.com/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-support-help-us-roll-corvusllm-out-across-several-tools/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can support help us roll out across several tools? | CorvusLLM",
        "h1": "Can support help us roll CorvusLLM out across several tools?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can support help us roll CorvusLLM out across several tools?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
        "owned_primary_query": "Can support help us roll CorvusLLM out across several tools?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
          "owned_primary_query": "Can support help us roll CorvusLLM out across several tools?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
          "owned_primary_query": "Can support help us roll CorvusLLM out across several tools?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can support help us roll CorvusLLM out across several tools?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
          "canonical_url": "https://corvusllm.com/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
          "static_file_public_path": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can support help us roll out across several tools? | CorvusLLM",
        "meta_description": "Support can help clarify setup questions, but you should still start with the docs, compatibility matrix, and examples to narrow the problem first...",
        "canonical": "https://corvusllm.com/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-support-help-us-roll-corvusllm-out-across-several-tools/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can support help us roll CorvusLLM out across several tools?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/which-model-family-is-usually-strongest-for-coding-work/",
      "canonical_url": "https://corvusllm.com/faq/which-model-family-is-usually-strongest-for-coding-work/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/which-model-family-is-usually-strongest-for-coding-work/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/which-model-family-is-usually-strongest-for-coding-work/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Model family is usually strongest for coding work? | CorvusLLM",
        "h1": "Which model family is usually strongest for coding work?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/which-model-family-is-usually-strongest-for-coding-work.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Which model family is usually strongest for coding work?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/which-model-family-is-usually-strongest-for-coding-work/",
        "owned_primary_query": "Which model family is usually strongest for coding work?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/which-model-family-is-usually-strongest-for-coding-work/",
          "owned_primary_query": "Which model family is usually strongest for coding work?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/which-model-family-is-usually-strongest-for-coding-work/",
          "owned_primary_query": "Which model family is usually strongest for coding work?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Which model family is usually strongest for coding work?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/which-model-family-is-usually-strongest-for-coding-work.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/which-model-family-is-usually-strongest-for-coding-work/",
          "canonical_url": "https://corvusllm.com/faq/which-model-family-is-usually-strongest-for-coding-work/",
          "static_file_public_path": "/faq/which-model-family-is-usually-strongest-for-coding-work/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/which-model-family-is-usually-strongest-for-coding-work/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Model family is usually strongest for coding work? | CorvusLLM",
        "meta_description": "That depends on your style of coding, the tool you use, and whether you care more about deep reasoning or lower cost. The practical answer is to...",
        "canonical": "https://corvusllm.com/faq/which-model-family-is-usually-strongest-for-coding-work/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/which-model-family-is-usually-strongest-for-coding-work/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Which model family is usually strongest for coding work?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
      "canonical_url": "https://corvusllm.com/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Cost-Sensitive Automation Models | CorvusLLM",
        "h1": "What should I choose for cost-sensitive automation rather than premium reasoning?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What should I choose for cost-sensitive automation rather than premium reasoning?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
        "owned_primary_query": "What should I choose for cost-sensitive automation rather than premium reasoning?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
          "owned_primary_query": "What should I choose for cost-sensitive automation rather than premium reasoning?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
          "owned_primary_query": "What should I choose for cost-sensitive automation rather than premium reasoning?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What should I choose for cost-sensitive automation rather than premium reasoning?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
          "canonical_url": "https://corvusllm.com/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
          "static_file_public_path": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Cost-Sensitive Automation Models | CorvusLLM",
        "meta_description": "Look for lower-cost model options and packs that prioritize throughput over prestige. If your workload is repetitive or structured, the cheapest...",
        "canonical": "https://corvusllm.com/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-should-i-choose-for-cost-sensitive-automation-rather-than-premium-reasoning/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What should I choose for cost-sensitive automation rather than premium reasoning?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
      "canonical_url": "https://corvusllm.com/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Safest General-Purpose Model Choice | CorvusLLM",
        "h1": "What is the safest choice for general-purpose use when I am unsure?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What is the safest choice for general-purpose use when I am unsure?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
        "owned_primary_query": "What is the safest choice for general-purpose use when I am unsure?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
          "owned_primary_query": "What is the safest choice for general-purpose use when I am unsure?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
          "owned_primary_query": "What is the safest choice for general-purpose use when I am unsure?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What is the safest choice for general-purpose use when I am unsure?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
          "canonical_url": "https://corvusllm.com/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
          "static_file_public_path": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Safest General-Purpose Model Choice | CorvusLLM",
        "meta_description": "A balanced model family or a multi-model pack is usually the safest starting point because it lets you compare rather than commit blindly. Buyers who...",
        "canonical": "https://corvusllm.com/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-is-the-safest-choice-for-general-purpose-use-when-i-am-unsure/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What is the safest choice for general-purpose use when I am unsure?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
      "canonical_url": "https://corvusllm.com/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Single-Family vs All-in-One Packs | CorvusLLM",
        "h1": "When should I buy a single-family pack instead of an all-in-one style pack?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "When should I buy a single-family pack instead of an all-in-one style pack?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
        "owned_primary_query": "When should I buy a single-family pack instead of an all-in-one style pack?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
          "owned_primary_query": "When should I buy a single-family pack instead of an all-in-one style pack?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
          "owned_primary_query": "When should I buy a single-family pack instead of an all-in-one style pack?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "When should I buy a single-family pack instead of an all-in-one style pack?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
          "canonical_url": "https://corvusllm.com/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
          "static_file_public_path": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Single-Family vs All-in-One Packs | CorvusLLM",
        "meta_description": "Choose a family-specific pack when you already know which ecosystem you prefer and want to stay focused. Choose broader access when you want...",
        "canonical": "https://corvusllm.com/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/when-should-i-buy-a-single-family-pack-instead-of-an-all-in-one-style-pack/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "When should I buy a single-family pack instead of an all-in-one style pack?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/where-can-i-compare-models-before-i-buy/",
      "canonical_url": "https://corvusllm.com/faq/where-can-i-compare-models-before-i-buy/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/where-can-i-compare-models-before-i-buy/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/where-can-i-compare-models-before-i-buy/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Where can I compare models before I buy? | CorvusLLM",
        "h1": "Where can I compare models before I buy?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/where-can-i-compare-models-before-i-buy.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Where can I compare models before I buy?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/where-can-i-compare-models-before-i-buy/",
        "owned_primary_query": "Where can I compare models before I buy?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/where-can-i-compare-models-before-i-buy/",
          "owned_primary_query": "Where can I compare models before I buy?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/where-can-i-compare-models-before-i-buy/",
          "owned_primary_query": "Where can I compare models before I buy?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Where can I compare models before I buy?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/where-can-i-compare-models-before-i-buy.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/where-can-i-compare-models-before-i-buy/",
          "canonical_url": "https://corvusllm.com/faq/where-can-i-compare-models-before-i-buy/",
          "static_file_public_path": "/faq/where-can-i-compare-models-before-i-buy/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/where-can-i-compare-models-before-i-buy/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Where can I compare models before I buy? | CorvusLLM",
        "meta_description": "Start with the models directory, then use examples and compatibility pages to translate that comparison into real tool choices. A model comparison is...",
        "canonical": "https://corvusllm.com/faq/where-can-i-compare-models-before-i-buy/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/where-can-i-compare-models-before-i-buy/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Where can I compare models before I buy?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
      "canonical_url": "https://corvusllm.com/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Switch an OpenAI Project to CorvusLLM | CorvusLLM",
        "h1": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
        "owned_primary_query": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
          "owned_primary_query": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
          "owned_primary_query": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
          "canonical_url": "https://corvusllm.com/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
          "static_file_public_path": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Switch an OpenAI Project to CorvusLLM | CorvusLLM",
        "meta_description": "Usually it is a configuration change before it is a code rewrite. If the project already supports a custom base URL and model name, the migration path...",
        "canonical": "https://corvusllm.com/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-hard-is-it-to-switch-an-existing-openai-based-project-to-corvusllm/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How hard is it to switch an existing OpenAI-based project to CorvusLLM?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
      "canonical_url": "https://corvusllm.com/faq/how-do-i-move-over-from-direct-anthropic-usage/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/how-do-i-move-over-from-direct-anthropic-usage/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/how-do-i-move-over-from-direct-anthropic-usage/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "How do I move over from direct Anthropic usage? | CorvusLLM",
        "h1": "How do I move over from direct Anthropic usage?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/how-do-i-move-over-from-direct-anthropic-usage.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How do I move over from direct Anthropic usage?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
        "owned_primary_query": "How do I move over from direct Anthropic usage?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
          "owned_primary_query": "How do I move over from direct Anthropic usage?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
          "owned_primary_query": "How do I move over from direct Anthropic usage?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "How do I move over from direct Anthropic usage?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/how-do-i-move-over-from-direct-anthropic-usage.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/how-do-i-move-over-from-direct-anthropic-usage/",
          "canonical_url": "https://corvusllm.com/faq/how-do-i-move-over-from-direct-anthropic-usage/",
          "static_file_public_path": "/faq/how-do-i-move-over-from-direct-anthropic-usage/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/how-do-i-move-over-from-direct-anthropic-usage/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "How do I move over from direct Anthropic usage? | CorvusLLM",
        "meta_description": "Start by listing the exact models and workflows you depend on, then compare them against the current CorvusLLM lineup and docs. Migration is easier...",
        "canonical": "https://corvusllm.com/faq/how-do-i-move-over-from-direct-anthropic-usage/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/how-do-i-move-over-from-direct-anthropic-usage/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How do I move over from direct Anthropic usage?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
      "canonical_url": "https://corvusllm.com/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/do-i-usually-need-to-rewrite-prompts-when-migrating/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Do I usually need to rewrite prompts when migrating? | CorvusLLM",
        "h1": "Do I usually need to rewrite prompts when migrating?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Do I usually need to rewrite prompts when migrating?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
        "owned_primary_query": "Do I usually need to rewrite prompts when migrating?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
          "owned_primary_query": "Do I usually need to rewrite prompts when migrating?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
          "owned_primary_query": "Do I usually need to rewrite prompts when migrating?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Do I usually need to rewrite prompts when migrating?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
          "canonical_url": "https://corvusllm.com/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
          "static_file_public_path": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Do I usually need to rewrite prompts when migrating? | CorvusLLM",
        "meta_description": "Usually no, but you should still test. Prompt behavior can shift between model families even when the API interface feels familiar, so a light staging...",
        "canonical": "https://corvusllm.com/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/do-i-usually-need-to-rewrite-prompts-when-migrating/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Do I usually need to rewrite prompts when migrating?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
      "canonical_url": "https://corvusllm.com/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-keep-my-current-client-libraries-and-agent-tooling/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Keep my current client libraries and agent tooling? | CorvusLLM",
        "h1": "Can I keep my current client libraries and agent tooling?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I keep my current client libraries and agent tooling?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
        "owned_primary_query": "Can I keep my current client libraries and agent tooling?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
          "owned_primary_query": "Can I keep my current client libraries and agent tooling?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
          "owned_primary_query": "Can I keep my current client libraries and agent tooling?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I keep my current client libraries and agent tooling?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
          "canonical_url": "https://corvusllm.com/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
          "static_file_public_path": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Keep my current client libraries and agent tooling? | CorvusLLM",
        "meta_description": "Often yes, especially when those libraries already support compatible endpoints. The most common migration task is configuration cleanup rather than...",
        "canonical": "https://corvusllm.com/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-keep-my-current-client-libraries-and-agent-tooling/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I keep my current client libraries and agent tooling?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
      "canonical_url": "https://corvusllm.com/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Safe Migration Plan for Production | CorvusLLM",
        "h1": "What is the safest migration plan if I do not want to break production?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What is the safest migration plan if I do not want to break production?",
        "query_entry_count": 22,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 8
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
        "owned_primary_query": "What is the safest migration plan if I do not want to break production?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
          "owned_primary_query": "What is the safest migration plan if I do not want to break production?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
          "owned_primary_query": "What is the safest migration plan if I do not want to break production?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What is the safest migration plan if I do not want to break production?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
          "canonical_url": "https://corvusllm.com/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
          "static_file_public_path": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Safe Migration Plan for Production | CorvusLLM",
        "meta_description": "Start with a small plan, test in staging, compare output and latency in one real workflow, then move production traffic only after the basics are...",
        "canonical": "https://corvusllm.com/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-is-the-safest-migration-plan-if-i-do-not-want-to-break-production/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What is the safest migration plan if I do not want to break production?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-top-up-before-my-balance-runs-low/",
      "canonical_url": "https://corvusllm.com/faq/can-i-top-up-before-my-balance-runs-low/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-top-up-before-my-balance-runs-low/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-top-up-before-my-balance-runs-low/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Can I top up before my balance runs low? | CorvusLLM",
        "h1": "Can I top up before my balance runs low?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-top-up-before-my-balance-runs-low.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I top up before my balance runs low?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-top-up-before-my-balance-runs-low/",
        "owned_primary_query": "Can I top up before my balance runs low?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-top-up-before-my-balance-runs-low/",
          "owned_primary_query": "Can I top up before my balance runs low?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-top-up-before-my-balance-runs-low/",
          "owned_primary_query": "Can I top up before my balance runs low?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I top up before my balance runs low?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-top-up-before-my-balance-runs-low.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-top-up-before-my-balance-runs-low/",
          "canonical_url": "https://corvusllm.com/faq/can-i-top-up-before-my-balance-runs-low/",
          "static_file_public_path": "/faq/can-i-top-up-before-my-balance-runs-low/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-top-up-before-my-balance-runs-low/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Can I top up before my balance runs low? | CorvusLLM",
        "meta_description": "Yes, you do not need to wait until the last minute. Topping up earlier is often smarter if you know a busy week or launch window is coming and you do...",
        "canonical": "https://corvusllm.com/faq/can-i-top-up-before-my-balance-runs-low/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-top-up-before-my-balance-runs-low/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I top up before my balance runs low?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
      "canonical_url": "https://corvusllm.com/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Orders on Weekends and Outside Hours | CorvusLLM",
        "h1": "Can I place an order on weekends or outside normal business hours?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I place an order on weekends or outside normal business hours?",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
        "owned_primary_query": "Can I place an order on weekends or outside normal business hours?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
          "owned_primary_query": "Can I place an order on weekends or outside normal business hours?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
          "owned_primary_query": "Can I place an order on weekends or outside normal business hours?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I place an order on weekends or outside normal business hours?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
          "canonical_url": "https://corvusllm.com/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
          "static_file_public_path": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Orders on Weekends and Outside Hours | CorvusLLM",
        "meta_description": "Yes, the public checkout is not limited to a weekday office schedule. Access is normally provisioned automatically after matching payment confirmation...",
        "canonical": "https://corvusllm.com/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-place-an-order-on-weekends-or-outside-normal-business-hours/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I place an order on weekends or outside normal business hours?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/is-there-a-minimum-purchase-size/",
      "canonical_url": "https://corvusllm.com/faq/is-there-a-minimum-purchase-size/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/is-there-a-minimum-purchase-size/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/is-there-a-minimum-purchase-size/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Is there a minimum purchase size? | CorvusLLM",
        "h1": "Is there a minimum purchase size?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/is-there-a-minimum-purchase-size.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Is there a minimum purchase size?",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/is-there-a-minimum-purchase-size/",
        "owned_primary_query": "Is there a minimum purchase size?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/is-there-a-minimum-purchase-size/",
          "owned_primary_query": "Is there a minimum purchase size?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/is-there-a-minimum-purchase-size/",
          "owned_primary_query": "Is there a minimum purchase size?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Is there a minimum purchase size?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/is-there-a-minimum-purchase-size.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/is-there-a-minimum-purchase-size/",
          "canonical_url": "https://corvusllm.com/faq/is-there-a-minimum-purchase-size/",
          "static_file_public_path": "/faq/is-there-a-minimum-purchase-size/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/is-there-a-minimum-purchase-size/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Is there a minimum purchase size? | CorvusLLM",
        "meta_description": "The practical minimum is the smallest pack currently shown in the live pricing UI. If you want to reduce risk, starting there is usually better than...",
        "canonical": "https://corvusllm.com/faq/is-there-a-minimum-purchase-size/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/is-there-a-minimum-purchase-size/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Is there a minimum purchase size?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
      "canonical_url": "https://corvusllm.com/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/can-i-use-the-same-email-address-for-multiple-different-orders/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Same Email for Multiple Orders | CorvusLLM",
        "h1": "Can I use the same email address for multiple different orders?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/can-i-use-the-same-email-address-for-multiple-different-orders.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Can I use the same email address for multiple different orders?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
        "owned_primary_query": "Can I use the same email address for multiple different orders?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
          "owned_primary_query": "Can I use the same email address for multiple different orders?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
          "owned_primary_query": "Can I use the same email address for multiple different orders?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "Can I use the same email address for multiple different orders?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
          "canonical_url": "https://corvusllm.com/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
          "static_file_public_path": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/can-i-use-the-same-email-address-for-multiple-different-orders/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Same Email for Multiple Orders | CorvusLLM",
        "meta_description": "Yes, that is normal. Just keep each order number separately so support can tell which purchase you mean if you ever need help on one specific order.",
        "canonical": "https://corvusllm.com/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/can-i-use-the-same-email-address-for-multiple-different-orders/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Can I use the same email address for multiple different orders?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
      "canonical_url": "https://corvusllm.com/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
      "page_type": "faq_detail",
      "cluster": "faq",
      "route_family": "faq",
      "parent_path": "/faq",
      "hub_path": "/faq",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "faq/what-is-the-fastest-support-path-when-something-feels-wrong/index.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.75",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Fastest Support Path | CorvusLLM",
        "h1": "What is the fastest support path when something feels wrong?",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "exact FAQ answer route for one public customer question",
        "search_intent_class": "informational_support_answer",
        "funnel_stage": "support_and_objection_resolution",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/faq-index.json",
          "/faq/what-is-the-fastest-support-path-when-something-feels-wrong.md"
        ],
        "specialized_sources": [
          "/data/faq-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "What is the fastest support path when something feels wrong?",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
        "owned_primary_query": "What is the fastest support path when something feels wrong?",
        "owned_intent_class": "informational_support_answer",
        "ownership_scope": "exact_faq_answer_owner",
        "route_role": "exact FAQ answer route for one public customer question",
        "hub_path": "/faq",
        "public_query_index": {
          "canonical_query_owner": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
          "owned_primary_query": "What is the fastest support path when something feels wrong?",
          "owned_intent_class": "informational_support_answer",
          "ownership_scope": "exact_faq_answer_owner",
          "route_role": "exact FAQ answer route for one public customer question",
          "hub_path": "/faq",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
          "owned_primary_query": "What is the fastest support path when something feels wrong?",
          "ownership_scope": "exact_faq_answer_owner",
          "primary_query": "What is the fastest support path when something feels wrong?",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "faq",
        "html_sitemap_group": "FAQ",
        "markdown_source": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
          "canonical_url": "https://corvusllm.com/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
          "static_file_public_path": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/index.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": true,
            "extensionless": true,
            "trailing_slash": true
          },
          "clean_url_rewrite": {
            "required": false,
            "reason": "Directory index routes are served by their canonical directory path."
          },
          "html_alias_redirect": {
            "required": false,
            "reason": "Directory index file is not the advertised canonical route."
          },
          "directory_index_serving": {
            "mode": "static_directory_index",
            "canonical_path_has_trailing_slash": true,
            "public_index_file": "/faq/what-is-the-fastest-support-path-when-something-feels-wrong/index.html"
          }
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Fastest Support Path | CorvusLLM",
        "meta_description": "Start with the order number, then use the support channel referenced on the site rather than sending vague messages from multiple places. Clear...",
        "canonical": "https://corvusllm.com/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/faq/what-is-the-fastest-support-path-when-something-feels-wrong/",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "What is the fastest support path when something feels wrong?",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/site-map",
      "canonical_url": "https://corvusllm.com/site-map",
      "page_type": "site_inventory",
      "cluster": "route_inventory",
      "route_family": "public_route_inventory",
      "parent_path": "/",
      "hub_path": "/site-map",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "site-map.html",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.55"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/site-map",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.55",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Public Sitemap and Route Inventory | CorvusLLM",
        "h1": "Public Sitemap",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "complete public route inventory and crawl discovery route",
        "search_intent_class": "crawler_and_ai_discovery",
        "funnel_stage": "discovery_and_audit",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/sitemap.xml",
          "/llms.txt",
          "/llms-full.txt",
          "/site-map.md"
        ],
        "specialized_sources": [
          "/sitemap.xml",
          "/llms.txt",
          "/llms-full.txt"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM public sitemap",
        "query_entry_count": 23,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/site-map",
        "owned_primary_query": "CorvusLLM public sitemap",
        "owned_intent_class": "crawler_and_ai_discovery",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "complete public route inventory and crawl discovery route",
        "hub_path": "/site-map",
        "public_query_index": {
          "canonical_query_owner": "/site-map",
          "owned_primary_query": "CorvusLLM public sitemap",
          "owned_intent_class": "crawler_and_ai_discovery",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "complete public route inventory and crawl discovery route",
          "hub_path": "/site-map",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/site-map",
          "owned_primary_query": "CorvusLLM public sitemap",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM public sitemap",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "public_route_inventory",
        "html_sitemap_group": "Public route inventory",
        "markdown_source": "/site-map.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/site-map",
          "canonical_url": "https://corvusllm.com/site-map",
          "static_file_public_path": "/site-map.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/site-map",
            "to": "/site-map.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/site-map.html",
            "to": "/site-map",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Public Sitemap and Route Inventory | CorvusLLM",
        "meta_description": "Browse the complete public CorvusLLM route inventory: homepage, model pages, pricing tools, landing pages, docs, FAQ answers, trust pages, and legal resources.",
        "canonical": "https://corvusllm.com/site-map",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/site-map",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Public Sitemap",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/about",
      "canonical_url": "https://corvusllm.com/about",
      "page_type": "about",
      "cluster": "brand",
      "route_family": "company",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "about.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/about",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "About CorvusLLM - Affordable AI API Access | CorvusLLM",
        "h1": "About",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "brand entity, positioning, and service-context route",
        "search_intent_class": "brand_entity_understanding",
        "funnel_stage": "education",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/about.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "About",
        "query_entry_count": 24,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 10
      },
      "query_ownership": {
        "canonical_query_owner": "/about",
        "owned_primary_query": "About",
        "owned_intent_class": "brand_entity_understanding",
        "ownership_scope": "specific_public_route_owner",
        "route_role": "brand entity, positioning, and service-context route",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/about",
          "owned_primary_query": "About",
          "owned_intent_class": "brand_entity_understanding",
          "ownership_scope": "specific_public_route_owner",
          "route_role": "brand entity, positioning, and service-context route",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/about",
          "owned_primary_query": "About",
          "ownership_scope": "specific_public_route_owner",
          "primary_query": "About",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "company",
        "html_sitemap_group": "Company",
        "markdown_source": "/about.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/about",
          "canonical_url": "https://corvusllm.com/about",
          "static_file_public_path": "/about.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/about",
            "to": "/about.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/about.html",
            "to": "/about",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "About CorvusLLM - Affordable AI API Access | CorvusLLM",
        "meta_description": "CorvusLLM is a developer-built service providing affordable access to Claude, GPT, and GLM APIs through a shared OpenAI-compatible proxy. Learn how it works.",
        "canonical": "https://corvusllm.com/about",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/about",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "About",
        "h1_count": 1,
        "json_ld_blocks": 2,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/trust-center",
      "canonical_url": "https://corvusllm.com/trust-center",
      "page_type": "trust_evidence",
      "cluster": "trust",
      "route_family": "trust_status_and_proof",
      "parent_path": "/",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "trust-center.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.9"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/trust-center",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.9",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Trust Center - Transparency and Evidence",
        "h1": "CorvusLLM Trust Center",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "trust, verification, status, or public evidence route",
        "search_intent_class": "trust_verification_and_risk_review",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/trust-center.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM Trust Center",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/trust-center",
        "owned_primary_query": "CorvusLLM Trust Center",
        "owned_intent_class": "trust_verification_and_risk_review",
        "ownership_scope": "hub_or_subhub_owner",
        "route_role": "trust, verification, status, or public evidence route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/trust-center",
          "owned_primary_query": "CorvusLLM Trust Center",
          "owned_intent_class": "trust_verification_and_risk_review",
          "ownership_scope": "hub_or_subhub_owner",
          "route_role": "trust, verification, status, or public evidence route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/trust-center",
          "owned_primary_query": "CorvusLLM Trust Center",
          "ownership_scope": "hub_or_subhub_owner",
          "primary_query": "CorvusLLM Trust Center",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "trust_status_and_proof",
        "html_sitemap_group": "Trust and status",
        "markdown_source": "/trust-center.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/trust-center",
          "canonical_url": "https://corvusllm.com/trust-center",
          "static_file_public_path": "/trust-center.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/trust-center",
            "to": "/trust-center.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/trust-center.html",
            "to": "/trust-center",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Trust Center - Transparency and Evidence",
        "meta_description": "CorvusLLM Trust Center: how orders work, data handling, refunds, compatibility evidence, pricing methodology, service limits, and support contacts.",
        "canonical": "https://corvusllm.com/trust-center",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/trust-center",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "CorvusLLM Trust Center",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/service-status",
      "canonical_url": "https://corvusllm.com/service-status",
      "page_type": "trust_evidence",
      "cluster": "status",
      "route_family": "trust_status_and_proof",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "service-status.html",
        "lastmod": "2026-05-01",
        "changefreq": "hourly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/service-status",
        "lastmod": "2026-05-01",
        "changefreq": "hourly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Service Status and Live Checks",
        "h1": "Checking current status",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "trust, verification, status, or public evidence route",
        "search_intent_class": "trust_verification_and_risk_review",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/service-status.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "CorvusLLM service status",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/service-status",
        "owned_primary_query": "CorvusLLM service status",
        "owned_intent_class": "trust_verification_and_risk_review",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "trust, verification, status, or public evidence route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/service-status",
          "owned_primary_query": "CorvusLLM service status",
          "owned_intent_class": "trust_verification_and_risk_review",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "trust, verification, status, or public evidence route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/service-status",
          "owned_primary_query": "CorvusLLM service status",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "CorvusLLM service status",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "trust_status_and_proof",
        "html_sitemap_group": "Trust and status",
        "markdown_source": "/service-status.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/service-status",
          "canonical_url": "https://corvusllm.com/service-status",
          "static_file_public_path": "/service-status.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/service-status",
            "to": "/service-status.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/service-status.html",
            "to": "/service-status",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Service Status and Live Checks",
        "meta_description": "CorvusLLM service status for the website, checkout, customer login, payment-method availability, and API compatibility routes, with clear monitoring limits.",
        "canonical": "https://corvusllm.com/service-status",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/service-status",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Checking current status",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/ai-api-pricing-tracker",
      "canonical_url": "https://corvusllm.com/ai-api-pricing-tracker",
      "page_type": "tool_or_data",
      "cluster": "pricing",
      "route_family": "pricing_and_cost_tools",
      "parent_path": "/",
      "hub_path": "/",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "ai-api-pricing-tracker.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/ai-api-pricing-tracker",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "AI API Pricing Tracker vs Official Rates | CorvusLLM",
        "h1": "AI API Pricing Tracker",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "pricing and cost-planning route for commercial evaluation",
        "search_intent_class": "commercial_pricing_research",
        "funnel_stage": "evaluation_and_selection",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/models.json",
          "/data/model-pages.json",
          "/ai-api-pricing-tracker.md"
        ],
        "specialized_sources": [
          "/data/models.json",
          "/data/model-pages.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "AI API pricing tracker",
        "query_entry_count": 26,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 12
      },
      "query_ownership": {
        "canonical_query_owner": "/ai-api-pricing-tracker",
        "owned_primary_query": "AI API pricing tracker",
        "owned_intent_class": "commercial_pricing_research",
        "ownership_scope": "specific_public_route_owner",
        "route_role": "pricing and cost-planning route for commercial evaluation",
        "hub_path": "/",
        "public_query_index": {
          "canonical_query_owner": "/ai-api-pricing-tracker",
          "owned_primary_query": "AI API pricing tracker",
          "owned_intent_class": "commercial_pricing_research",
          "ownership_scope": "specific_public_route_owner",
          "route_role": "pricing and cost-planning route for commercial evaluation",
          "hub_path": "/",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/ai-api-pricing-tracker",
          "owned_primary_query": "AI API pricing tracker",
          "ownership_scope": "specific_public_route_owner",
          "primary_query": "AI API pricing tracker",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "pricing_and_cost_tools",
        "html_sitemap_group": "Pricing tools",
        "markdown_source": "/ai-api-pricing-tracker.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/ai-api-pricing-tracker",
          "canonical_url": "https://corvusllm.com/ai-api-pricing-tracker",
          "static_file_public_path": "/ai-api-pricing-tracker.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/ai-api-pricing-tracker",
            "to": "/ai-api-pricing-tracker.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/ai-api-pricing-tracker.html",
            "to": "/ai-api-pricing-tracker",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "AI API Pricing Tracker vs Official Rates | CorvusLLM",
        "meta_description": "AI API pricing tracker comparing official OpenAI, Anthropic, and Z.AI rates against CorvusLLM aggregated rates with source links and methodology.",
        "canonical": "https://corvusllm.com/ai-api-pricing-tracker",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/ai-api-pricing-tracker",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "AI API Pricing Tracker",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/customer-stories",
      "canonical_url": "https://corvusllm.com/customer-stories",
      "page_type": "trust_evidence",
      "cluster": "feedback",
      "route_family": "trust_status_and_proof",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "customer-stories.html",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.7"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/customer-stories",
        "lastmod": "2026-05-01",
        "changefreq": "weekly",
        "priority": "0.7",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Customer Stories & Feedback | CorvusLLM",
        "h1": "Customer Stories & Feedback",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "trust, verification, status, or public evidence route",
        "search_intent_class": "trust_verification_and_risk_review",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/data/reputation-index.json",
          "/customer-stories.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json",
          "/data/reputation-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Customer Stories & Feedback",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/customer-stories",
        "owned_primary_query": "Customer Stories & Feedback",
        "owned_intent_class": "trust_verification_and_risk_review",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "trust, verification, status, or public evidence route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/customer-stories",
          "owned_primary_query": "Customer Stories & Feedback",
          "owned_intent_class": "trust_verification_and_risk_review",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "trust, verification, status, or public evidence route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/customer-stories",
          "owned_primary_query": "Customer Stories & Feedback",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "Customer Stories & Feedback",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "trust_status_and_proof",
        "html_sitemap_group": "Trust and status",
        "markdown_source": "/customer-stories.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/customer-stories",
          "canonical_url": "https://corvusllm.com/customer-stories",
          "static_file_public_path": "/customer-stories.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/customer-stories",
            "to": "/customer-stories.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/customer-stories.html",
            "to": "/customer-stories",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Customer Stories & Feedback | CorvusLLM",
        "meta_description": "CorvusLLM customer stories and feedback hub with moderated buyer feedback, workflow filters, trust links, and no fabricated rating claims.",
        "canonical": "https://corvusllm.com/customer-stories",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/customer-stories",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Customer Stories & Feedback",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/verify-corvusllm",
      "canonical_url": "https://corvusllm.com/verify-corvusllm",
      "page_type": "trust_evidence",
      "cluster": "trust",
      "route_family": "trust_status_and_proof",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "verify-corvusllm.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/verify-corvusllm",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "How to Verify CorvusLLM Before You Buy | CorvusLLM",
        "h1": "How to Verify CorvusLLM Before You Buy",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "trust, verification, status, or public evidence route",
        "search_intent_class": "trust_verification_and_risk_review",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/data/reputation-index.json",
          "/verify-corvusllm.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json",
          "/data/reputation-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "How to Verify CorvusLLM Before You Buy",
        "query_entry_count": 21,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 7
      },
      "query_ownership": {
        "canonical_query_owner": "/verify-corvusllm",
        "owned_primary_query": "How to Verify CorvusLLM Before You Buy",
        "owned_intent_class": "trust_verification_and_risk_review",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "trust, verification, status, or public evidence route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/verify-corvusllm",
          "owned_primary_query": "How to Verify CorvusLLM Before You Buy",
          "owned_intent_class": "trust_verification_and_risk_review",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "trust, verification, status, or public evidence route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/verify-corvusllm",
          "owned_primary_query": "How to Verify CorvusLLM Before You Buy",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "How to Verify CorvusLLM Before You Buy",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "trust_status_and_proof",
        "html_sitemap_group": "Trust and status",
        "markdown_source": "/verify-corvusllm.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/verify-corvusllm",
          "canonical_url": "https://corvusllm.com/verify-corvusllm",
          "static_file_public_path": "/verify-corvusllm.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/verify-corvusllm",
            "to": "/verify-corvusllm.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/verify-corvusllm.html",
            "to": "/verify-corvusllm",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "How to Verify CorvusLLM Before You Buy | CorvusLLM",
        "meta_description": "Verify CorvusLLM before buying with operator details, safe test steps, support paths, service limits, and risk checks for developers.",
        "canonical": "https://corvusllm.com/verify-corvusllm",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/verify-corvusllm",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "How to Verify CorvusLLM Before You Buy",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/proof-of-operations",
      "canonical_url": "https://corvusllm.com/proof-of-operations",
      "page_type": "trust_evidence",
      "cluster": "trust",
      "route_family": "trust_status_and_proof",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "proof-of-operations.html",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/proof-of-operations",
        "lastmod": "2026-05-01",
        "changefreq": "monthly",
        "priority": "0.8",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Proof of Operations - Verifiable Evidence",
        "h1": "Proof of Operations",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "trust, verification, status, or public evidence route",
        "search_intent_class": "trust_verification_and_risk_review",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/data/reputation-index.json",
          "/proof-of-operations.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json",
          "/data/reputation-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Proof of Operations",
        "query_entry_count": 23,
        "secondary_query_count": 10,
        "citation_trigger_count": 3,
        "keyword_entity_count": 9
      },
      "query_ownership": {
        "canonical_query_owner": "/proof-of-operations",
        "owned_primary_query": "Proof of Operations",
        "owned_intent_class": "trust_verification_and_risk_review",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "trust, verification, status, or public evidence route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/proof-of-operations",
          "owned_primary_query": "Proof of Operations",
          "owned_intent_class": "trust_verification_and_risk_review",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "trust, verification, status, or public evidence route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/proof-of-operations",
          "owned_primary_query": "Proof of Operations",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "Proof of Operations",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "trust_status_and_proof",
        "html_sitemap_group": "Trust and status",
        "markdown_source": "/proof-of-operations.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/proof-of-operations",
          "canonical_url": "https://corvusllm.com/proof-of-operations",
          "static_file_public_path": "/proof-of-operations.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/proof-of-operations",
            "to": "/proof-of-operations.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/proof-of-operations.html",
            "to": "/proof-of-operations",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Proof of Operations - Verifiable Evidence",
        "meta_description": "Review CorvusLLM proof of operations, public evidence, pricing sources, service limits, and verification links before larger API usage.",
        "canonical": "https://corvusllm.com/proof-of-operations",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/proof-of-operations",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Proof of Operations",
        "h1_count": 1,
        "json_ld_blocks": 3,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/agb",
      "canonical_url": "https://corvusllm.com/agb",
      "page_type": "legal",
      "cluster": "legal",
      "route_family": "legal",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "agb.html",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/agb",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "CorvusLLM Terms - Orders, Delivery and Refunds",
        "h1": "Terms and Conditions",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "formal legal or policy reference route",
        "search_intent_class": "legal_policy_reference",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/agb.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Terms and Conditions",
        "query_entry_count": 19,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 6
      },
      "query_ownership": {
        "canonical_query_owner": "/agb",
        "owned_primary_query": "Terms and Conditions",
        "owned_intent_class": "legal_policy_reference",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "formal legal or policy reference route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/agb",
          "owned_primary_query": "Terms and Conditions",
          "owned_intent_class": "legal_policy_reference",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "formal legal or policy reference route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/agb",
          "owned_primary_query": "Terms and Conditions",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "Terms and Conditions",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "legal",
        "html_sitemap_group": "Legal",
        "markdown_source": "/agb.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/agb",
          "canonical_url": "https://corvusllm.com/agb",
          "static_file_public_path": "/agb.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/agb",
            "to": "/agb.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/agb.html",
            "to": "/agb",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "CorvusLLM Terms - Orders, Delivery and Refunds",
        "meta_description": "Read the CorvusLLM Terms and Conditions covering orders, delivery, payment confirmation, refunds, support, service limits, and customer responsibilities.",
        "canonical": "https://corvusllm.com/agb",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/agb",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Terms and Conditions",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/datenschutz",
      "canonical_url": "https://corvusllm.com/datenschutz",
      "page_type": "legal",
      "cluster": "legal",
      "route_family": "legal",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "datenschutz.html",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/datenschutz",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Privacy Policy | CorvusLLM Data Handling, Orders & Support",
        "h1": "Privacy Policy",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "formal legal or policy reference route",
        "search_intent_class": "legal_policy_reference",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/datenschutz.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Privacy Policy",
        "query_entry_count": 19,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 6
      },
      "query_ownership": {
        "canonical_query_owner": "/datenschutz",
        "owned_primary_query": "Privacy Policy",
        "owned_intent_class": "legal_policy_reference",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "formal legal or policy reference route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/datenschutz",
          "owned_primary_query": "Privacy Policy",
          "owned_intent_class": "legal_policy_reference",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "formal legal or policy reference route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/datenschutz",
          "owned_primary_query": "Privacy Policy",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "Privacy Policy",
          "coverage_state": "baseline",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "legal",
        "html_sitemap_group": "Legal",
        "markdown_source": "/datenschutz.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/datenschutz",
          "canonical_url": "https://corvusllm.com/datenschutz",
          "static_file_public_path": "/datenschutz.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/datenschutz",
            "to": "/datenschutz.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/datenschutz.html",
            "to": "/datenschutz",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Privacy Policy | CorvusLLM Data Handling, Orders & Support",
        "meta_description": "Read the CorvusLLM Privacy Policy covering order data, support communication, technical logs, infrastructure providers, retention, and user rights.",
        "canonical": "https://corvusllm.com/datenschutz",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/datenschutz",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Privacy Policy",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    },
    {
      "path": "/impressum",
      "canonical_url": "https://corvusllm.com/impressum",
      "page_type": "legal",
      "cluster": "legal",
      "route_family": "legal",
      "parent_path": "/trust-center",
      "hub_path": "/trust-center",
      "source_presence": {
        "site_config": true,
        "sitemap_xml": true,
        "html_sitemap": true,
        "public_pages_json": true,
        "public_query_index_json": true,
        "route_inventory_json": true,
        "indexation_contract_json": true
      },
      "site_config": {
        "file": "impressum.html",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3"
      },
      "sitemap": {
        "included": true,
        "loc": "https://corvusllm.com/impressum",
        "lastmod": "2026-05-01",
        "changefreq": "yearly",
        "priority": "0.3",
        "loc_matches_canonical": true
      },
      "html_sitemap": {
        "included": true
      },
      "public_pages": {
        "included": true,
        "title": "Legal Notice and Operator Contact | CorvusLLM",
        "h1": "Legal Notice",
        "has_route_purpose": true,
        "has_cross_index_membership": true,
        "route_role": "formal legal or policy reference route",
        "search_intent_class": "legal_policy_reference",
        "funnel_stage": "risk_review",
        "required_sources": [
          "/data/public-pages.json",
          "/data/public-route-matrix.json",
          "/data/public-route-taxonomy.json",
          "/data/public-query-index.json",
          "/data/ai-answer-index.json",
          "/data/route-inventory.json",
          "/data/indexation-contract.json",
          "/data/crawl-surface.json",
          "/data/programmatic-seo-index.json",
          "/data/trust-index.json",
          "/impressum.md"
        ],
        "specialized_sources": [
          "/data/trust-index.json"
        ]
      },
      "public_query": {
        "included": true,
        "primary_query": "Legal Notice",
        "query_entry_count": 19,
        "secondary_query_count": 9,
        "citation_trigger_count": 3,
        "keyword_entity_count": 6
      },
      "query_ownership": {
        "canonical_query_owner": "/impressum",
        "owned_primary_query": "Legal Notice",
        "owned_intent_class": "legal_policy_reference",
        "ownership_scope": "trust_legal_or_proof_owner",
        "route_role": "formal legal or policy reference route",
        "hub_path": "/trust-center",
        "public_query_index": {
          "canonical_query_owner": "/impressum",
          "owned_primary_query": "Legal Notice",
          "owned_intent_class": "legal_policy_reference",
          "ownership_scope": "trust_legal_or_proof_owner",
          "route_role": "formal legal or policy reference route",
          "hub_path": "/trust-center",
          "primary_owned": true,
          "canonical_query_owned": true
        },
        "route_inventory": {
          "canonical_query_owner": "/impressum",
          "owned_primary_query": "Legal Notice",
          "ownership_scope": "trust_legal_or_proof_owner",
          "primary_query": "Legal Notice",
          "coverage_state": "strong",
          "canonical_query_owned": true
        },
        "consistency": {
          "public_query_has_owner": true,
          "route_inventory_has_owner": true,
          "public_query_owner_matches_route": true,
          "route_inventory_owner_matches_route": true,
          "owned_primary_query_matches": true,
          "ownership_scope_matches": true,
          "public_query_confirms_canonical_ownership": true,
          "route_inventory_confirms_canonical_ownership": true
        },
        "ready": true
      },
      "route_inventory": {
        "included": true,
        "route_family": "legal",
        "html_sitemap_group": "Legal",
        "markdown_source": "/impressum.md",
        "markdown_source_exists": true,
        "serving_contract": {
          "canonical_path": "/impressum",
          "canonical_url": "https://corvusllm.com/impressum",
          "static_file_public_path": "/impressum.html",
          "static_file_exists": true,
          "route_shape": {
            "root": false,
            "directory_index": false,
            "extensionless": true,
            "trailing_slash": false
          },
          "clean_url_rewrite": {
            "required": true,
            "from": "/impressum",
            "to": "/impressum.html",
            "status": 200,
            "present": true
          },
          "html_alias_redirect": {
            "required": true,
            "from": "/impressum.html",
            "to": "/impressum",
            "status": 301,
            "present": true
          },
          "directory_index_serving": null
        }
      },
      "indexation_contract": {
        "included": true,
        "indexation_state": "indexable_public_canonical",
        "sitemap_included": true,
        "canonical_matches_route": true,
        "og_url_matches_route": true,
        "noindex_present": false
      },
      "static_html": {
        "title": "Legal Notice and Operator Contact | CorvusLLM",
        "meta_description": "Read the CorvusLLM Legal Notice with operator details, public contact information, content responsibility, and site-related legal disclosures.",
        "canonical": "https://corvusllm.com/impressum",
        "canonical_matches_expected": true,
        "og_url": "https://corvusllm.com/impressum",
        "og_url_matches_expected": true,
        "robots_meta": "index, follow",
        "robots_allows_indexing": true,
        "h1": "Legal Notice",
        "h1_count": 1,
        "json_ld_blocks": 1,
        "has_schema": true
      },
      "exclusion": {
        "utility_route": false,
        "redirect_alias_source": false,
        "html_extension_route": false
      },
      "readiness": "ready",
      "issue_codes": []
    }
  ]
}
