{
  "version": "riddle-proof.profile-result.v1",
  "profile_name": "riddle-site-v556-dashboard-recent-jobs-retry-affordance",
  "runner": "riddle",
  "status": "passed",
  "baseline_policy": "invariant_only",
  "route": {
    "requested": "https://riddledc.com/dashboard/",
    "observed": "/dashboard/",
    "expected_path": "/dashboard/",
    "matched": true,
    "http_status": 200
  },
  "artifacts": {
    "screenshots": [
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-desktop",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-desktop-dashboard-recent-jobs-retry-affordance",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-phone",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-phone-dashboard-recent-jobs-retry-affordance",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-mini",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-mini-dashboard-recent-jobs-retry-affordance",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad",
      "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-dashboard-recent-jobs-retry-affordance"
    ],
    "console": "console.json",
    "proof_json": "proof.json",
    "dom_summary": "dom-summary.json"
  },
  "checks": [
    {
      "type": "network_mocks_succeeded",
      "label": "network mocks succeeded",
      "status": "passed",
      "evidence": {
        "mock_count": 3,
        "required_count": 3,
        "hit_count": 21,
        "hits_by_label": {
          "dashboard-balance-v556": 7,
          "dashboard-jobs-v556-unavailable": 7,
          "dashboard-api-keys-v556": 7
        },
        "required_hits_by_label": {
          "dashboard-balance-v556": 4,
          "dashboard-jobs-v556-unavailable": 4,
          "dashboard-api-keys-v556": 4
        },
        "max_hits_by_label": {},
        "response_hits_by_label": {},
        "failed": []
      }
    },
    {
      "type": "setup_actions_succeeded",
      "label": "setup actions succeeded",
      "status": "passed",
      "evidence": {
        "action_count": 12,
        "viewports": [
          {
            "name": "desktop",
            "expected_action_count": 12,
            "ok": true,
            "result_count": 12
          },
          {
            "name": "phone",
            "expected_action_count": 12,
            "ok": true,
            "result_count": 12
          },
          {
            "name": "ipad-mini",
            "expected_action_count": 12,
            "ok": true,
            "result_count": 12
          },
          {
            "name": "ipad",
            "expected_action_count": 12,
            "ok": true,
            "result_count": 12
          }
        ],
        "setup_summary": {
          "viewport_count": 4,
          "action_count": 12,
          "viewports": [
            {
              "name": "desktop",
              "expected_action_count": 12,
              "ok": true,
              "result_count": 12,
              "observed_path": "/dashboard/",
              "final_url": "https://riddledc.com/dashboard/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 1,
                "wait_for_text": 3,
                "clear_console": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v556-dashboard-recent-jobs-retry-affordance-desktop-dashboard-recent-jobs-retry-affordance"
              ],
              "clicked_total": 0,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [],
              "text_samples": [
                {
                  "ordinal": 7,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser T... (516 chars)"
                },
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser T... (516 chars)"
                },
                {
                  "ordinal": 9,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser T... (516 chars)"
                }
              ],
              "failed": [],
              "optional_failed": []
            },
            {
              "name": "phone",
              "expected_action_count": 12,
              "ok": true,
              "result_count": 12,
              "observed_path": "/dashboard/",
              "final_url": "https://riddledc.com/dashboard/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 1,
                "wait_for_text": 3,
                "clear_console": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v556-dashboard-recent-jobs-retry-affordance-phone-dashboard-recent-jobs-retry-affordance"
              ],
              "clicked_total": 0,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [],
              "text_samples": [
                {
                  "ordinal": 7,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 9,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                }
              ],
              "failed": [],
              "optional_failed": []
            },
            {
              "name": "ipad-mini",
              "expected_action_count": 12,
              "ok": true,
              "result_count": 12,
              "observed_path": "/dashboard/",
              "final_url": "https://riddledc.com/dashboard/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 1,
                "wait_for_text": 3,
                "clear_console": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-mini-dashboard-recent-jobs-retry-affordance"
              ],
              "clicked_total": 0,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [],
              "text_samples": [
                {
                  "ordinal": 7,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 9,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                }
              ],
              "failed": [],
              "optional_failed": []
            },
            {
              "name": "ipad",
              "expected_action_count": 12,
              "ok": true,
              "result_count": 12,
              "observed_path": "/dashboard/",
              "final_url": "https://riddledc.com/dashboard/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 1,
                "wait_for_text": 3,
                "clear_console": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-dashboard-recent-jobs-retry-affordance"
              ],
              "clicked_total": 0,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [],
              "text_samples": [
                {
                  "ordinal": 7,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                },
                {
                  "ordinal": 9,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s... (516 chars)"
                }
              ],
              "failed": [],
              "optional_failed": []
            }
          ]
        },
        "failed": []
      }
    },
    {
      "type": "route_loaded",
      "label": "route_loaded",
      "status": "passed",
      "evidence": {
        "expected_path": "/dashboard/",
        "observed_paths": [
          "/dashboard/",
          "/dashboard/",
          "/dashboard/",
          "/dashboard/"
        ],
        "http_statuses": [
          200,
          200,
          200,
          200
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".dashboard-content",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".recent-jobs-section",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".api-keys-list",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Dashboard",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Browser Time Balance",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "2h 55m",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "1 active",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Recent Jobs",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Recent jobs unavailable. Please try again.",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".recent-jobs-section .jobs-retry-button",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_text_visible",
      "label": "selector_text_visible",
      "status": "passed",
      "evidence": {
        "selector": ".recent-jobs-section",
        "text": "Retry recent jobs",
        "pattern": null,
        "viewports": [
          {
            "viewport": "desktop",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          },
          {
            "viewport": "phone",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          },
          {
            "viewport": "ipad-mini",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          },
          {
            "viewport": "ipad",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          }
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "API Keys",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Riddle Proof v556 existing key",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "No jobs yet",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "Synthetic v556 recent jobs retry outage",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "recent_jobs_retry_affordance_unavailable",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "[object Object]",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "Application error",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".jobs-list tbody tr",
        "expected_count": 0,
        "counts": [
          0,
          0,
          0,
          0
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".recent-jobs-section .dashboard-inline-error",
        "expected_count": 1,
        "counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".api-keys-list tbody tr",
        "expected_count": 1,
        "counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "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": "passed",
      "evidence": {
        "console_fatal_count": 0,
        "page_error_count": 0,
        "total_console_fatal_count": 1,
        "total_page_error_count": 0,
        "allowed_console_fatal_count": 1,
        "explicitly_allowed_console_fatal_count": 1,
        "allowed_expected_network_mock_console_count": 0,
        "allowed_expected_network_mock_console_events": [],
        "allowed_page_error_count": 0,
        "allowed_console_texts": [],
        "allowed_console_patterns": [
          "Failed to load resource: the server responded with a status of 503"
        ],
        "allowed_page_error_texts": [],
        "allowed_page_error_patterns": []
      }
    },
    {
      "type": "no_console_warnings",
      "label": "no_console_warnings",
      "status": "passed",
      "evidence": {
        "console_warning_count": 0,
        "total_console_warning_count": 0,
        "allowed_console_warning_count": 0,
        "allowed_console_texts": [],
        "allowed_console_patterns": [
          "Failed to load resource: the server responded with a status of 503"
        ],
        "unallowed_console_warning_samples": [],
        "allowed_console_warning_samples": []
      }
    }
  ],
  "summary": "riddle-site-v556-dashboard-recent-jobs-retry-affordance passed 27 check(s) across 4 viewport(s) (desktop, phone, ipad-mini, ipad).",
  "captured_at": "2026-05-19T04:48:34.935Z",
  "evidence": {
    "version": "riddle-proof.profile-evidence.v1",
    "profile_name": "riddle-site-v556-dashboard-recent-jobs-retry-affordance",
    "target_url": "https://riddledc.com/dashboard/",
    "baseline_policy": "invariant_only",
    "captured_at": "2026-05-19T04:48:34.935Z",
    "viewports": [
      {
        "name": "desktop",
        "width": 1280,
        "height": 900,
        "url": "https://riddledc.com/dashboard/",
        "route": {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1700,
        "body_text_sample": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Never Active Revoke MCP Login Token MCP setup Use this short-lived login token for hosted MCP. It expires in about 1 hour. •••••••••••••••••••••••••••••••••••••••• Reveal Copy token Never share this token. Anyone with it can run jobs on your account. Quick Actions Test Playground Try the APIs and generate code API Documentation Integration guides and reference Buy Credits Add browser time to your account Optimize Costs Batch to get <$0.001 per screenshot Use Case Guides AI Agents Vision for LLMs, cookie injection Serverless Lambda, Vercel, Cloudflare Workers Authenticated Pages Screenshots behind login Pricing Details Cost breakdown and examples 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": {
          ".dashboard-content": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section .jobs-retry-button": {
            "count": 1,
            "visible_count": 1
          },
          ".jobs-list tbody tr": {
            "count": 0,
            "visible_count": 0
          },
          ".recent-jobs-section .dashboard-inline-error": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list tbody tr": {
            "count": 1,
            "visible_count": 1
          }
        },
        "frames": {},
        "text_sequences": {
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          }
        },
        "text_matches": {
          "text:Dashboard": true,
          "text:Browser Time Balance": true,
          "text:2h 55m": true,
          "text:1 active": true,
          "text:Recent Jobs": true,
          "text:Recent jobs unavailable. Please try again.": true,
          "text:API Keys": true,
          "text:Riddle Proof v556 existing key": true,
          "text:No jobs yet": false,
          "text:Synthetic v556 recent jobs retry outage": false,
          "text:recent_jobs_retry_affordance_unavailable": false,
          "text:[object Object]": false,
          "text:Application error": false
        },
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 27,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.idToken",
            "value_length": 382,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.accessToken",
            "value_length": 360,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".dashboard-content",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 7,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 9,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp469-dashboard@example.com Sign Out Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 10,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 1,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 11,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "dashboard-recent-jobs-retry-affordance",
            "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-desktop-dashboard-recent-jobs-retry-affordance"
          }
        ],
        "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-desktop"
      },
      {
        "name": "phone",
        "width": 390,
        "height": 844,
        "url": "https://riddledc.com/dashboard/",
        "route": {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1602,
        "body_text_sample": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Never Active Revoke MCP Login Token MCP setup Use this short-lived login token for hosted MCP. It expires in about 1 hour. •••••••••••••••••••••••••••••••••••••••• Reveal Copy token Never share this token. Anyone with it can run jobs on your account. Quick Actions Test Playground Try the APIs and generate code API Documentation Integration guides and reference Buy Credits Add browser time to your account Optimize Costs Batch to get <$0.001 per screenshot Use Case Guides AI Agents Vision for LLMs, cookie injection Serverless Lambda, Vercel, Cloudflare Workers Authenticated Pages Screenshots behind login Pricing Details Cost breakdown and examples 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": {
          ".dashboard-content": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section .jobs-retry-button": {
            "count": 1,
            "visible_count": 1
          },
          ".jobs-list tbody tr": {
            "count": 0,
            "visible_count": 0
          },
          ".recent-jobs-section .dashboard-inline-error": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list tbody tr": {
            "count": 1,
            "visible_count": 1
          }
        },
        "frames": {},
        "text_sequences": {
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          }
        },
        "text_matches": {
          "text:Dashboard": true,
          "text:Browser Time Balance": true,
          "text:2h 55m": true,
          "text:1 active": true,
          "text:Recent Jobs": true,
          "text:Recent jobs unavailable. Please try again.": true,
          "text:API Keys": true,
          "text:Riddle Proof v556 existing key": true,
          "text:No jobs yet": false,
          "text:Synthetic v556 recent jobs retry outage": false,
          "text:recent_jobs_retry_affordance_unavailable": false,
          "text:[object Object]": false,
          "text:Application error": false
        },
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 27,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.idToken",
            "value_length": 382,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.accessToken",
            "value_length": 360,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".dashboard-content",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 7,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 9,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 10,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 3,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 11,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "dashboard-recent-jobs-retry-affordance",
            "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-phone-dashboard-recent-jobs-retry-affordance"
          }
        ],
        "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-phone"
      },
      {
        "name": "ipad-mini",
        "width": 768,
        "height": 1024,
        "url": "https://riddledc.com/dashboard/",
        "route": {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1602,
        "body_text_sample": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Never Active Revoke MCP Login Token MCP setup Use this short-lived login token for hosted MCP. It expires in about 1 hour. •••••••••••••••••••••••••••••••••••••••• Reveal Copy token Never share this token. Anyone with it can run jobs on your account. Quick Actions Test Playground Try the APIs and generate code API Documentation Integration guides and reference Buy Credits Add browser time to your account Optimize Costs Batch to get <$0.001 per screenshot Use Case Guides AI Agents Vision for LLMs, cookie injection Serverless Lambda, Vercel, Cloudflare Workers Authenticated Pages Screenshots behind login Pricing Details Cost breakdown and examples 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": {
          ".dashboard-content": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section .jobs-retry-button": {
            "count": 1,
            "visible_count": 1
          },
          ".jobs-list tbody tr": {
            "count": 0,
            "visible_count": 0
          },
          ".recent-jobs-section .dashboard-inline-error": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list tbody tr": {
            "count": 1,
            "visible_count": 1
          }
        },
        "frames": {},
        "text_sequences": {
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          }
        },
        "text_matches": {
          "text:Dashboard": true,
          "text:Browser Time Balance": true,
          "text:2h 55m": true,
          "text:1 active": true,
          "text:Recent Jobs": true,
          "text:Recent jobs unavailable. Please try again.": true,
          "text:API Keys": true,
          "text:Riddle Proof v556 existing key": true,
          "text:No jobs yet": false,
          "text:Synthetic v556 recent jobs retry outage": false,
          "text:recent_jobs_retry_affordance_unavailable": false,
          "text:[object Object]": false,
          "text:Application error": false
        },
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 27,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.idToken",
            "value_length": 382,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.accessToken",
            "value_length": 360,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".dashboard-content",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 7,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 9,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 10,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 3,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 11,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "dashboard-recent-jobs-retry-affordance",
            "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-mini-dashboard-recent-jobs-retry-affordance"
          }
        ],
        "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-mini"
      },
      {
        "name": "ipad",
        "width": 820,
        "height": 1180,
        "url": "https://riddledc.com/dashboard/",
        "route": {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1602,
        "body_text_sample": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Never Active Revoke MCP Login Token MCP setup Use this short-lived login token for hosted MCP. It expires in about 1 hour. •••••••••••••••••••••••••••••••••••••••• Reveal Copy token Never share this token. Anyone with it can run jobs on your account. Quick Actions Test Playground Try the APIs and generate code API Documentation Integration guides and reference Buy Credits Add browser time to your account Optimize Costs Batch to get <$0.001 per screenshot Use Case Guides AI Agents Vision for LLMs, cookie injection Serverless Lambda, Vercel, Cloudflare Workers Authenticated Pages Screenshots behind login Pricing Details Cost breakdown and examples 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": {
          ".dashboard-content": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list": {
            "count": 1,
            "visible_count": 1
          },
          ".recent-jobs-section .jobs-retry-button": {
            "count": 1,
            "visible_count": 1
          },
          ".jobs-list tbody tr": {
            "count": 0,
            "visible_count": 0
          },
          ".recent-jobs-section .dashboard-inline-error": {
            "count": 1,
            "visible_count": 1
          },
          ".api-keys-list tbody tr": {
            "count": 1,
            "visible_count": 1
          }
        },
        "frames": {},
        "text_sequences": {
          ".recent-jobs-section": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ],
            "visible_match_texts": [
              "Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs"
            ]
          }
        },
        "text_matches": {
          "text:Dashboard": true,
          "text:Browser Time Balance": true,
          "text:2h 55m": true,
          "text:1 active": true,
          "text:Recent Jobs": true,
          "text:Recent jobs unavailable. Please try again.": true,
          "text:API Keys": true,
          "text:Riddle Proof v556 existing key": true,
          "text:No jobs yet": false,
          "text:Synthetic v556 recent jobs retry outage": false,
          "text:recent_jobs_retry_affordance_unavailable": false,
          "text:[object Object]": false,
          "text:Application error": false
        },
        "http_statuses": {},
        "link_statuses": {},
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 27,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.idToken",
            "value_length": 382,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.accessToken",
            "value_length": 360,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp469-dashboard@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".dashboard-content",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 7,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 9,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Dashboard Browser Time Balance Available: 2h 55m ~$1.46 Reserved: 3m 0s 1 active Total: 2h 58m ~$1.48 ~350 jobs (30s minimum each) Buy Browser Time Account Summary 2h 55m Browser Time $1.46 Value 1 Active Job Recent Jobs Recent jobs unavailable. Please try again. Retry recent jobs API Keys Use API keys to authenticate requests to the Riddle Browser API Create API Key Name Key Created Last Used Status Actions Riddle Proof v556 existing key rdc_live_•••0556 5/19/2026 Ne... (1602 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 10,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 3,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 11,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "dashboard-recent-jobs-retry-affordance",
            "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad-dashboard-recent-jobs-retry-affordance"
          }
        ],
        "screenshot_label": "riddle-site-v556-dashboard-recent-jobs-retry-affordance-ipad"
      }
    ],
    "console": {
      "events": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)",
          "location": {
            "url": "https://api.riddledc.com/v1/jobs?limit=10",
            "lineNumber": 0,
            "columnNumber": 0
          }
        }
      ],
      "fatal_count": 1
    },
    "page_errors": [],
    "dialogs": [],
    "network_mocks": [
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 0,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 0,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 0,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 1,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 1,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 1,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 2,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 2,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 2,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 3,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 3,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 3,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 4,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 4,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 4,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 5,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 5,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 5,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-balance-v556",
        "response_label": "dashboard-balance-v556",
        "hit_index": 6,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/balance",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "dashboard-jobs-v556-unavailable",
        "response_label": "dashboard-jobs-v556-unavailable",
        "hit_index": 6,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs?limit=10",
        "method": "GET",
        "status": 503
      },
      {
        "ok": true,
        "label": "dashboard-api-keys-v556",
        "response_label": "dashboard-api-keys-v556",
        "hit_index": 6,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/billing/api-keys",
        "method": "GET",
        "status": 200
      }
    ],
    "dom_summary": {
      "expected_viewport_count": 4,
      "viewport_count": 4,
      "partial": false,
      "routes": [
        {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/dashboard/",
          "observed": "/dashboard/",
          "expected_path": "/dashboard/",
          "matched": true,
          "http_status": 200
        }
      ],
      "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": [],
      "link_status": [],
      "route_inventory": [],
      "network_mock_count": 3,
      "network_mock_hit_count": 21,
      "dialog_count": 0,
      "dialog_accept_count": 0,
      "dialog_dismiss_count": 0
    }
  }
}