{
  "version": "riddle-proof.profile-result.v1",
  "profile_name": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results",
  "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-v529-playground-batch-failed-secondary-only-partial-results-desktop",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-desktop-batch-failed-secondary-only-ready",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-phone",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-phone-batch-failed-secondary-only-ready",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-mini",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-mini-batch-failed-secondary-only-ready",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad",
      "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-batch-failed-secondary-only-ready"
    ],
    "console": "console.json",
    "proof_json": "proof.json",
    "dom_summary": "dom-summary.json"
  },
  "checks": [
    {
      "type": "network_mocks_succeeded",
      "label": "network mocks succeeded",
      "status": "failed",
      "evidence": {
        "mock_count": 5,
        "required_count": 4,
        "hit_count": 8,
        "hits_by_label": {
          "playground-batch-v529-submit-failed-secondary-only": 4,
          "playground-batch-v529-custom-artifacts": 4,
          "playground-batch-v529-valid-console-artifact": 0,
          "playground-batch-v529-valid-har-artifact": 0,
          "playground-batch-v529-forbidden-default-artifacts-url": 0
        },
        "required_hits_by_label": {
          "playground-batch-v529-submit-failed-secondary-only": 4,
          "playground-batch-v529-custom-artifacts": 4,
          "playground-batch-v529-valid-console-artifact": 4,
          "playground-batch-v529-valid-har-artifact": 4
        },
        "max_hits_by_label": {
          "playground-batch-v529-submit-failed-secondary-only": 4,
          "playground-batch-v529-custom-artifacts": 4,
          "playground-batch-v529-valid-console-artifact": 4,
          "playground-batch-v529-valid-har-artifact": 4,
          "playground-batch-v529-forbidden-default-artifacts-url": 0
        },
        "response_hits_by_label": {},
        "failed": [
          {
            "label": "playground-batch-v529-valid-console-artifact",
            "url": "**/v1/jobs/job_rp529_batch_failed_secondary_only/valid-console.json",
            "method": "GET",
            "reason": "required_mock_not_hit",
            "required_hit_count": 4,
            "hit_count": 0
          },
          {
            "label": "playground-batch-v529-valid-har-artifact",
            "url": "**/v1/jobs/job_rp529_batch_failed_secondary_only/valid-network.har",
            "method": "GET",
            "reason": "required_mock_not_hit",
            "required_hit_count": 4,
            "hit_count": 0
          }
        ]
      },
      "message": "Network mocks failed or hit-count contracts failed for 2 mock(s)."
    },
    {
      "type": "setup_actions_succeeded",
      "label": "setup actions succeeded",
      "status": "failed",
      "evidence": {
        "action_count": 30,
        "viewports": [
          {
            "name": "desktop",
            "expected_action_count": 30,
            "ok": false,
            "result_count": 18
          },
          {
            "name": "phone",
            "expected_action_count": 30,
            "ok": false,
            "result_count": 18
          },
          {
            "name": "ipad-mini",
            "expected_action_count": 30,
            "ok": false,
            "result_count": 18
          },
          {
            "name": "ipad",
            "expected_action_count": 30,
            "ok": false,
            "result_count": 18
          }
        ],
        "setup_summary": {
          "viewport_count": 4,
          "action_count": 30,
          "viewports": [
            {
              "name": "desktop",
              "expected_action_count": 30,
              "ok": false,
              "result_count": 18,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 4,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-desktop-batch-failed-secondary-only-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 14,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-playground@example.com Sign Out API Playground Tes... (516 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-playground@example.com Sign Out API Playground Tes... (516 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-playground@example.com Sign Out API Playground Tes... (516 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 17,
                  "action": "wait_for_text",
                  "selector": "body",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "phone",
              "expected_action_count": 30,
              "ok": false,
              "result_count": 18,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 4,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-phone-batch-failed-secondary-only-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 14,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 17,
                  "action": "wait_for_text",
                  "selector": "body",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "ipad-mini",
              "expected_action_count": 30,
              "ok": false,
              "result_count": 18,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 4,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-mini-batch-failed-secondary-only-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 14,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 17,
                  "action": "wait_for_text",
                  "selector": "body",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            },
            {
              "name": "ipad",
              "expected_action_count": 30,
              "ok": false,
              "result_count": 18,
              "observed_path": "/playground/",
              "final_url": "https://riddledc.com/playground/",
              "action_counts": {
                "clear_storage": 1,
                "local_storage": 5,
                "wait_for_selector": 3,
                "wait_for_text": 4,
                "clear_console": 1,
                "click": 2,
                "fill": 1,
                "screenshot": 1
              },
              "frame_action_count": 0,
              "frame_urls": [],
              "setup_screenshots": [
                "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-batch-failed-secondary-only-ready"
              ],
              "clicked_total": 2,
              "clicked_truncated": false,
              "click_count_action_total": 0,
              "click_count_value_total": 0,
              "clicked": [
                {
                  "ordinal": 10,
                  "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
                  "frame_selector": null,
                  "text": "Batch"
                },
                {
                  "ordinal": 14,
                  "selector": ".test-button",
                  "frame_selector": null,
                  "text": "Run Batch"
                }
              ],
              "text_samples": [
                {
                  "ordinal": 8,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 11,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                },
                {
                  "ordinal": 16,
                  "action": "wait_for_text",
                  "frame_selector": null,
                  "text": "Skip to main content Riddle API Playground Test the APIs and generate integration code for your application Each request uses 30s minimum (~$0.00... (516 chars)"
                }
              ],
              "failed": [
                {
                  "ordinal": 17,
                  "action": "wait_for_text",
                  "selector": "body",
                  "frame_selector": null,
                  "reason": "text_not_found"
                }
              ],
              "optional_failed": []
            }
          ]
        },
        "failed": [
          {
            "viewport": "desktop",
            "action": "wait_for_text",
            "selector": "body",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "phone",
            "action": "wait_for_text",
            "selector": "body",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "ipad-mini",
            "action": "wait_for_text",
            "selector": "body",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          },
          {
            "viewport": "ipad",
            "action": "wait_for_text",
            "selector": "body",
            "frame_selector": null,
            "frame_index": null,
            "reason": "text_not_found"
          }
        ]
      },
      "message": "Setup actions failed in 4 viewport action(s)."
    },
    {
      "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": "Error",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "job_rp529_batch_failed_secondary_only",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "passed",
      "evidence": {
        "text": "Synthetic v529 batch failed after collecting secondary artifacts",
        "matches": [
          true,
          true,
          true,
          true
        ]
      }
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "failed",
      "evidence": {
        "text": "partial results available",
        "matches": [
          false,
          false,
          false,
          false
        ]
      },
      "message": "Text assertion failed in 4 viewport(s)."
    },
    {
      "type": "selector_text_visible",
      "label": "selector_text_visible",
      "status": "passed",
      "evidence": {
        "selector": ".no-screenshots",
        "text": "No screenshots captured",
        "pattern": null,
        "viewports": [
          {
            "viewport": "desktop",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          {
            "viewport": "phone",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          {
            "viewport": "ipad-mini",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          {
            "viewport": "ipad",
            "selector_count": 1,
            "visible_count": 1,
            "matched_count": 1,
            "matched": true,
            "samples": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          }
        ]
      }
    },
    {
      "type": "selector_text_visible",
      "label": "selector_text_visible",
      "status": "failed",
      "evidence": {
        "selector": ".console-output",
        "text": "rp529 batch secondary evidence only",
        "pattern": null,
        "viewports": [
          {
            "viewport": "desktop",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "phone",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "ipad-mini",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "ipad",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          }
        ]
      },
      "message": "Selector .console-output text assertion failed in 4 viewport(s)."
    },
    {
      "type": "selector_text_visible",
      "label": "selector_text_visible",
      "status": "failed",
      "evidence": {
        "selector": ".console-output",
        "text": "rp529 batch retained warning evidence",
        "pattern": null,
        "viewports": [
          {
            "viewport": "desktop",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "phone",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "ipad-mini",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          },
          {
            "viewport": "ipad",
            "selector_count": 0,
            "visible_count": 0,
            "matched_count": 0,
            "matched": false,
            "samples": []
          }
        ]
      },
      "message": "Selector .console-output text assertion failed in 4 viewport(s)."
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "failed",
      "evidence": {
        "text": "Network HAR",
        "matches": [
          false,
          false,
          false,
          false
        ]
      },
      "message": "Text assertion failed in 4 viewport(s)."
    },
    {
      "type": "text_visible",
      "label": "text_visible",
      "status": "failed",
      "evidence": {
        "text": "rp529-batch-secondary-resource",
        "matches": [
          false,
          false,
          false,
          false
        ]
      },
      "message": "Text assertion failed in 4 viewport(s)."
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "No console output captured",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "No network requests captured",
        "matches": [
          false,
          false,
          false,
          false
        ]
      }
    },
    {
      "type": "text_absent",
      "label": "text_absent",
      "status": "passed",
      "evidence": {
        "text": "Failed at step",
        "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": ".error-warning",
        "expected_count": 1,
        "counts": [
          1,
          1,
          1,
          1
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".timeout-warning",
        "expected_count": 0,
        "counts": [
          0,
          0,
          0,
          0
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "passed",
      "evidence": {
        "selector": ".no-screenshots",
        "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": 0,
        "counts": [
          0,
          0,
          0,
          0
        ]
      }
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "failed",
      "evidence": {
        "selector": ".console-section",
        "expected_count": 2,
        "counts": [
          0,
          0,
          0,
          0
        ]
      },
      "message": "Selector .console-section count did not equal 2 in 4 viewport(s)."
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "failed",
      "evidence": {
        "selector": ".console-entry",
        "expected_count": 3,
        "counts": [
          0,
          0,
          0,
          0
        ]
      },
      "message": "Selector .console-entry count did not equal 3 in 4 viewport(s)."
    },
    {
      "type": "selector_count_equals",
      "label": "selector_count_equals",
      "status": "failed",
      "evidence": {
        "selector": ".console-entry.console-warn",
        "expected_count": 1,
        "counts": [
          0,
          0,
          0,
          0
        ]
      },
      "message": "Selector .console-entry.console-warn count did not equal 1 in 4 viewport(s)."
    },
    {
      "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": []
      }
    },
    {
      "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": [],
        "unallowed_console_warning_samples": [],
        "allowed_console_warning_samples": []
      }
    }
  ],
  "summary": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results failed 10 product invariant(s) across 4 viewport(s).",
  "captured_at": "2026-05-18T11:43:27.275Z",
  "evidence": {
    "version": "riddle-proof.profile-evidence.v1",
    "profile_name": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results",
    "target_url": "https://riddledc.com/playground/",
    "baseline_policy": "invariant_only",
    "captured_at": "2026-05-18T11:43:27.275Z",
    "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": 1799,
        "body_text_sample": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Error Job ID job_rp529_batch_failed_secondary_only Error: Synthetic v529 batch failed after collecting secondary artifacts No screenshots captured. Make sure your script calls saveScreenshot(\"name\"). curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"], \"timeout_sec\": 120, \"sync\": false, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' 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
          },
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0
          },
          ".error-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 0,
            "visible_count": 0
          },
          ".screenshots-section .screenshot-item": {
            "count": 0,
            "visible_count": 0
          },
          ".console-section": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry.console-warn": {
            "count": 0,
            "visible_count": 0
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0,
            "texts": [],
            "visible_texts": [],
            "match_texts": [],
            "visible_match_texts": []
          }
        },
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Error": true,
          "text:job_rp529_batch_failed_secondary_only": true,
          "text:Synthetic v529 batch failed after collecting secondary artifacts": true,
          "text:partial results available": false,
          "text:Network HAR": false,
          "text:rp529-batch-secondary-resource": false,
          "text:No console output captured": false,
          "text:No network requests captured": false,
          "text:Failed at step": 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": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@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.rp482-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "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 rp482-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 URL to Screenshot: Options: Full Page Mobile View (375x667) Include in response: Console Logs Network HAR Get debugging artifact... (1157 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile ... (1143 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 91
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 13,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-failed-secondary-only-ready",
            "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-desktop-batch-failed-secondary-only-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 14,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 15,
            "selector": ".error-warning",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 16,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile ... (1799 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "wait_for_text",
            "ordinal": 17,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "Skip to main content Riddle Docs Proof MCP Pricing Blog Playground Dashboard Buy Credits rp482-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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile ... (1799 chars)",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-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": 1700,
        "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Error Job ID job_rp529_batch_failed_secondary_only Error: Synthetic v529 batch failed after collecting secondary artifacts No screenshots captured. Make sure your script calls saveScreenshot(\"name\"). curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"], \"timeout_sec\": 120, \"sync\": false, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' 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
          },
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0
          },
          ".error-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 0,
            "visible_count": 0
          },
          ".screenshots-section .screenshot-item": {
            "count": 0,
            "visible_count": 0
          },
          ".console-section": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry.console-warn": {
            "count": 0,
            "visible_count": 0
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0,
            "texts": [],
            "visible_texts": [],
            "match_texts": [],
            "visible_match_texts": []
          }
        },
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Error": true,
          "text:job_rp529_batch_failed_secondary_only": true,
          "text:Synthetic v529 batch failed after collecting secondary artifacts": true,
          "text:partial results available": false,
          "text:Network HAR": false,
          "text:rp529-batch-secondary-resource": false,
          "text:No console output captured": false,
          "text:No network requests captured": false,
          "text:Failed at step": 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": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@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.rp482-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URL to Screenshot: Options: Full Page Mobile View (375x667) Include in response: Console Logs Network HAR Get debugging artifacts with your screenshot Timeout: 28 seconds (sync max) 30 seconds 60 seconds 28s max for sync Webhoo... (1058 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1044 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 91
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 13,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-failed-secondary-only-ready",
            "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-phone-batch-failed-secondary-only-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 14,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 15,
            "selector": ".error-warning",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 16,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "wait_for_text",
            "ordinal": 17,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-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": 1700,
        "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Error Job ID job_rp529_batch_failed_secondary_only Error: Synthetic v529 batch failed after collecting secondary artifacts No screenshots captured. Make sure your script calls saveScreenshot(\"name\"). curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"], \"timeout_sec\": 120, \"sync\": false, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' 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
          },
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0
          },
          ".error-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 0,
            "visible_count": 0
          },
          ".screenshots-section .screenshot-item": {
            "count": 0,
            "visible_count": 0
          },
          ".console-section": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry.console-warn": {
            "count": 0,
            "visible_count": 0
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0,
            "texts": [],
            "visible_texts": [],
            "match_texts": [],
            "visible_match_texts": []
          }
        },
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Error": true,
          "text:job_rp529_batch_failed_secondary_only": true,
          "text:Synthetic v529 batch failed after collecting secondary artifacts": true,
          "text:partial results available": false,
          "text:Network HAR": false,
          "text:rp529-batch-secondary-resource": false,
          "text:No console output captured": false,
          "text:No network requests captured": false,
          "text:Failed at step": 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": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@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.rp482-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URL to Screenshot: Options: Full Page Mobile View (375x667) Include in response: Console Logs Network HAR Get debugging artifacts with your screenshot Timeout: 28 seconds (sync max) 30 seconds 60 seconds 28s max for sync Webhoo... (1058 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1044 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 91
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 13,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-failed-secondary-only-ready",
            "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-mini-batch-failed-secondary-only-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 14,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 15,
            "selector": ".error-warning",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 16,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "wait_for_text",
            "ordinal": 17,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-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": 1700,
        "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run asynchronously and poll for results Run Batch Result Time: 1.0s Billed: ~30s Cost: ~$0.00417 Error Job ID job_rp529_batch_failed_secondary_only Error: Synthetic v529 batch failed after collecting secondary artifacts No screenshots captured. Make sure your script calls saveScreenshot(\"name\"). curl Command: Copy curl -X POST https://api.riddledc.com/v1/run \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"urls\": [\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"], \"timeout_sec\": 120, \"sync\": false, \"options\": { \"fullPage\": true, \"viewport\": {\"width\": 1920, \"height\": 1080} } }' 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
          },
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0
          },
          ".error-warning": {
            "count": 1,
            "visible_count": 1
          },
          ".timeout-warning": {
            "count": 0,
            "visible_count": 0
          },
          ".screenshots-section .screenshot-item": {
            "count": 0,
            "visible_count": 0
          },
          ".console-section": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry": {
            "count": 0,
            "visible_count": 0
          },
          ".console-entry.console-warn": {
            "count": 0,
            "visible_count": 0
          },
          ".loading-state": {
            "count": 0,
            "visible_count": 0
          }
        },
        "frames": {},
        "text_sequences": {
          ".no-screenshots": {
            "count": 1,
            "visible_count": 1,
            "texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ],
            "visible_match_texts": [
              "No screenshots captured. Make sure your script calls saveScreenshot(\"name\")."
            ]
          },
          ".console-output": {
            "count": 0,
            "visible_count": 0,
            "texts": [],
            "visible_texts": [],
            "match_texts": [],
            "visible_match_texts": []
          }
        },
        "text_matches": {
          "text:API Playground": true,
          "text:Result": true,
          "text:Error": true,
          "text:job_rp529_batch_failed_secondary_only": true,
          "text:Synthetic v529 batch failed after collecting secondary artifacts": true,
          "text:partial results available": false,
          "text:Network HAR": false,
          "text:rp529-batch-secondary-resource": false,
          "text:No console output captured": false,
          "text:No network requests captured": false,
          "text:Failed at step": 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": 28,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 2,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.idToken",
            "value_length": 385,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 3,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@example.com.accessToken",
            "value_length": 361,
            "reload": false
          },
          {
            "ok": true,
            "action": "local_storage",
            "ordinal": 4,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "key": "CognitoIdentityServiceProvider.7u1bt3r20v613j7eaki9dkbhve.rp482-playground@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.rp482-playground@example.com.clockDrift",
            "value_length": 1,
            "reload": true
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 6,
            "selector": ".playground-page",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 7,
            "selector": ".test-button:not(:disabled)",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 8,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URL to Screenshot: Options: Full Page Mobile View (375x667) Include in response: Console Logs Network HAR Get debugging artifacts with your screenshot Timeout: 28 seconds (sync max) 30 seconds 60 seconds 28s max for sync Webhoo... (1058 chars)",
            "target_index": 0,
            "timeout_ms": 30000
          },
          {
            "ok": true,
            "action": "clear_console",
            "ordinal": 9,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "cleared_console_event_count": 0,
            "cleared_page_error_count": 0
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 10,
            "selector": ".mode-tabs .mode-tab:nth-of-type(2)",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Batch"
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 11,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1044 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": true,
            "action": "fill",
            "ordinal": 12,
            "selector": "textarea.script-input",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "value_length": 91
          },
          {
            "ok": true,
            "action": "screenshot",
            "ordinal": 13,
            "selector": null,
            "frame_selector": null,
            "optional": false,
            "label": "batch-failed-secondary-only-ready",
            "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad-batch-failed-secondary-only-ready"
          },
          {
            "ok": true,
            "action": "click",
            "ordinal": 14,
            "selector": ".test-button",
            "frame_selector": null,
            "optional": false,
            "count": 1,
            "target_index": 0,
            "text": "Run Batch"
          },
          {
            "ok": true,
            "action": "wait_for_selector",
            "ordinal": 15,
            "selector": ".error-warning",
            "frame_selector": null,
            "optional": false,
            "timeout_ms": 45000
          },
          {
            "ok": true,
            "action": "wait_for_text",
            "ordinal": 16,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "target_index": 0,
            "timeout_ms": 10000
          },
          {
            "ok": false,
            "action": "wait_for_text",
            "ordinal": 17,
            "selector": "body",
            "frame_selector": null,
            "optional": false,
            "reason": "text_not_found",
            "text": "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 URLs to Screenshot (one per line): Enter multiple URLs, one per line. Each URL will be screenshotted. Options: Full Page Mobile View (375x667) Timeout: 1 minute 2 minutes (default) 3 minutes 5 minutes Async only Batch jobs run ... (1700 chars)",
            "timeout_ms": 10000
          }
        ],
        "screenshot_label": "riddle-site-v529-playground-batch-failed-secondary-only-partial-results-ipad"
      }
    ],
    "console": {
      "events": [],
      "fatal_count": 0
    },
    "page_errors": [],
    "dialogs": [],
    "network_mocks": [
      {
        "ok": true,
        "label": "playground-batch-v529-submit-failed-secondary-only",
        "response_label": "playground-batch-v529-submit-failed-secondary-only",
        "hit_index": 0,
        "response_index": null,
        "response_selection": 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": 205,
        "request_body_sample": "{\"urls\":[\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-batch-v529-custom-artifacts",
        "response_label": "playground-batch-v529-custom-artifacts",
        "hit_index": 0,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp529_batch_failed_secondary_only/custom-artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-batch-v529-submit-failed-secondary-only",
        "response_label": "playground-batch-v529-submit-failed-secondary-only",
        "hit_index": 1,
        "response_index": null,
        "response_selection": 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": 205,
        "request_body_sample": "{\"urls\":[\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-batch-v529-custom-artifacts",
        "response_label": "playground-batch-v529-custom-artifacts",
        "hit_index": 1,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp529_batch_failed_secondary_only/custom-artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-batch-v529-submit-failed-secondary-only",
        "response_label": "playground-batch-v529-submit-failed-secondary-only",
        "hit_index": 2,
        "response_index": null,
        "response_selection": 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": 205,
        "request_body_sample": "{\"urls\":[\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-batch-v529-custom-artifacts",
        "response_label": "playground-batch-v529-custom-artifacts",
        "hit_index": 2,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp529_batch_failed_secondary_only/custom-artifacts",
        "method": "GET",
        "status": 200
      },
      {
        "ok": true,
        "label": "playground-batch-v529-submit-failed-secondary-only",
        "response_label": "playground-batch-v529-submit-failed-secondary-only",
        "hit_index": 3,
        "response_index": null,
        "response_selection": 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": 205,
        "request_body_sample": "{\"urls\":[\"https://example.com/rp529-batch-secondary-one\",\"https://example.com/rp529-batch-secondary-two\"],\"timeout_sec\":120,\"sync\":false,\"options\":{\"fullPage\":true,\"viewport\":{\"width\":1920,\"height\":1080}}}"
      },
      {
        "ok": true,
        "label": "playground-batch-v529-custom-artifacts",
        "response_label": "playground-batch-v529-custom-artifacts",
        "hit_index": 3,
        "response_index": null,
        "response_selection": null,
        "sequence_reused": false,
        "sequence_cycle": false,
        "url": "https://api.riddledc.com/v1/jobs/job_rp529_batch_failed_secondary_only/custom-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": []
        }
      ],
      "http_status": [],
      "link_status": [],
      "route_inventory": [],
      "network_mock_count": 5,
      "network_mock_hit_count": 8,
      "dialog_count": 0,
      "dialog_accept_count": 0,
      "dialog_dismiss_count": 0
    }
  }
}