{
  "version": "riddle-proof.profile-result.v1",
  "profile_name": "riddle-site-v402-llms-agent-index",
  "runner": "riddle",
  "status": "product_regression",
  "baseline_policy": "invariant_only",
  "route": {
    "requested": "https://riddledc.com/llms.txt",
    "observed": "/llms.txt",
    "expected_path": "/llms.txt",
    "matched": true,
    "http_status": 404
  },
  "artifacts": {
    "screenshots": [
      "riddle-site-v402-llms-agent-index-desktop",
      "riddle-site-v402-llms-agent-index-phone",
      "riddle-site-v402-llms-agent-index-ipad-mini",
      "riddle-site-v402-llms-agent-index-ipad"
    ],
    "console": "console.json",
    "proof_json": "proof.json",
    "dom_summary": "dom-summary.json",
    "riddle_artifacts": [
      {
        "name": "proof.json",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/proof.json.json",
        "source": "artifacts"
      },
      {
        "name": "console.json",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/console.json.json",
        "source": "artifacts"
      },
      {
        "name": "dom-summary.json",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/dom-summary.json.json",
        "source": "artifacts"
      },
      {
        "name": "riddle-site-v402-llms-agent-index-desktop.png",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/riddle-site-v402-llms-agent-index-desktop.png",
        "source": "artifacts"
      },
      {
        "name": "riddle-site-v402-llms-agent-index-phone.png",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/riddle-site-v402-llms-agent-index-phone.png",
        "source": "artifacts"
      },
      {
        "name": "riddle-site-v402-llms-agent-index-ipad-mini.png",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/riddle-site-v402-llms-agent-index-ipad-mini.png",
        "source": "artifacts"
      },
      {
        "name": "riddle-site-v402-llms-agent-index-ipad.png",
        "url": "https://cdn.riddledc.com/scripts/job_8fc84c72/riddle-site-v402-llms-agent-index-ipad.png",
        "source": "artifacts"
      }
    ]
  },
  "checks": [
    {
      "type": "route_loaded",
      "label": "route_loaded",
      "status": "failed",
      "evidence": {
        "expected_path": "/llms.txt",
        "observed_paths": [
          "/llms.txt",
          "/llms.txt",
          "/llms.txt",
          "/llms.txt"
        ],
        "http_statuses": [
          404,
          404,
          404,
          404
        ]
      },
      "message": "Route did not load as /llms.txt in 4 viewport(s)."
    },
    {
      "type": "http_status",
      "label": "public llms.txt agent index",
      "status": "failed",
      "evidence": {
        "url": "https://riddledc.com/llms.txt",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 800,
        "allowed_content_types": [
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/llms.txt",
            "url": "https://riddledc.com/llms.txt",
            "method": "GET",
            "status": 404,
            "status_text": "Not Found",
            "ok": false,
            "error": null,
            "content_type": "text/html; charset=utf-8",
            "content_length": null,
            "bytes": 18257,
            "body_contains": {
              "# Riddle": false,
              "Hosted browser automation, Preview, and proof artifacts for AI agents.": false,
              "https://riddledc.com/docs/markdown.md": false,
              "https://riddledc.com/docs/riddle-proof/markdown.md": false,
              "https://riddledc.com/docs/preview/markdown.md": false,
              "https://riddledc.com/mcp/markdown.md": false,
              "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml": false,
              "https://riddledc.com/proof/good-catches/": false
            },
            "body_contains_missing": [
              "# Riddle",
              "Hosted browser automation, Preview, and proof artifacts for AI agents.",
              "https://riddledc.com/docs/markdown.md",
              "https://riddledc.com/docs/riddle-proof/markdown.md",
              "https://riddledc.com/docs/preview/markdown.md",
              "https://riddledc.com/mcp/markdown.md",
              "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
              "https://riddledc.com/proof/good-catches/"
            ],
            "body_not_contains": {
              "404": true,
              "This page could not be found": true
            },
            "body_not_contains_found": [
              "404",
              "This page could not be found"
            ],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "<!DOCTYPE html><!--static--><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"stylesheet\" href=\"/_next/static/css/6e2bd4b720065285.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/728c58170c3bf4f7.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/3d4ad74dab870732.css\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-71721976f7360118.js\"/><script src=\"/_next/static/chunks/4bd1b696-43ba64781d20dbb7.js\" async=\"\"></script><script src=\"/_next/static/chunks/3794-f203f277ecc271c5.js\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-5737d578e9b2f2d2.js\" async=\"\"></script><script src=\"/_next/static/chunks/8500-27e7d9770d119ae1.js\" async=\"\"></script><script src=\"/_next/static/chunks/9304-8bcbccced38d408e.js\" async=\"\"></script><script src=\"/_next/static/chunks/8-81a5394369ea0885.js\" async=\"\"></scri",
            "failures": [
              {
                "code": "http_status_failed",
                "url": "https://riddledc.com/llms.txt",
                "status": 404,
                "method": "GET",
                "error": null,
                "content_type": "text/html; charset=utf-8",
                "bytes": 18257,
                "allowed_statuses": [
                  200
                ],
                "min_bytes": 800,
                "allowed_content_types": [
                  "text/plain"
                ],
                "body_contains": [
                  "# Riddle",
                  "Hosted browser automation, Preview, and proof artifacts for AI agents.",
                  "https://riddledc.com/docs/markdown.md",
                  "https://riddledc.com/docs/riddle-proof/markdown.md",
                  "https://riddledc.com/docs/preview/markdown.md",
                  "https://riddledc.com/mcp/markdown.md",
                  "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
                  "https://riddledc.com/proof/good-catches/"
                ],
                "body_contains_missing": [
                  "# Riddle",
                  "Hosted browser automation, Preview, and proof artifacts for AI agents.",
                  "https://riddledc.com/docs/markdown.md",
                  "https://riddledc.com/docs/riddle-proof/markdown.md",
                  "https://riddledc.com/docs/preview/markdown.md",
                  "https://riddledc.com/mcp/markdown.md",
                  "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
                  "https://riddledc.com/proof/good-catches/"
                ],
                "body_not_contains": [
                  "404",
                  "This page could not be found"
                ],
                "body_not_contains_found": [
                  "404",
                  "This page could not be found"
                ],
                "body_not_patterns": null,
                "body_not_patterns_found": [],
                "body_sample": "<!DOCTYPE html><!--static--><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"stylesheet\" href=\"/_next/static/css/6e2bd4b720065285.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/728c58170c3bf4f7.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/3d4ad74dab870732.css\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-71721976f7360118.js\"/><script src=\"/_next/static/chunks/4bd1b696-43ba64781d20dbb7.js\" async=\"\"></script><script src=\"/_next/static/chunks/3794-f203f277ecc271c5.js\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-5737d578e9b2f2d2.js\" async=\"\"></script><script src=\"/_next/static/chunks/8500-27e7d9770d119ae1.js\" async=\"\"></script><script src=\"/_next/static/chunks/9304-8bcbccced38d408e.js\" async=\"\"></script><script src=\"/_next/static/chunks/8-81a5394369ea0885.js\" async=\"\"></scri"
              }
            ]
          }
        ],
        "failures": [
          {
            "viewport": "desktop",
            "failure": {
              "code": "http_status_failed",
              "url": "https://riddledc.com/llms.txt",
              "status": 404,
              "method": "GET",
              "error": null,
              "content_type": "text/html; charset=utf-8",
              "bytes": 18257,
              "allowed_statuses": [
                200
              ],
              "min_bytes": 800,
              "allowed_content_types": [
                "text/plain"
              ],
              "body_contains": [
                "# Riddle",
                "Hosted browser automation, Preview, and proof artifacts for AI agents.",
                "https://riddledc.com/docs/markdown.md",
                "https://riddledc.com/docs/riddle-proof/markdown.md",
                "https://riddledc.com/docs/preview/markdown.md",
                "https://riddledc.com/mcp/markdown.md",
                "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
                "https://riddledc.com/proof/good-catches/"
              ],
              "body_contains_missing": [
                "# Riddle",
                "Hosted browser automation, Preview, and proof artifacts for AI agents.",
                "https://riddledc.com/docs/markdown.md",
                "https://riddledc.com/docs/riddle-proof/markdown.md",
                "https://riddledc.com/docs/preview/markdown.md",
                "https://riddledc.com/mcp/markdown.md",
                "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
                "https://riddledc.com/proof/good-catches/"
              ],
              "body_not_contains": [
                "404",
                "This page could not be found"
              ],
              "body_not_contains_found": [
                "404",
                "This page could not be found"
              ],
              "body_not_patterns": null,
              "body_not_patterns_found": [],
              "body_sample": "<!DOCTYPE html><!--static--><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"stylesheet\" href=\"/_next/static/css/6e2bd4b720065285.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/728c58170c3bf4f7.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/3d4ad74dab870732.css\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-71721976f7360118.js\"/><script src=\"/_next/static/chunks/4bd1b696-43ba64781d20dbb7.js\" async=\"\"></script><script src=\"/_next/static/chunks/3794-f203f277ecc271c5.js\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-5737d578e9b2f2d2.js\" async=\"\"></script><script src=\"/_next/static/chunks/8500-27e7d9770d119ae1.js\" async=\"\"></script><script src=\"/_next/static/chunks/9304-8bcbccced38d408e.js\" async=\"\"></script><script src=\"/_next/static/chunks/8-81a5394369ea0885.js\" async=\"\"></scri"
            }
          }
        ]
      },
      "message": "HTTP status failed in 1 viewport(s)."
    },
    {
      "type": "http_status",
      "label": "core docs markdown linked by llms index",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/docs/markdown.md",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 1000,
        "allowed_content_types": [
          "text/markdown",
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/docs/markdown.md",
            "url": "https://riddledc.com/docs/markdown.md",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/markdown",
            "content_length": 17475,
            "bytes": 17475,
            "body_contains": {
              "One endpoint: `/v1/run`. Send Playwright scripts or JSON, get screenshots. Sync by default.": true,
              "### Script Mode (Recommended)": true
            },
            "body_contains_missing": [],
            "body_not_contains": null,
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "# API Documentation\n\nOne endpoint: `/v1/run`. Send Playwright scripts or JSON, get screenshots. Sync by default.\n\nGPT Actions OpenAPI:\n[/riddledc-actions-openapi.yaml](/riddledc-actions-openapi.yaml)\n(\n[JSON](/riddledc-actions-openapi.json)\n,\n[.well-known](/.well-known/riddledc-actions-openapi.yaml)\n)\n\nNew to Riddle? Start with [Script Mode](#script-mode) - write Playwright, send it to our API, get results. For simpler jobs, use [URL mode](#url-mode) or [Steps mode](#steps-mode).\n\n## Quick Start\n\n### Your First Screenshot\n\n```\ncurl -X POST \"https://api.riddledc.com/v1/run\" \\\\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\\\n  -H \"Content-Type: application/json\" \\\\\n  -d '{\"url\": \"https://example.com\"}' \\\\\n  -o screenshot.png\n```\n\nGet your API key from [your dashboard](/dashboard). PNG bytes returned directly.\n\n### Create Account\n\n[Sign up](/register)\n\n### Get API Key\n\n[Dashboard](/dashboard)\n\n### Make Request\n\nSee examples below\n\n## Guides\n\n- [Riddle Proof](/docs/riddle-proof): evidence-bac",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "http_status",
      "label": "riddle proof markdown linked by llms index",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/docs/riddle-proof/markdown.md",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 1000,
        "allowed_content_types": [
          "text/markdown",
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/docs/riddle-proof/markdown.md",
            "url": "https://riddledc.com/docs/riddle-proof/markdown.md",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/markdown",
            "content_length": 16044,
            "bytes": 16044,
            "body_contains": {
              "# Riddle Proof": true,
              "The contract is agent-agnostic": true,
              "Short version: bring your agent; Riddle brings the proof.": true
            },
            "body_contains_missing": [],
            "body_not_contains": null,
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "# Riddle Proof\n\nEvidence-backed workflows for agent-authored browser changes.\n\nPlain text for agents: https://riddledc.com/docs/riddle-proof/markdown.md\n\n## What It Is\n\nRiddle Proof is a workflow for turning an agent's code change into inspectable evidence. It runs the actual app in a browser, exercises the behavior that matters, captures artifacts, and records whether the change met the stated proof criteria.\n\nBuild output and unit tests are still important, but they do not prove that a user-facing browser flow works. Riddle Proof fills that gap with real previews, screenshots, JSON artifacts, console output, diagnostics, and ship gates.\n\nThe contract is agent-agnostic: use it from Codex, Claude Code, OpenClaw, CI, or any workflow that can run a browser proof script and preserve the resulting evidence.\n\nShort version: bring your agent; Riddle brings the proof.\n\n## When To Use It\n\nUse Riddle Proof when correctness depends on the browser, a running server, generated assets, timing, layo",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "http_status",
      "label": "preview markdown linked by llms index",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/docs/preview/markdown.md",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 1000,
        "allowed_content_types": [
          "text/markdown",
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/docs/preview/markdown.md",
            "url": "https://riddledc.com/docs/preview/markdown.md",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/markdown",
            "content_length": 8202,
            "bytes": 8202,
            "body_contains": {
              "# Preview Tools": true,
              "Static preview deploys built files": true,
              "server preview": true
            },
            "body_contains_missing": [],
            "body_not_contains": null,
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "# Preview Tools\n\nDeploy any app to an ephemeral URL, screenshot it, and compare changes.\n\nPlain text for agents: https://riddledc.com/docs/preview/markdown.md\n\n## Which Tool Should I Use?\n\nPick the preview mode based on what must run in Riddle, not based on the framework name.\n\n| Mode | Use When | Avoid When |\n| --- | --- | --- |\n| `riddle_preview` | You already have a static output directory such as `dist`, `build`, or `out`. | The app needs a live backend, SSR process, websocket server, or runtime filesystem writes. |\n| `riddle_server_preview` | A server must run from uploaded files using a stock Docker image such as `node:22-slim`. | The app is just static files. Build locally and use `riddle_preview` instead. |\n| `riddle_build_preview` | The project has a Dockerfile or needs custom system packages, native dependencies, or a reproducible image. | You only need to serve static output or run a simple command in a stock image. |\n\nRule of thumb: static output gets static preview; server",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "http_status",
      "label": "mcp markdown linked by llms index",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/mcp/markdown.md",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 1000,
        "allowed_content_types": [
          "text/markdown",
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/mcp/markdown.md",
            "url": "https://riddledc.com/mcp/markdown.md",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/markdown",
            "content_length": 3437,
            "bytes": 3437,
            "body_contains": {
              "# Riddle MCP": true,
              "Hosted MCP": true,
              "riddle_screenshot": true
            },
            "body_contains_missing": [],
            "body_not_contains": null,
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "# Riddle MCP\n\nRiddle MCP exposes browser automation tools to AI agents in a standard MCP tool interface.\nIt supports two modes with the same tool set: Hosted MCP (gateway) and Local MCP (direct).\n\n## Hosted MCP (Gateway)\nHosted MCP supports either your Riddle login token (JWT) or an API key. JWTs expire; API keys do not.\n\nInstall from npm:\n\n```bash\nnpm install @riddledc/riddle-mcp\n```\n\nMCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"riddle\": {\n      \"command\": \"npx\",\n      \"args\": [\"riddle-mcp\"],\n      \"env\": {\n        \"RIDDLE_MCP_GATEWAY_URL\": \"https://api.riddledc.com\",\n        \"RIDDLE_AUTH_TOKEN\": \"your_login_token_here\"\n      }\n    }\n  }\n}\n```\n\nHosted config with API key:\n\n```json\n{\n  \"mcpServers\": {\n    \"riddle\": {\n      \"command\": \"npx\",\n      \"args\": [\"riddle-mcp\"],\n      \"env\": {\n        \"RIDDLE_MCP_GATEWAY_URL\": \"https://api.riddledc.com\",\n        \"RIDDLE_API_KEY\": \"rdc_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nList tools (no auth required):\n\n```bash\ncurl -sS https://api.ridd",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "http_status",
      "label": "actions openapi linked by llms index",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 1000,
        "allowed_content_types": [
          "application/yaml",
          "application/x-yaml",
          "text/yaml",
          "text/x-yaml",
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
            "url": "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/x-yaml",
            "content_length": 5958,
            "bytes": 5958,
            "body_contains": {
              "openapi: 3.1.0": true,
              "operationId: runActions": true,
              "/v1/jobs/{job_id}": true
            },
            "body_contains_missing": [],
            "body_not_contains": null,
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "openapi: 3.1.0\ninfo:\n  title: Riddle Actions API\n  version: 1.0.0\nservers:\n  - url: https://api.riddledc.com\npaths:\n  /v1/run/actions:\n    post:\n      operationId: runActions\n      summary: Run a browser job (Actions-safe)\n      security:\n        - bearerAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/RunActionsRequest'\n      responses:\n        '202':\n          description: Job accepted\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResponse'\n        '400':\n          description: Bad request\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResponse'\n        '401':\n          description: Unauthorized\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResp",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "http_status",
      "label": "robots keeps llms index crawlable",
      "status": "passed",
      "evidence": {
        "url": "https://riddledc.com/robots.txt",
        "method": "GET",
        "allowed_statuses": [
          200
        ],
        "require_nonzero_bytes": false,
        "min_bytes": 20,
        "allowed_content_types": [
          "text/plain"
        ],
        "viewports": [
          {
            "viewport": "desktop",
            "key": "GET https://riddledc.com/robots.txt",
            "url": "https://riddledc.com/robots.txt",
            "method": "GET",
            "status": 200,
            "status_text": "OK",
            "ok": true,
            "error": null,
            "content_type": "text/plain",
            "content_length": 66,
            "bytes": 66,
            "body_contains": {
              "User-agent: *": true,
              "Allow: /": true,
              "Sitemap: https://riddledc.com/sitemap.xml": true
            },
            "body_contains_missing": [],
            "body_not_contains": {
              "Disallow: /llms.txt": false
            },
            "body_not_contains_found": [],
            "body_not_patterns": null,
            "body_not_patterns_found": [],
            "body_sample": "User-agent: *\nAllow: /\n\nSitemap: https://riddledc.com/sitemap.xml\n",
            "failures": []
          }
        ],
        "failures": []
      }
    },
    {
      "type": "no_horizontal_overflow",
      "label": "no_horizontal_overflow",
      "status": "passed",
      "evidence": {
        "max_overflow_px": 1,
        "overflow_px": [
          0,
          0,
          0,
          0
        ],
        "bounds_overflow_px": [
          0,
          0,
          0,
          0
        ],
        "overflow_offender_counts": [
          0,
          0,
          0,
          0
        ],
        "viewports": [
          "desktop",
          "phone",
          "ipad-mini",
          "ipad"
        ]
      }
    },
    {
      "type": "no_fatal_console_errors",
      "label": "no_fatal_console_errors",
      "status": "failed",
      "evidence": {
        "console_fatal_count": 4,
        "page_error_count": 0,
        "total_console_fatal_count": 4,
        "total_page_error_count": 0,
        "allowed_console_fatal_count": 0,
        "explicitly_allowed_console_fatal_count": 0,
        "allowed_expected_network_mock_console_count": 0,
        "allowed_expected_network_mock_console_events": [],
        "allowed_page_error_count": 0,
        "allowed_console_texts": [],
        "allowed_console_patterns": [],
        "allowed_page_error_texts": [],
        "allowed_page_error_patterns": []
      },
      "message": "4 fatal browser error(s) were captured."
    }
  ],
  "summary": "riddle-site-v402-llms-agent-index failed 3 product invariant(s) across 4 viewport(s).",
  "captured_at": "2026-05-16T16:00:25.505Z",
  "evidence": {
    "version": "riddle-proof.profile-evidence.v1",
    "profile_name": "riddle-site-v402-llms-agent-index",
    "target_url": "https://riddledc.com/llms.txt",
    "baseline_policy": "invariant_only",
    "captured_at": "2026-05-16T16:00:25.505Z",
    "viewports": [
      {
        "name": "desktop",
        "width": 1280,
        "height": 900,
        "url": "https://riddledc.com/llms.txt",
        "route": {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 566,
        "body_text_sample": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Sign Up Log In 404 This page could not be found. Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 1280,
        "client_width": 1280,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {},
        "frames": {},
        "text_sequences": {},
        "text_matches": {},
        "http_statuses": {
          "GET https://riddledc.com/llms.txt": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/llms.txt",
            "method": "GET",
            "status": 404,
            "ok": false,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 800,
            "allowed_content_types": [
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/llms.txt",
            "content_type": "text/html; charset=utf-8",
            "content_length": null,
            "status_text": "Not Found",
            "bytes": 18257,
            "body_sample": "<!DOCTYPE html><!--static--><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"stylesheet\" href=\"/_next/static/css/6e2bd4b720065285.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/728c58170c3bf4f7.css\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/3d4ad74dab870732.css\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-71721976f7360118.js\"/><script src=\"/_next/static/chunks/4bd1b696-43ba64781d20dbb7.js\" async=\"\"></script><script src=\"/_next/static/chunks/3794-f203f277ecc271c5.js\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-5737d578e9b2f2d2.js\" async=\"\"></script><script src=\"/_next/static/chunks/8500-27e7d9770d119ae1.js\" async=\"\"></script><script src=\"/_next/static/chunks/9304-8bcbccced38d408e.js\" async=\"\"></script><script src=\"/_next/static/chunks/8-81a5394369ea0885.js\" async=\"\"></scri",
            "body_contains": {
              "# Riddle": false,
              "Hosted browser automation, Preview, and proof artifacts for AI agents.": false,
              "https://riddledc.com/docs/markdown.md": false,
              "https://riddledc.com/docs/riddle-proof/markdown.md": false,
              "https://riddledc.com/docs/preview/markdown.md": false,
              "https://riddledc.com/mcp/markdown.md": false,
              "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml": false,
              "https://riddledc.com/proof/good-catches/": false
            },
            "body_not_contains": {
              "404": true,
              "This page could not be found": true
            }
          },
          "GET https://riddledc.com/docs/markdown.md": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/docs/markdown.md",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 1000,
            "allowed_content_types": [
              "text/markdown",
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/docs/markdown.md",
            "content_type": "text/markdown",
            "content_length": 17475,
            "status_text": "OK",
            "bytes": 17475,
            "body_sample": "# API Documentation\n\nOne endpoint: `/v1/run`. Send Playwright scripts or JSON, get screenshots. Sync by default.\n\nGPT Actions OpenAPI:\n[/riddledc-actions-openapi.yaml](/riddledc-actions-openapi.yaml)\n(\n[JSON](/riddledc-actions-openapi.json)\n,\n[.well-known](/.well-known/riddledc-actions-openapi.yaml)\n)\n\nNew to Riddle? Start with [Script Mode](#script-mode) - write Playwright, send it to our API, get results. For simpler jobs, use [URL mode](#url-mode) or [Steps mode](#steps-mode).\n\n## Quick Start\n\n### Your First Screenshot\n\n```\ncurl -X POST \"https://api.riddledc.com/v1/run\" \\\\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\\\n  -H \"Content-Type: application/json\" \\\\\n  -d '{\"url\": \"https://example.com\"}' \\\\\n  -o screenshot.png\n```\n\nGet your API key from [your dashboard](/dashboard). PNG bytes returned directly.\n\n### Create Account\n\n[Sign up](/register)\n\n### Get API Key\n\n[Dashboard](/dashboard)\n\n### Make Request\n\nSee examples below\n\n## Guides\n\n- [Riddle Proof](/docs/riddle-proof): evidence-bac",
            "body_contains": {
              "One endpoint: `/v1/run`. Send Playwright scripts or JSON, get screenshots. Sync by default.": true,
              "### Script Mode (Recommended)": true
            }
          },
          "GET https://riddledc.com/docs/riddle-proof/markdown.md": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/docs/riddle-proof/markdown.md",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 1000,
            "allowed_content_types": [
              "text/markdown",
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/docs/riddle-proof/markdown.md",
            "content_type": "text/markdown",
            "content_length": 16044,
            "status_text": "OK",
            "bytes": 16044,
            "body_sample": "# Riddle Proof\n\nEvidence-backed workflows for agent-authored browser changes.\n\nPlain text for agents: https://riddledc.com/docs/riddle-proof/markdown.md\n\n## What It Is\n\nRiddle Proof is a workflow for turning an agent's code change into inspectable evidence. It runs the actual app in a browser, exercises the behavior that matters, captures artifacts, and records whether the change met the stated proof criteria.\n\nBuild output and unit tests are still important, but they do not prove that a user-facing browser flow works. Riddle Proof fills that gap with real previews, screenshots, JSON artifacts, console output, diagnostics, and ship gates.\n\nThe contract is agent-agnostic: use it from Codex, Claude Code, OpenClaw, CI, or any workflow that can run a browser proof script and preserve the resulting evidence.\n\nShort version: bring your agent; Riddle brings the proof.\n\n## When To Use It\n\nUse Riddle Proof when correctness depends on the browser, a running server, generated assets, timing, layo",
            "body_contains": {
              "# Riddle Proof": true,
              "The contract is agent-agnostic": true,
              "Short version: bring your agent; Riddle brings the proof.": true
            }
          },
          "GET https://riddledc.com/docs/preview/markdown.md": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/docs/preview/markdown.md",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 1000,
            "allowed_content_types": [
              "text/markdown",
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/docs/preview/markdown.md",
            "content_type": "text/markdown",
            "content_length": 8202,
            "status_text": "OK",
            "bytes": 8202,
            "body_sample": "# Preview Tools\n\nDeploy any app to an ephemeral URL, screenshot it, and compare changes.\n\nPlain text for agents: https://riddledc.com/docs/preview/markdown.md\n\n## Which Tool Should I Use?\n\nPick the preview mode based on what must run in Riddle, not based on the framework name.\n\n| Mode | Use When | Avoid When |\n| --- | --- | --- |\n| `riddle_preview` | You already have a static output directory such as `dist`, `build`, or `out`. | The app needs a live backend, SSR process, websocket server, or runtime filesystem writes. |\n| `riddle_server_preview` | A server must run from uploaded files using a stock Docker image such as `node:22-slim`. | The app is just static files. Build locally and use `riddle_preview` instead. |\n| `riddle_build_preview` | The project has a Dockerfile or needs custom system packages, native dependencies, or a reproducible image. | You only need to serve static output or run a simple command in a stock image. |\n\nRule of thumb: static output gets static preview; server",
            "body_contains": {
              "# Preview Tools": true,
              "Static preview deploys built files": true,
              "server preview": true
            }
          },
          "GET https://riddledc.com/mcp/markdown.md": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/mcp/markdown.md",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 1000,
            "allowed_content_types": [
              "text/markdown",
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/mcp/markdown.md",
            "content_type": "text/markdown",
            "content_length": 3437,
            "status_text": "OK",
            "bytes": 3437,
            "body_sample": "# Riddle MCP\n\nRiddle MCP exposes browser automation tools to AI agents in a standard MCP tool interface.\nIt supports two modes with the same tool set: Hosted MCP (gateway) and Local MCP (direct).\n\n## Hosted MCP (Gateway)\nHosted MCP supports either your Riddle login token (JWT) or an API key. JWTs expire; API keys do not.\n\nInstall from npm:\n\n```bash\nnpm install @riddledc/riddle-mcp\n```\n\nMCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"riddle\": {\n      \"command\": \"npx\",\n      \"args\": [\"riddle-mcp\"],\n      \"env\": {\n        \"RIDDLE_MCP_GATEWAY_URL\": \"https://api.riddledc.com\",\n        \"RIDDLE_AUTH_TOKEN\": \"your_login_token_here\"\n      }\n    }\n  }\n}\n```\n\nHosted config with API key:\n\n```json\n{\n  \"mcpServers\": {\n    \"riddle\": {\n      \"command\": \"npx\",\n      \"args\": [\"riddle-mcp\"],\n      \"env\": {\n        \"RIDDLE_MCP_GATEWAY_URL\": \"https://api.riddledc.com\",\n        \"RIDDLE_API_KEY\": \"rdc_live_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nList tools (no auth required):\n\n```bash\ncurl -sS https://api.ridd",
            "body_contains": {
              "# Riddle MCP": true,
              "Hosted MCP": true,
              "riddle_screenshot": true
            }
          },
          "GET https://riddledc.com/.well-known/riddledc-actions-openapi.yaml": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 1000,
            "allowed_content_types": [
              "application/yaml",
              "application/x-yaml",
              "text/yaml",
              "text/x-yaml",
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
            "content_type": "text/x-yaml",
            "content_length": 5958,
            "status_text": "OK",
            "bytes": 5958,
            "body_sample": "openapi: 3.1.0\ninfo:\n  title: Riddle Actions API\n  version: 1.0.0\nservers:\n  - url: https://api.riddledc.com\npaths:\n  /v1/run/actions:\n    post:\n      operationId: runActions\n      summary: Run a browser job (Actions-safe)\n      security:\n        - bearerAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/RunActionsRequest'\n      responses:\n        '202':\n          description: Job accepted\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResponse'\n        '400':\n          description: Bad request\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResponse'\n        '401':\n          description: Unauthorized\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/RunActionsResp",
            "body_contains": {
              "openapi: 3.1.0": true,
              "operationId: runActions": true,
              "/v1/jobs/{job_id}": true
            }
          },
          "GET https://riddledc.com/robots.txt": {
            "version": "riddle-proof.http-status.v1",
            "url": "https://riddledc.com/robots.txt",
            "method": "GET",
            "status": 200,
            "ok": true,
            "error": null,
            "request_body_bytes": 0,
            "allowed_statuses": [
              200
            ],
            "require_nonzero_bytes": false,
            "min_bytes": 20,
            "allowed_content_types": [
              "text/plain"
            ],
            "redirected": false,
            "final_url": "https://riddledc.com/robots.txt",
            "content_type": "text/plain",
            "content_length": 66,
            "status_text": "OK",
            "bytes": 66,
            "body_sample": "User-agent: *\nAllow: /\n\nSitemap: https://riddledc.com/sitemap.xml\n",
            "body_contains": {
              "User-agent: *": true,
              "Allow: /": true,
              "Sitemap: https://riddledc.com/sitemap.xml": true
            },
            "body_not_contains": {
              "Disallow: /llms.txt": false
            }
          }
        },
        "link_statuses": {},
        "setup_action_results": [],
        "screenshot_label": "riddle-site-v402-llms-agent-index-desktop"
      },
      {
        "name": "phone",
        "width": 390,
        "height": 844,
        "url": "https://riddledc.com/llms.txt",
        "route": {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 512,
        "body_text_sample": "Skip to main content Riddle 404 This page could not be found. Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 390,
        "client_width": 390,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {},
        "frames": {},
        "text_sequences": {},
        "text_matches": {},
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [],
        "screenshot_label": "riddle-site-v402-llms-agent-index-phone"
      },
      {
        "name": "ipad-mini",
        "width": 768,
        "height": 1024,
        "url": "https://riddledc.com/llms.txt",
        "route": {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 512,
        "body_text_sample": "Skip to main content Riddle 404 This page could not be found. Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 768,
        "client_width": 768,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {},
        "frames": {},
        "text_sequences": {},
        "text_matches": {},
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [],
        "screenshot_label": "riddle-site-v402-llms-agent-index-ipad-mini"
      },
      {
        "name": "ipad",
        "width": 820,
        "height": 1180,
        "url": "https://riddledc.com/llms.txt",
        "route": {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 512,
        "body_text_sample": "Skip to main content Riddle 404 This page could not be found. Riddle Distributed Computing Product Riddle Proof Good Catch Diary Pricing Maximize Value Documentation MCP Recipes Playground Use Cases AI Agents Agent Guide Serverless Authenticated Pages vs Self-Hosted Blog Evidence Over Summaries Frontend Dev Without a Browser E2E Testing Tips Chatty Agents (Part I) Batching Heuristics (Part II) Vision Agents Teaching AI to Ski Support FAQ Status Contact Legal Terms Privacy © 2026 Riddle. All rights reserved.",
        "scroll_width": 820,
        "client_width": 820,
        "overflow_px": 0,
        "bounds_overflow_px": 0,
        "overflow_offenders": [],
        "selectors": {},
        "frames": {},
        "text_sequences": {},
        "text_matches": {},
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [],
        "screenshot_label": "riddle-site-v402-llms-agent-index-ipad"
      }
    ],
    "console": {
      "events": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 404 ()",
          "location": {
            "url": "https://riddledc.com/llms.txt",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 404 ()",
          "location": {
            "url": "https://riddledc.com/llms.txt",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 404 ()",
          "location": {
            "url": "https://riddledc.com/llms.txt",
            "lineNumber": 0,
            "columnNumber": 0
          }
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 404 ()",
          "location": {
            "url": "https://riddledc.com/llms.txt",
            "lineNumber": 0,
            "columnNumber": 0
          }
        }
      ],
      "fatal_count": 4
    },
    "page_errors": [],
    "dialogs": [],
    "network_mocks": [],
    "dom_summary": {
      "expected_viewport_count": 4,
      "viewport_count": 4,
      "partial": false,
      "routes": [
        {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        },
        {
          "requested": "https://riddledc.com/llms.txt",
          "observed": "/llms.txt",
          "expected_path": "/llms.txt",
          "matched": true,
          "http_status": 404
        }
      ],
      "titles": [
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "Riddle Distributed Computing - Hosted Execution for AI Agents"
      ],
      "overflow_px": [
        0,
        0,
        0,
        0
      ],
      "bounds_overflow_px": [
        0,
        0,
        0,
        0
      ],
      "overflow_offender_counts": [
        0,
        0,
        0,
        0
      ],
      "frames": [
        {
          "viewport": "desktop",
          "selectors": []
        },
        {
          "viewport": "phone",
          "selectors": []
        },
        {
          "viewport": "ipad-mini",
          "selectors": []
        },
        {
          "viewport": "ipad",
          "selectors": []
        }
      ],
      "http_status": [
        {
          "viewport": "desktop",
          "requests": [
            {
              "key": "GET https://riddledc.com/llms.txt",
              "url": "https://riddledc.com/llms.txt",
              "method": "GET",
              "status": 404,
              "ok": false,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/docs/markdown.md",
              "url": "https://riddledc.com/docs/markdown.md",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/docs/riddle-proof/markdown.md",
              "url": "https://riddledc.com/docs/riddle-proof/markdown.md",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/docs/preview/markdown.md",
              "url": "https://riddledc.com/docs/preview/markdown.md",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/mcp/markdown.md",
              "url": "https://riddledc.com/mcp/markdown.md",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
              "url": "https://riddledc.com/.well-known/riddledc-actions-openapi.yaml",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            },
            {
              "key": "GET https://riddledc.com/robots.txt",
              "url": "https://riddledc.com/robots.txt",
              "method": "GET",
              "status": 200,
              "ok": true,
              "error": null
            }
          ]
        }
      ],
      "link_status": [],
      "route_inventory": [],
      "network_mock_count": 0,
      "network_mock_hit_count": 0,
      "dialog_count": 0,
      "dialog_accept_count": 0,
      "dialog_dismiss_count": 0
    }
  },
  "riddle": {
    "job_id": "job_8fc84c72",
    "status": "completed",
    "terminal": true
  }
}
