{"ok":true,"source":"github_actions_run_logs","run_id":"28626142235","run_status":"completed","run_conclusion":"success","run_html_url":"https://github.com/misterplusev/abet-scraper-scripts/actions/runs/28626142235","book":"betmgm","scraper_executed":true,"captured":true,"manifest":{"book":"betmgm","display":"BetMGM","runner":"20260624_085500_BETMGM_CURL_CFFI_GITHUB_ACTIONS_PROBE_RUNNER_v1_0_0.py","version":"20260624_085500_v1_0_0_betmgm_curl_cffi_github_probe","manifest_status":"captured","capture_id":"20260702_224146_betmgm__ON_DEMAND_FREEFORM_RUN_28626142235","captured":true,"file_count":1,"total_bytes":7307269,"started_at_utc":"2026-07-02T22:41:47.085389Z","ended_at_utc":"2026-07-02T22:41:54.790249Z","sports_requested":["baseball"],"egress_proxy_configured":false,"egress_proxy_env_var":"BETMGM_GITHUB_EGRESS_PROXY","egress_proxy_redacted":"","files":[{"sport":"baseball","path":"/home/runner/work/abet-scraper-scripts/abet-scraper-scripts/cloud-proof-output/20260702_224146_betmgm__ON_DEMAND_FREEFORM_RUN_28626142235/raw/betmgm/baseball/betmgm-baseball-20260702_224154.upstream.raw.json","raw_bytes":7307269,"raw_sha256":"af40888a59f6aec5688eaeacb445f09ff2545d6836f1085b7a8214dc91606894","http_status":200,"shape":{"json_parse_ok":true,"counts":{"fixtures":30,"games":103,"option_markets":3969,"game_results":1166,"option_results":6362}}}],"results":[{"sport":"baseball","source_mode":"github_actions_direct_betmgm","source_url":"https://www.az.betmgm.com/cds-api/bettingoffer/fixtures?sportIds=23&take=500&offerMapping=Filtered&fixtureTypes=Standard&state=Latest&x-bwin-accessid=REDACTED&lang=en-us&country=US","http_status":200,"http_ok":true,"transport_ok":true,"content_type":"application/json; charset=utf-8","raw_bytes":7307269,"raw_sha256":"af40888a59f6aec5688eaeacb445f09ff2545d6836f1085b7a8214dc91606894","json_parse_ok":true,"shape":{"json_parse_ok":true,"counts":{"fixtures":30,"games":103,"option_markets":3969,"game_results":1166,"option_results":6362}},"started_at_utc":"2026-07-02T22:41:47.085389Z","ended_at_utc":"2026-07-02T22:41:54.790249Z","latency_ms":7705,"path":"/home/runner/work/abet-scraper-scripts/abet-scraper-scripts/cloud-proof-output/20260702_224146_betmgm__ON_DEMAND_FREEFORM_RUN_28626142235/raw/betmgm/baseball/betmgm-baseball-20260702_224154.upstream.raw.json","egress_proxy_configured":false,"egress_proxy_redacted":"","request_profile":"minimal_old_no_region","fixture_window_proof":{"status":"PASS","first_fixture_id":"18526999","cases":[{"sport":"baseball","case":{"take":"1","skip":"0"},"status":"PASS","source_mode":"github_actions_direct_betmgm_fixture_control","request_profile":"minimal_old_no_fixture_type","source_url":"https://www.az.betmgm.com/cds-api/bettingoffer/fixtures?sportIds=23&regionIds=9&take=1&offerMapping=Filtered&state=Latest&x-bwin-accessid=REDACTED&lang=en-us&country=US&skip=0","http_status":200,"http_ok":true,"json_parse_ok":true,"raw_bytes":39635,"raw_sha256":"eb9f434711fa5150e739c87db2895f27527b1ad02fd7a06d25df73ea1ed1a8d7","shape":{"json_parse_ok":true,"counts":{"fixtures":1,"games":8,"option_markets":0,"game_results":185,"option_results":0}},"started_at_utc":"2026-07-02T22:41:54.798239Z","ended_at_utc":"2026-07-02T22:41:55.200617Z","latency_ms":402,"attempts":[{"request_profile":"minimal_old_no_region","status":"FAIL","http_status":403,"raw_bytes":9887,"latency_ms":48},{"request_profile":"full_browser_no_region","status":"FAIL","http_status":403,"raw_bytes":9887,"latency_ms":96},{"request_profile":"full_browser_no_fixture_type","status":"FAIL","http_status":403,"raw_bytes":9887,"latency_ms":167},{"request_profile":"minimal_old_no_fixture_type","status":"PASS","http_status":200,"raw_bytes":39635,"latency_ms":402}]},{"sport":"baseball","case":{"fixtureIds":"18526999"},"status":"PASS","source_mode":"github_actions_direct_betmgm_fixture_control","request_profile":"minimal_old_no_region","source_url":"https://www.az.betmgm.com/cds-api/bettingoffer/fixtures?sportIds=23&take=500&offerMapping=Filtered&fixtureTypes=Standard&state=Latest&x-bwin-accessid=REDACTED&lang=en-us&country=US&fixtureIds=18526999","http_status":200,"http_ok":true,"json_parse_ok":true,"raw_bytes":39634,"raw_sha256":"ed2ac8b1f679bb72b5877c2647985ec32cd7e3ccc2b06260b5fc839c96e530c9","shape":{"json_parse_ok":true,"counts":{"fixtures":1,"games":8,"option_markets":0,"game_results":185,"option_results":0}},"started_at_utc":"2026-07-02T22:41:55.201641Z","ended_at_utc":"2026-07-02T22:41:55.599251Z","latency_ms":398,"attempts":[{"request_profile":"minimal_old_no_region","status":"PASS","http_status":200,"raw_bytes":39634,"latency_ms":398}]}]}}],"fixture_window_proof":{"requested":true,"sports_passed":1,"sports_total":1},"limitations":["GitHub proof uses curl_cffi Chrome impersonation against BetMGM's direct fixture API.","If BETMGM_GITHUB_EGRESS_PROXY (or --proxy-env-var) is set, BetMGM requests use that trusted egress proxy and source_mode is labeled github_actions_trusted_egress_proxy_betmgm.","When --cf-fallback is enabled, blocked direct sports are retried through the proven Cloudflare /raw/<sport> route and marked with source_mode=github_actions_cf_raw_fallback_after_direct_failure.","The x-bwin access id is read from BETMGM_X_BWIN_ACCESSID when set; otherwise the existing repository proof constant is used.","PASS requires HTTP 200, parseable JSON, and non-empty raw bytes for at least one sport."],"per_sport":[{"sport":"baseball","http_status":200,"raw_bytes":7307269,"raw_sha256":"af40888a59f6aec5688eaeacb445f09ff2545d6836f1085b7a8214dc91606894","latency_ms":7705}]},"note":"GitHub Actions runner executed the scraper and captured raw bytes; proof read from run logs (artifact-quota-independent)."}