{
  "$comment": "Sentinel manifest for post-deploy verification of top-level marketing pages. Each entry is curled against the live production URL after every push to main; if the sentinel string is missing from the response body, the deploy is flagged as broken and the workflow comments on the associated PR. Adding a new top-level marketing page? Add it here so the deploy-verify workflow catches a route regression before a real visitor does. Keep sentinel strings short and stable (visible body copy, not styling classes or hashed assets).",
  "version": 1,
  "pages": [
    {
      "route": "/",
      "sentinel": "Catch AI agents before they spend money",
      "description": "Home page hero (lifeblood — never regress)"
    },
    {
      "route": "/pro",
      "sentinel": "ThumbGate Pro",
      "description": "Pro landing page"
    },
    {
      "route": "/checkout/pro",
      "sentinel": "Optional. Stripe can collect your email on the secure checkout page.",
      "mustNotContain": [
        "Required for your Stripe receipt and checkout recovery link."
      ],
      "userAgent": "curl/8.0.0",
      "description": "Pro checkout interstitial must not require email before Stripe"
    },
    {
      "route": "/diagnostic",
      "sentinel": "Workflow Hardening Diagnostic",
      "description": "Workflow Hardening Diagnostic intake page for high-intent warm traffic"
    },
    {
      "route": "/dashboard",
      "sentinel": "ThumbGate Dashboard",
      "description": "Dashboard demo (already enforced by /dashboard step; included here for symmetry with PR comment surface)"
    },
    {
      "route": "/federal",
      "sentinel": "ThumbGate",
      "description": "Federal lead-gen page (SBIR / GSA arrivals)"
    },
    {
      "route": "/numbers",
      "sentinel": "ThumbGate",
      "description": "First-party numbers / data transparency page"
    },
    {
      "route": "/ai-malpractice-prevention",
      "sentinel": "Pre-Execution Controls for Legal AI Agents",
      "description": "Legal AI intake risk-controls page for law-firm pilot conversations"
    },
    {
      "route": "/learn/background-agent-control-layer",
      "sentinel": "Background agents need a control layer outside the model",
      "description": "Background-agent AI-SDLC control-layer positioning page"
    },
    {
      "route": "/llm-context.md",
      "sentinel": "## What ThumbGate Is",
      "description": "Canonical declarative summary AI crawlers read"
    },
    {
      "route": "/robots.txt",
      "sentinel": "User-agent",
      "description": "Crawl directives (mandatory per Google's 2026-05-15 AI features guide)"
    },
    {
      "route": "/sitemap.xml",
      "sentinel": "<urlset",
      "description": "XML sitemap for search-engine discoverability"
    },
    {
      "route": "/about",
      "sentinel": "Igor Ganapolsky",
      "description": "About page for GEO discoverability"
    },
    {
      "route": "/leash-beta",
      "sentinel": "Stop Runaway AI Agents From Freezing Your Machine",
      "description": "Hermes Mobile founding beta / Leash Pro pricing landing"
    }
  ]
}
