{
  "version": "riddle-proof.profile-result.v1",
  "profile_name": "riddle-site-v340-playground-workflow-timeout-artifact-message",
  "runner": "riddle",
  "status": "product_regression",
  "baseline_policy": "invariant_only",
  "route": {
    "requested": "https://riddledc.com/playground/",
    "observed": "/playground/",
    "expected_path": "/playground/",
    "matched": true,
    "http_status": 200
  },
  "artifacts": {
    "screenshots": [
      "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-ready",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-artifact-message",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-phone",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-ready",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-artifact-message",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-ready",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-artifact-message",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-ready",
      "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-artifact-message"
    ],
    "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": 2,
        "required_count": 2,
        "hit_count": 8,
        "hits_by_label": {
          "playground-workflow-v340-timeout-submit": 4,
          "playground-workflow-v340-timeout-artifacts": 4
        },
        "required_hits_by_label": {
          "playground-workflow-v340-timeout-submit": 4,
          "playground-workflow-v340-timeout-artifacts": 4
        },
        "max_hits_by_label": {
          "playground-workflow-v340-timeout-submit": 4
        },
        "response_hits_by_label": {},
        "failed": []
      }
    },
    {
      "type": "setup_actions_succeeded",
      "label": "setup actions succeeded",
      "status": "passed",
      "evidence": {
        "action_count": 19,
        "viewports": [
          {
            "name": "desktop",
            "ok": true,
            "result_count": 19
          },
          {
            "name": "phone",
            "ok": true,
            "result_count": 19
          },
          {
            "name": "ipad-mini",
            "ok": true,
            "result_count": 19
          },
          {
            "name": "ipad",
            "ok": true,
            "result_count": 19
          }
        ],
        "setup_summary": {
          "viewport_count": 4,
          "action_count": 19,
          "viewports": [
            {
              "name": "desktop",
              "ok": true,
              "result_count": 19,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 3,
                "assert_text_visible": 1,
                "fill": 1,
                "screenshot": 2
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-ready",
                "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-artifact-message"
              ],
              "clicked_total": 3,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
                  "frame_selector": null,
                  "text": "Workflow"
                },
                {
                  "ordinal": 12,
                  "selector": ".mode-toggle-section .toggle-btn",
                  "frame_selector": null,
                  "text": "Async"
                },
                {
                  "ordinal": 16,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Workflow"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                }
              ],
              "failed": []
            },
            {
              "name": "phone",
              "ok": true,
              "result_count": 19,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 3,
                "assert_text_visible": 1,
                "fill": 1,
                "screenshot": 2
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-ready",
                "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-artifact-message"
              ],
              "clicked_total": 3,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
                  "frame_selector": null,
                  "text": "Workflow"
                },
                {
                  "ordinal": 12,
                  "selector": ".mode-toggle-section .toggle-btn",
                  "frame_selector": null,
                  "text": "Async"
                },
                {
                  "ordinal": 16,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Workflow"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                }
              ],
              "failed": []
            },
            {
              "name": "ipad-mini",
              "ok": true,
              "result_count": 19,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 3,
                "assert_text_visible": 1,
                "fill": 1,
                "screenshot": 2
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-ready",
                "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-artifact-message"
              ],
              "clicked_total": 3,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
                  "frame_selector": null,
                  "text": "Workflow"
                },
                {
                  "ordinal": 12,
                  "selector": ".mode-toggle-section .toggle-btn",
                  "frame_selector": null,
                  "text": "Async"
                },
                {
                  "ordinal": 16,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Workflow"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                }
              ],
              "failed": []
            },
            {
              "name": "ipad",
              "ok": true,
              "result_count": 19,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 2,
                "clear_console": 1,
                "click": 3,
                "assert_text_visible": 1,
                "fill": 1,
                "screenshot": 2
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-ready",
                "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-artifact-message"
              ],
              "clicked_total": 3,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
                  "frame_selector": null,
                  "text": "Workflow"
                },
                {
                  "ordinal": 12,
                  "selector": ".mode-toggle-section .toggle-btn",
                  "frame_selector": null,
                  "text": "Async"
                },
                {
                  "ordinal": 16,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Workflow"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                },
                {
                  "ordinal": 13,
                  "action": "assert_text_visible",
                  "frame_selector": null,
                  "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs an... (517 chars)"
                }
              ],
              "failed": []
            }
          ]
        },
        "failed": []
      }
    },
    {
      "type": "route_loaded",
      "label": "route_loaded",
      "status": "passed",
      "evidence": {
        "expected_path": "/playground/",
        "observed_paths": [
          "/playground/",
          "/playground/",
          "/playground/",
          "/playground/"
        ],
        "http_statuses": [
          200,
          200,
          200,
          200
        ]
      }
    },
    {
      "type": "selector_visible",
      "label": "selector_visible",
      "status": "passed",
      "evidence": {
        "selector": ".playground-page",
        "visible_counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "API Playground",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Result",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Timed Out",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "failed",
      "evidence": {
        "text": "Synthetic v340 workflow timed out waiting for purchase-confirmation",
        "matches": [
          false,
          false,
          false,
          false
        ]
      },
      "message": "Text assertion failed in 4 viewport(s)."
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "rp340-timeout-first",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "No screenshots captured",
        "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": ".timeout-warning",
        "expected_count": 1,
        "counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".screenshots-section .screenshot-item",
        "expected_count": 1,
        "counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".loading-state",
        "expected_count": 0,
        "counts": [
          0,
          0,
          0,
          0
        ]
      }
    },
    {
      "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": 0,
        "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": []
      }
    }
  ],
  "summary": "riddle-site-v340-playground-workflow-timeout-artifact-message failed 1 product invariant(s) across 4 viewport(s).",
  "captured_at": "2026-05-15T16:46:16.479Z",
  "evidence": {
    "version": "riddle-proof.profile-evidence.v1",
    "profile_name": "riddle-site-v340-playground-workflow-timeout-artifact-message",
    "target_url": "https://riddledc.com/playground/",
    "baseline_policy": "invariant_only",
    "captured_at": "2026-05-15T16:46:16.479Z",
    "viewports": [
      {
        "name": "desktop",
        "width": 1280,
        "height": 900,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1679,
        "body_text_sample": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp330-playground@example.com Sign Out API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script Mode: Sync Async All screenshots Example Workflows: Simple Screenshot Multi-Page Flow Pagination Flow Form Fill JSON Steps: JSON array of steps. Available: goto, click, fill, screenshot, waitFor, waitForUrl, etc. See all step types in docs Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes 10 minutes Max time before job stops Run Workflow Result Time: 1.1s Billed: ~30s Cost: ~$0.00417 Timed Out Timeout: Workflow timed out after 120 seconds curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"steps\": [{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}], \"sync\": false, \"timeout_sec\": 120 }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account 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": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 1,
            "visible_count": 1
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Timed Out": true,
          "text:Synthetic v340 workflow timed out waiting for purchase-confirmation": false,
          "text:rp340-timeout-first": true,
          "text:No screenshots captured": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsync28s max, 1 screenshotInclude in response:Console LogsNetwork HARExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm ... (13631 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 12,
            "selector": ".mode-toggle-section .toggle-btn",
            "frame_selector": null,
            "count": 2,
            "target_index": 1,
            "text": "Async"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsyncAll screenshotsExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm FillJSON Steps:[ { \"goto\": \"https://example.com\" ... (13582 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 14,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "value_length": 123
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 15,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-ready",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 16,
            "selector": ".test-button",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Run Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 17,
            "selector": ".timeout-warning",
            "frame_selector": null,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 18,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-artifact-message",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop-workflow-timeout-artifact-message"
          }
        ],
        "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-desktop"
      },
      {
        "name": "phone",
        "width": 390,
        "height": 844,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1580,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script Mode: Sync Async All screenshots Example Workflows: Simple Screenshot Multi-Page Flow Pagination Flow Form Fill JSON Steps: JSON array of steps. Available: goto, click, fill, screenshot, waitFor, waitForUrl, etc. See all step types in docs Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes 10 minutes Max time before job stops Run Workflow Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Timed Out Timeout: Workflow timed out after 120 seconds curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"steps\": [{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}], \"sync\": false, \"timeout_sec\": 120 }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account 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": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 1,
            "visible_count": 1
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Timed Out": true,
          "text:Synthetic v340 workflow timed out waiting for purchase-confirmation": false,
          "text:rp340-timeout-first": true,
          "text:No screenshots captured": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsync28s max, 1 screenshotInclude in response:Console LogsNetwork HARExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm ... (13631 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 12,
            "selector": ".mode-toggle-section .toggle-btn",
            "frame_selector": null,
            "count": 2,
            "target_index": 1,
            "text": "Async"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsyncAll screenshotsExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm FillJSON Steps:[ { \"goto\": \"https://example.com\" ... (13582 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 14,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "value_length": 123
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 15,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-ready",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 16,
            "selector": ".test-button",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Run Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 17,
            "selector": ".timeout-warning",
            "frame_selector": null,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 18,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-artifact-message",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-phone-workflow-timeout-artifact-message"
          }
        ],
        "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-phone"
      },
      {
        "name": "ipad-mini",
        "width": 768,
        "height": 1024,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1580,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script Mode: Sync Async All screenshots Example Workflows: Simple Screenshot Multi-Page Flow Pagination Flow Form Fill JSON Steps: JSON array of steps. Available: goto, click, fill, screenshot, waitFor, waitForUrl, etc. See all step types in docs Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes 10 minutes Max time before job stops Run Workflow Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Timed Out Timeout: Workflow timed out after 120 seconds curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"steps\": [{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}], \"sync\": false, \"timeout_sec\": 120 }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account 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": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 1,
            "visible_count": 1
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Timed Out": true,
          "text:Synthetic v340 workflow timed out waiting for purchase-confirmation": false,
          "text:rp340-timeout-first": true,
          "text:No screenshots captured": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsync28s max, 1 screenshotInclude in response:Console LogsNetwork HARExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm ... (13631 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 12,
            "selector": ".mode-toggle-section .toggle-btn",
            "frame_selector": null,
            "count": 2,
            "target_index": 1,
            "text": "Async"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsyncAll screenshotsExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm FillJSON Steps:[ { \"goto\": \"https://example.com\" ... (13582 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 14,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "value_length": 123
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 15,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-ready",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 16,
            "selector": ".test-button",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Run Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 17,
            "selector": ".timeout-warning",
            "frame_selector": null,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 18,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-artifact-message",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini-workflow-timeout-artifact-message"
          }
        ],
        "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-mini"
      },
      {
        "name": "ipad",
        "width": 820,
        "height": 1180,
        "url": "https://riddledc.com/playground/",
        "route": {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        "title": "Riddle Distributed Computing - Hosted Execution for AI Agents",
        "body_text_length": 1580,
        "body_text_sample": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.004 per job). View pricing | Optimize costs Full Documentation•For AI Agents•Authenticated Pages Screenshot Batch Workflow Script Mode: Sync Async All screenshots Example Workflows: Simple Screenshot Multi-Page Flow Pagination Flow Form Fill JSON Steps: JSON array of steps. Available: goto, click, fill, screenshot, waitFor, waitForUrl, etc. See all step types in docs Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes 10 minutes Max time before job stops Run Workflow Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Timed Out Timeout: Workflow timed out after 120 seconds curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"steps\": [{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}], \"sync\": false, \"timeout_sec\": 120 }' Next Steps Full API Documentation Optimize Costs with Batching Manage Your Account 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": {
          ".playground-page": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".screenshots-section .screenshot-item": {
            "count": 1,
            "visible_count": 1
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {},
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Timed Out": true,
          "text:Synthetic v340 workflow timed out waiting for purchase-confirmation": false,
          "text:rp340-timeout-first": true,
          "text:No screenshots captured": false,
          "text:Application error": false
        },
        "setup_action_results": [
          {
            "ok": true,
            "action": "clear_storage",
            "ordinal": 0,
            "selector": null,
            "frame_selector": null,
            "storage": "both",
            "reload": true
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 1,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.LastAuthUser",
            "value_length": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.refreshToken",
            "value_length": 19,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 5,
            "selector": null,
            "frame_selector": null,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp340-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptURL to Screenshot:Options:Full PageMobile View (375x667)Include in response:Console LogsNetwork HARGet debugging artifacts with your screenshotTimeo... (13465 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(3)",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsync28s max, 1 screenshotInclude in response:Console LogsNetwork HARExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm ... (13631 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 12,
            "selector": ".mode-toggle-section .toggle-btn",
            "frame_selector": null,
            "count": 2,
            "target_index": 1,
            "text": "Async"
          },
          {
            "ok": true,
            "action": "assert_text_visible",
            "ordinal": 13,
            "selector": "body",
            "frame_selector": null,
            "count": 1,
            "text": "Skip to main contentRiddleDocsProofMCPPricingBlogPlaygroundDashboardBuy Creditsrp330-playground@example.comSign OutAPI PlaygroundTest the APIs and generate integration code for your applicationEach request uses 30s minimum (~$0.004 per job). View pricing | Optimize costsFull Documentation•For AI Agents•Authenticated PagesScreenshotBatchWorkflowScriptMode:SyncAsyncAll screenshotsExample Workflows:Simple ScreenshotMulti-Page FlowPagination FlowForm FillJSON Steps:[ { \"goto\": \"https://example.com\" ... (13582 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 14,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "value_length": 123
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 15,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-ready",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 16,
            "selector": ".test-button",
            "frame_selector": null,
            "count": 1,
            "target_index": 0,
            "text": "Run Workflow"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 17,
            "selector": ".timeout-warning",
            "frame_selector": null,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 18,
            "selector": null,
            "frame_selector": null,
            "label": "workflow-timeout-artifact-message",
            "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad-workflow-timeout-artifact-message"
          }
        ],
        "screenshot_label": "riddle-site-v340-playground-workflow-timeout-artifact-message-ipad"
      }
    ],
    "console": {
      "events": [],
      "fatal_count": 0
    },
    "page_errors": [],
    "dialogs": [],
    "network_mocks": [
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-submit",
        "response_label": "playground-workflow-v340-timeout-submit",
        "hit_index": 0,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 164,
        "request_body_sample": "{\"steps\":[{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}],\"timeout_sec\":120,\"sync\":false}"
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-artifacts",
        "response_label": "playground-workflow-v340-timeout-artifacts",
        "hit_index": 0,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp340_timeout/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-submit",
        "response_label": "playground-workflow-v340-timeout-submit",
        "hit_index": 1,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 164,
        "request_body_sample": "{\"steps\":[{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}],\"timeout_sec\":120,\"sync\":false}"
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-artifacts",
        "response_label": "playground-workflow-v340-timeout-artifacts",
        "hit_index": 1,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp340_timeout/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-submit",
        "response_label": "playground-workflow-v340-timeout-submit",
        "hit_index": 2,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 164,
        "request_body_sample": "{\"steps\":[{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}],\"timeout_sec\":120,\"sync\":false}"
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-artifacts",
        "response_label": "playground-workflow-v340-timeout-artifacts",
        "hit_index": 2,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp340_timeout/artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-submit",
        "response_label": "playground-workflow-v340-timeout-submit",
        "hit_index": 3,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/run",
        "method": "POST",
        "status": 200,
        "request_body_matches": true,
        "request_body_failures": [],
        "request_body_length": 164,
        "request_body_sample": "{\"steps\":[{\"goto\":\"https://example.com\"},{\"screenshot\":\"rp340-timeout-first\"},{\"click\":\"text=purchase-confirmation\",\"timeout\":1000}],\"timeout_sec\":120,\"sync\":false}"
      },
      {
        "ok": true,
        "label": "playground-workflow-v340-timeout-artifacts",
        "response_label": "playground-workflow-v340-timeout-artifacts",
        "hit_index": 3,
        "response_index": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp340_timeout/artifacts",
        "method": "GET",
        "status": 200
      }
    ],
    "dom_summary": {
      "expected_viewport_count": 4,
      "viewport_count": 4,
      "partial": false,
      "routes": [
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "matched": true,
          "http_status": 200
        },
        {
          "requested": "https://riddledc.com/playground/",
          "observed": "/playground/",
          "expected_path": "/playground/",
          "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": []
        }
      ],
      "route_inventory": [],
      "network_mock_count": 2,
      "network_mock_hit_count": 8,
      "dialog_count": 0,
      "dialog_accept_count": 0,
      "dialog_dismiss_count": 0
    }
  }
}