{
  "schema_version": 1,
  "run_id": "88ac707fd27343aa9cc4b0f23553672d",
  "generated_at": "2026-10-03T06:13:11.330756Z",
  "scope": "MEMORY_MOCK_AND_OFFLINE_SNAPSHOT",
  "status": "PASS",
  "counts": {
    "total": 186,
    "passed": 186,
    "failed": 0,
    "errors": 0
  },
  "cases": [
    {
      "case_id": "UI-WB-01",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-01-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/workbench",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.498,
      "suite": "core",
      "execution_id": "core:UI-WB-01:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-02",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 1,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-02-1280.png",
      "console": [],
      "network": [
        {
          "method": "POST",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.39,
      "suite": "core",
      "execution_id": "core:UI-WB-02:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-03",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 3,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-03-1280.png",
      "console": [],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.772,
      "suite": "core",
      "execution_id": "core:UI-WB-03:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-04",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        400
      ],
      "details": {
        "mock_write_count": 5,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-04-1280.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 400 (Bad Request)"
        }
      ],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 400
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/4",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.502,
      "suite": "core",
      "execution_id": "core:UI-WB-04:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-01",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "colors": [
          "#687582",
          "#1b9e54"
        ],
        "navigation_bottom": 161.0625,
        "panel_top": 14,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-01-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.js",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/854/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/854/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/857/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/857/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/854/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/854/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/857/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/857/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/alerts",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.368,
      "suite": "core",
      "execution_id": "core:UI-MAP-01:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-02",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-02-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.127,
      "suite": "core",
      "execution_id": "core:UI-MAP-02:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-03",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-03-1280.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.059,
      "suite": "core",
      "execution_id": "core:UI-MAP-03:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-01",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-01-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.284,
      "suite": "core",
      "execution_id": "core:UI-RDY-01:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-02",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-02-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.226,
      "suite": "core",
      "execution_id": "core:UI-RDY-02:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-03",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-03-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.244,
      "suite": "core",
      "execution_id": "core:UI-RDY-03:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-fresh",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-fresh-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.182,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-fresh:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-stale",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-stale-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.176,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-stale:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-missing",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-missing-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.235,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-missing:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-invalid",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-invalid-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.186,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-invalid:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-future",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-future-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.186,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-future:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-error",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-error-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.162,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-error:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-recovered",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-recovered-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.233,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-recovered:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-04",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-04-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.297,
      "suite": "core",
      "execution_id": "core:UI-RDY-04:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-invalid",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-invalid-1280.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.204,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-invalid:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-error",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-error-1280.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.194,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-error:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-01",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-01-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.359,
      "suite": "core",
      "execution_id": "core:UI-OFF-01:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-02",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-02-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.173,
      "suite": "core",
      "execution_id": "core:UI-OFF-02:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-03",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-03-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.189,
      "suite": "core",
      "execution_id": "core:UI-OFF-03:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-fresh",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-fresh-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.195,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-fresh:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-stale",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-stale-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.202,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-stale:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-missing",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-missing-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.194,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-missing:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-invalid",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-invalid-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.236,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-invalid:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-future",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-future-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.221,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-future:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-error",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-error-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.189,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-error:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-recovered",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-recovered-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.176,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-recovered:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-04",
      "width": 1280,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "refresh_fixed": true,
        "non_file_request_count": 0,
        "table_scroll": {
          "left": 0,
          "max": 0
        },
        "layout": {
          "viewport": 1280,
          "body": 1280,
          "document": 1280,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-04-1280.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.399,
      "suite": "core",
      "execution_id": "core:UI-OFF-04:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-01",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-01-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/workbench",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.193,
      "suite": "core",
      "execution_id": "core:UI-WB-01:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-02",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 1,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-02-390.png",
      "console": [],
      "network": [
        {
          "method": "POST",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 1.299,
      "suite": "core",
      "execution_id": "core:UI-WB-02:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-03",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 3,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-03-390.png",
      "console": [],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.609,
      "suite": "core",
      "execution_id": "core:UI-WB-03:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-04",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        400
      ],
      "details": {
        "mock_write_count": 5,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-04-390.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 400 (Bad Request)"
        }
      ],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 400
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/4",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.576,
      "suite": "core",
      "execution_id": "core:UI-WB-04:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-01",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "colors": [
          "#687582",
          "#1b9e54"
        ],
        "navigation_bottom": 135.78125,
        "panel_top": 150,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-01-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.js",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/alerts",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.237,
      "suite": "core",
      "execution_id": "core:UI-MAP-01:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-02",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-02-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.076,
      "suite": "core",
      "execution_id": "core:UI-MAP-02:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-03",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-03-390.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.059,
      "suite": "core",
      "execution_id": "core:UI-MAP-03:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-01",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-01-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.244,
      "suite": "core",
      "execution_id": "core:UI-RDY-01:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-02",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-02-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.208,
      "suite": "core",
      "execution_id": "core:UI-RDY-02:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-03",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-03-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.136,
      "suite": "core",
      "execution_id": "core:UI-RDY-03:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-fresh",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-fresh-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.168,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-fresh:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-stale",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-stale-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.163,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-stale:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-missing",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-missing-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.138,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-missing:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-invalid",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-invalid-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.167,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-invalid:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-future",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-future-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.163,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-future:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-error",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-error-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.135,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-error:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-recovered",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-recovered-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.168,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-recovered:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-04",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-04-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.262,
      "suite": "core",
      "execution_id": "core:UI-RDY-04:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-invalid",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-invalid-390.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.153,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-invalid:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-error",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-error-390.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.173,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-error:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-01",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-01-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.292,
      "suite": "core",
      "execution_id": "core:UI-OFF-01:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-02",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-02-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.171,
      "suite": "core",
      "execution_id": "core:UI-OFF-02:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-03",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-03-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.185,
      "suite": "core",
      "execution_id": "core:UI-OFF-03:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-fresh",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-fresh-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.167,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-fresh:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-stale",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-stale-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.149,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-stale:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-missing",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-missing-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.156,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-missing:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-invalid",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-invalid-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.145,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-invalid:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-future",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-future-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.19,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-future:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-error",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-error-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.152,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-error:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-recovered",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-recovered-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.167,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-recovered:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-04",
      "width": 390,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "refresh_fixed": true,
        "non_file_request_count": 0,
        "table_scroll": {
          "left": 238,
          "max": 238
        },
        "layout": {
          "viewport": 390,
          "body": 390,
          "document": 390,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-04-390.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.384,
      "suite": "core",
      "execution_id": "core:UI-OFF-04:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-01",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-01-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/workbench",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.164,
      "suite": "core",
      "execution_id": "core:UI-WB-01:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-02",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 1,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-02-320.png",
      "console": [],
      "network": [
        {
          "method": "POST",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 1.291,
      "suite": "core",
      "execution_id": "core:UI-WB-02:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-03",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "mock_write_count": 3,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-03-320.png",
      "console": [],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.604,
      "suite": "core",
      "execution_id": "core:UI-WB-03:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-WB-04",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        400
      ],
      "details": {
        "mock_write_count": 5,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-WB-04-320.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 400 (Bad Request)"
        }
      ],
      "network": [
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/10",
          "action": "MEMORY_MOCK",
          "status": 400
        },
        {
          "method": "PATCH",
          "url": "https://slopeguard.qa/api/slope/dispositions/4",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/dispositions",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.579,
      "suite": "core",
      "execution_id": "core:UI-WB-04:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-01",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "colors": [
          "#687582",
          "#1b9e54"
        ],
        "navigation_bottom": 135.78125,
        "panel_top": 150,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-01-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.js",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/446.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/445.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/447.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/855/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://tile.openstreetmap.org/10/856/444.png",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/alerts",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.227,
      "suite": "core",
      "execution_id": "core:UI-MAP-01:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-02",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-02-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.065,
      "suite": "core",
      "execution_id": "core:UI-MAP-02:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-MAP-03",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-MAP-03-320.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/risk?rain_mm=100",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.071,
      "suite": "core",
      "execution_id": "core:UI-MAP-03:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-01",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-01-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/theme.css",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.201,
      "suite": "core",
      "execution_id": "core:UI-RDY-01:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-02",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-02-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.185,
      "suite": "core",
      "execution_id": "core:UI-RDY-02:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-03",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-03-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.173,
      "suite": "core",
      "execution_id": "core:UI-RDY-03:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-fresh",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-fresh-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.169,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-fresh:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-stale",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-stale-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.166,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-stale:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-missing",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-missing-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.208,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-missing:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-invalid",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-invalid-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.146,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-invalid:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-future",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-future-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.205,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-future:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-error",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-error-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.148,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-error:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-S-recovered",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-S-recovered-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.15,
      "suite": "core",
      "execution_id": "core:UI-RDY-S-recovered:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-04",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-04-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.257,
      "suite": "core",
      "execution_id": "core:UI-RDY-04:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-invalid",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-invalid-320.png",
      "console": [],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 200
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 200
        }
      ],
      "duration_seconds": 0.145,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-invalid:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-RDY-05-error",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [
        503
      ],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-RDY-05-error-320.png",
      "console": [
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        },
        {
          "type": "error",
          "text": "Failed to load resource: the server responded with a status of 503 (Service Unavailable)"
        }
      ],
      "network": [
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/readiness",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/health",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/rainfall",
          "action": "MEMORY_MOCK",
          "status": 503
        },
        {
          "method": "GET",
          "url": "https://slopeguard.qa/api/slope/workflow-metrics",
          "action": "MEMORY_MOCK",
          "status": 503
        }
      ],
      "duration_seconds": 0.149,
      "suite": "core",
      "execution_id": "core:UI-RDY-05-error:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-01",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "OBSERVED_WARNING",
        "calendar_gap_days": 3,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-01-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.358,
      "suite": "core",
      "execution_id": "core:UI-OFF-01:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-02",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "state": "NO_OBSERVED_WARNING",
        "calendar_gap_days": null,
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-02-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.145,
      "suite": "core",
      "execution_id": "core:UI-OFF-02:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-03",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-03-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.156,
      "suite": "core",
      "execution_id": "core:UI-OFF-03:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-fresh",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "fresh",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-fresh-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.15,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-fresh:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-stale",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "stale",
        "source_status": "stale",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-stale-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.158,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-stale:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-missing",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "missing",
        "source_status": "missing",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-missing-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.138,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-missing:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-invalid",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "invalid",
        "source_status": "invalid",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-invalid-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.133,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-invalid:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-future",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "future",
        "source_status": "future",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-future-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.204,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-future:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-error",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "error",
        "source_status": "error",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-error-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.132,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-error:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-S-recovered",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "scenario": "recovered",
        "source_status": "fresh",
        "field_assessment": "unknown",
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-S-recovered-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.212,
      "suite": "core",
      "execution_id": "core:UI-OFF-S-recovered:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-OFF-04",
      "width": 320,
      "status": "PASS",
      "errors": [],
      "expected_http_statuses": [],
      "details": {
        "refresh_fixed": true,
        "non_file_request_count": 0,
        "table_scroll": {
          "left": 308,
          "max": 308
        },
        "layout": {
          "viewport": 320,
          "body": 320,
          "document": 320,
          "invalid_values": false
        }
      },
      "screenshot": "UI-OFF-04-320.png",
      "console": [],
      "network": [],
      "duration_seconds": 0.364,
      "suite": "core",
      "execution_id": "core:UI-OFF-04:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-valid-1280",
      "page": "observations",
      "scenario": "valid",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "literal-escaped",
          "status": "PASS"
        },
        {
          "id": "window-1",
          "status": "PASS",
          "detail": {
            "status": "1 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "1/1 · 窗口完整",
              "1.00",
              "1.00",
              "2.00",
              "3.00",
              "1.00"
            ]
          }
        },
        {
          "id": "window-3",
          "status": "PASS",
          "detail": {
            "status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "3/3 · 窗口完整",
              "3.00",
              "1.00",
              "6.00",
              "9.00",
              "3.00"
            ]
          }
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "status": "6 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "6/6 · 窗口完整",
              "6.00",
              "1.00",
              "12.00",
              "18.00",
              "6.00"
            ]
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "status": "12 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "12/12 · 窗口完整",
              "12.00",
              "1.00",
              "24.00",
              "36.00",
              "12.00"
            ]
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "status": "24 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "24/24 · 窗口完整",
              "24.00",
              "1.00",
              "48.00",
              "72.00",
              "24.00"
            ]
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1156,
            "boxRight": 1156
          }
        },
        {
          "id": "refresh-keeps-selected-window",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-valid-1280.png",
      "duration_seconds": 0.34,
      "display_status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-valid-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-http400-1280",
      "page": "observations",
      "scenario": "http400",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-http400-1280.png",
      "duration_seconds": 0.136,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-http400-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingSegments-1280",
      "page": "observations",
      "scenario": "missingSegments",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingSegments-1280.png",
      "duration_seconds": 0.131,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingSegments-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingWindow-1280",
      "page": "observations",
      "scenario": "missingWindow",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingWindow-1280.png",
      "duration_seconds": 0.182,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingWindow-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullSegment-1280",
      "page": "observations",
      "scenario": "nullSegment",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullSegment-1280.png",
      "duration_seconds": 0.183,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullSegment-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullWindow-1280",
      "page": "observations",
      "scenario": "nullWindow",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullWindow-1280.png",
      "duration_seconds": 0.127,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullWindow-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-1280",
      "page": "observations",
      "scenario": "completeMissingNumbers",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-1280.png",
      "duration_seconds": 0.129,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-completeMissingNumbers-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-valid-1280",
      "page": "tests",
      "scenario": "valid",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "case-descriptions-match-report",
          "status": "PASS"
        },
        {
          "id": "exact-counts",
          "status": "PASS",
          "detail": {
            "actual": [
              "1007",
              "1007",
              "0",
              "0"
            ],
            "expected": [
              "1007",
              "1007",
              "0",
              "0"
            ]
          }
        },
        {
          "id": "pytest-phase-matches-report",
          "status": "PASS",
          "detail": {
            "actual": [
              "PASS",
              "NOT_RUN",
              "NOT_RUN",
              "NOT_MEASURED"
            ],
            "expected_pytest": "PASS"
          }
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "search-one",
          "status": "PASS"
        },
        {
          "id": "combined-filter-one",
          "status": "PASS"
        },
        {
          "id": "status-filter-empty",
          "status": "PASS"
        },
        {
          "id": "status-passed-all",
          "status": "PASS"
        },
        {
          "id": "literal-search",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1184,
            "boxRight": 1185
          }
        },
        {
          "id": "reload-same-count",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-valid-1280.png",
      "duration_seconds": 10.379,
      "display_phases": [
        "PASS",
        "NOT_RUN",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "1007",
        "1007",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-valid-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-http404-1280",
      "page": "tests",
      "scenario": "http404",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: the server responded with a status of 404 (Not Found)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 404
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-http404-1280.png",
      "duration_seconds": 0.302,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-http404-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingJSON-1280",
      "page": "tests",
      "scenario": "missingJSON",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingJSON-1280.png",
      "duration_seconds": 0.178,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingJSON-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-invalidJSON-1280",
      "page": "tests",
      "scenario": "invalidJSON",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-invalidJSON-1280.png",
      "duration_seconds": 0.174,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-invalidJSON-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-countMismatch-1280",
      "page": "tests",
      "scenario": "countMismatch",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-countMismatch-1280.png",
      "duration_seconds": 0.164,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-countMismatch-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-changedSource-1280",
      "page": "tests",
      "scenario": "changedSource",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-changedSource-1280.png",
      "duration_seconds": 0.187,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-changedSource-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHashes-1280",
      "page": "tests",
      "scenario": "missingHashes",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHashes-1280.png",
      "duration_seconds": 0.188,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHashes-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHEAD-1280",
      "page": "tests",
      "scenario": "missingHEAD",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHEAD-1280.png",
      "duration_seconds": 0.171,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHEAD-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-skippedCannotPass-1280",
      "page": "tests",
      "scenario": "skippedCannotPass",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-skippedCannotPass-1280.png",
      "duration_seconds": 0.19,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "2",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-skippedCannotPass-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectionSkippedCannotPass-1280",
      "page": "tests",
      "scenario": "collectionSkippedCannotPass",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectionSkippedCannotPass-1280.png",
      "duration_seconds": 0.257,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectionSkippedCannotPass-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectOnly-1280",
      "page": "tests",
      "scenario": "collectOnly",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "collection-not-execution",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "NOT_RUN",
            "NOT_RUN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectOnly-1280.png",
      "duration_seconds": 0.261,
      "display_phases": [
        "NOT_RUN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "0",
        "0",
        "3"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectOnly-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-valid144-1280",
      "page": "timeline",
      "scenario": "valid144",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "hours": 6,
            "points": 36
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "hours": 12,
            "points": 72
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "hours": 24,
            "points": 144
          }
        },
        {
          "id": "window-72",
          "status": "PASS",
          "detail": {
            "hours": 72,
            "points": 432
          }
        },
        {
          "id": "window-168",
          "status": "PASS",
          "detail": {
            "hours": 168,
            "points": 1008
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1187,
            "boxRight": 1187
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 6,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 12,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 72,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 168,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-valid144-1280.png",
      "duration_seconds": 0.863,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-valid144-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-validZero-1280",
      "page": "timeline",
      "scenario": "validZero",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1187,
            "boxRight": 1187
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-validZero-1280.png",
      "duration_seconds": 0.621,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-validZero-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-missingJSON-1280",
      "page": "timeline",
      "scenario": "missingJSON",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-missingJSON-1280.png",
      "duration_seconds": 0.129,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-missingJSON-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-nullPoint-1280",
      "page": "timeline",
      "scenario": "nullPoint",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-nullPoint-1280.png",
      "duration_seconds": 0.133,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-nullPoint-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-countMismatch-1280",
      "page": "timeline",
      "scenario": "countMismatch",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-countMismatch-1280.png",
      "duration_seconds": 0.13,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-countMismatch-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-http400-1280",
      "page": "timeline",
      "scenario": "http400",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-http400-1280.png",
      "duration_seconds": 0.106,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-http400-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-naiveCutoff-1280",
      "page": "timeline",
      "scenario": "naiveCutoff",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "naive-cutoff-actually-requested",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "as_of": "2026-10-03T04:00:00",
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-naiveCutoff-1280.png",
      "duration_seconds": 0.253,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-naiveCutoff-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-notAvailableAsOf-1280",
      "page": "timeline",
      "scenario": "notAvailableAsOf",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · NOT_AVAILABLE_AS_OF"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1187,
            "boxRight": 1187
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-notAvailableAsOf-1280.png",
      "duration_seconds": 0.659,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-notAvailableAsOf-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-invalidArrival-1280",
      "page": "timeline",
      "scenario": "invalidArrival",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · INVALID_AVAILABILITY_TIMESTAMP"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1187,
            "boxRight": 1187
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-invalidArrival-1280.png",
      "duration_seconds": 0.557,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-invalidArrival-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-sourceUnavailable-1280",
      "page": "timeline",
      "scenario": "sourceUnavailable",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · SOURCE_UNAVAILABLE"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "unavailable-source-explicitly-unknown",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 0,
            "max": 0,
            "cellRight": 1187,
            "boxRight": 1187
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-sourceUnavailable-1280.png",
      "duration_seconds": 0.701,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-sourceUnavailable-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-currentTimetable-1280",
      "page": "workbench",
      "scenario": "currentTimetable",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：2 班（<b>literal</b> 2）\n班表來源 TDX_LIVE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-03 · 要求日期 <b>literal</b>2026-10-03 · CURRENT_DATE\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n限速延誤推估：每班約 3 分鐘（100→40 km/h）\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "train-type-is-escaped-text",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": false
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-currentTimetable-1280.png",
      "duration_seconds": 0.909,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": {
            "affected_trains": 2,
            "delay_min": 3,
            "span": {
              "stations": [
                "MOCK A",
                "MOCK B"
              ],
              "length_km": 4
            },
            "status": "COMPUTED",
            "assessment": "CANDIDATE_ESTIMATE",
            "timetable": {
              "origin": "TDX_LIVE",
              "source_date": "<b>literal</b>2026-10-03",
              "requested_date": "<b>literal</b>2026-10-03",
              "freshness": "CURRENT_DATE"
            },
            "route_verification": "NOT_VERIFIED",
            "matching_basis": "CORRIDOR_STOP_SEQUENCE_CANDIDATE"
          },
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-currentTimetable-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-staleTimetable-1280",
      "page": "workbench",
      "scenario": "staleTimetable",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 STALE_CACHE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-02 · 要求日期 <b>literal</b>2026-10-03 · STALE\n舊快取候選 2 班，不能視為當日班次。\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-staleTimetable-1280.png",
      "duration_seconds": 0.88,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-staleTimetable-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-missingTimetable-1280",
      "page": "workbench",
      "scenario": "missingTimetable",
      "width": 1280,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 UNAVAILABLE · MOCK TDX DailyTrainTimetable\n班表日期未取得 · UNKNOWN\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "missing-date-is-UNKNOWN",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 1280,
            "document": 1280
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-missingTimetable-1280.png",
      "duration_seconds": 0.94,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-missingTimetable-1280:1280",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-valid-390",
      "page": "observations",
      "scenario": "valid",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "literal-escaped",
          "status": "PASS"
        },
        {
          "id": "window-1",
          "status": "PASS",
          "detail": {
            "status": "1 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "1/1 · 窗口完整",
              "1.00",
              "1.00",
              "2.00",
              "3.00",
              "1.00"
            ]
          }
        },
        {
          "id": "window-3",
          "status": "PASS",
          "detail": {
            "status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "3/3 · 窗口完整",
              "3.00",
              "1.00",
              "6.00",
              "9.00",
              "3.00"
            ]
          }
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "status": "6 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "6/6 · 窗口完整",
              "6.00",
              "1.00",
              "12.00",
              "18.00",
              "6.00"
            ]
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "status": "12 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "12/12 · 窗口完整",
              "12.00",
              "1.00",
              "24.00",
              "36.00",
              "12.00"
            ]
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "status": "24 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "24/24 · 窗口完整",
              "24.00",
              "1.00",
              "48.00",
              "72.00",
              "24.00"
            ]
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 542,
            "max": 542,
            "cellRight": 374,
            "boxRight": 374
          }
        },
        {
          "id": "refresh-keeps-selected-window",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-valid-390.png",
      "duration_seconds": 0.219,
      "display_status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-valid-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-http400-390",
      "page": "observations",
      "scenario": "http400",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-http400-390.png",
      "duration_seconds": 0.108,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-http400-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingSegments-390",
      "page": "observations",
      "scenario": "missingSegments",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingSegments-390.png",
      "duration_seconds": 0.114,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingSegments-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingWindow-390",
      "page": "observations",
      "scenario": "missingWindow",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingWindow-390.png",
      "duration_seconds": 0.098,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingWindow-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullSegment-390",
      "page": "observations",
      "scenario": "nullSegment",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullSegment-390.png",
      "duration_seconds": 0.114,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullSegment-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullWindow-390",
      "page": "observations",
      "scenario": "nullWindow",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullWindow-390.png",
      "duration_seconds": 0.116,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullWindow-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-390",
      "page": "observations",
      "scenario": "completeMissingNumbers",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-390.png",
      "duration_seconds": 0.166,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-completeMissingNumbers-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-valid-390",
      "page": "tests",
      "scenario": "valid",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "case-descriptions-match-report",
          "status": "PASS"
        },
        {
          "id": "exact-counts",
          "status": "PASS",
          "detail": {
            "actual": [
              "1007",
              "1007",
              "0",
              "0"
            ],
            "expected": [
              "1007",
              "1007",
              "0",
              "0"
            ]
          }
        },
        {
          "id": "pytest-phase-matches-report",
          "status": "PASS",
          "detail": {
            "actual": [
              "PASS",
              "NOT_RUN",
              "NOT_RUN",
              "NOT_MEASURED"
            ],
            "expected_pytest": "PASS"
          }
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "search-one",
          "status": "PASS"
        },
        {
          "id": "combined-filter-one",
          "status": "PASS"
        },
        {
          "id": "status-filter-empty",
          "status": "PASS"
        },
        {
          "id": "status-passed-all",
          "status": "PASS"
        },
        {
          "id": "literal-search",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 720,
            "max": 720,
            "cellRight": 360,
            "boxRight": 361
          }
        },
        {
          "id": "reload-same-count",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-valid-390.png",
      "duration_seconds": 2.753,
      "display_phases": [
        "PASS",
        "NOT_RUN",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "1007",
        "1007",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-valid-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-http404-390",
      "page": "tests",
      "scenario": "http404",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: the server responded with a status of 404 (Not Found)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 404
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-http404-390.png",
      "duration_seconds": 0.177,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-http404-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingJSON-390",
      "page": "tests",
      "scenario": "missingJSON",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingJSON-390.png",
      "duration_seconds": 0.161,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingJSON-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-invalidJSON-390",
      "page": "tests",
      "scenario": "invalidJSON",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-invalidJSON-390.png",
      "duration_seconds": 0.165,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-invalidJSON-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-countMismatch-390",
      "page": "tests",
      "scenario": "countMismatch",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-countMismatch-390.png",
      "duration_seconds": 0.162,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-countMismatch-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-changedSource-390",
      "page": "tests",
      "scenario": "changedSource",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-changedSource-390.png",
      "duration_seconds": 0.164,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-changedSource-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHashes-390",
      "page": "tests",
      "scenario": "missingHashes",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHashes-390.png",
      "duration_seconds": 0.166,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHashes-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHEAD-390",
      "page": "tests",
      "scenario": "missingHEAD",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHEAD-390.png",
      "duration_seconds": 0.169,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHEAD-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-skippedCannotPass-390",
      "page": "tests",
      "scenario": "skippedCannotPass",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-skippedCannotPass-390.png",
      "duration_seconds": 0.16,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "2",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-skippedCannotPass-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectionSkippedCannotPass-390",
      "page": "tests",
      "scenario": "collectionSkippedCannotPass",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectionSkippedCannotPass-390.png",
      "duration_seconds": 0.168,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectionSkippedCannotPass-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectOnly-390",
      "page": "tests",
      "scenario": "collectOnly",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "collection-not-execution",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "NOT_RUN",
            "NOT_RUN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectOnly-390.png",
      "duration_seconds": 0.165,
      "display_phases": [
        "NOT_RUN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "0",
        "0",
        "3"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectOnly-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-valid144-390",
      "page": "timeline",
      "scenario": "valid144",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "hours": 6,
            "points": 36
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "hours": 12,
            "points": 72
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "hours": 24,
            "points": 144
          }
        },
        {
          "id": "window-72",
          "status": "PASS",
          "detail": {
            "hours": 72,
            "points": 432
          }
        },
        {
          "id": "window-168",
          "status": "PASS",
          "detail": {
            "hours": 168,
            "points": 1008
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 514,
            "max": 514,
            "cellRight": 363,
            "boxRight": 363
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 6,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 12,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 72,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 168,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-valid144-390.png",
      "duration_seconds": 0.519,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-valid144-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-validZero-390",
      "page": "timeline",
      "scenario": "validZero",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 514,
            "max": 514,
            "cellRight": 363,
            "boxRight": 363
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-validZero-390.png",
      "duration_seconds": 0.297,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-validZero-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-missingJSON-390",
      "page": "timeline",
      "scenario": "missingJSON",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-missingJSON-390.png",
      "duration_seconds": 0.107,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-missingJSON-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-nullPoint-390",
      "page": "timeline",
      "scenario": "nullPoint",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-nullPoint-390.png",
      "duration_seconds": 0.114,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-nullPoint-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-countMismatch-390",
      "page": "timeline",
      "scenario": "countMismatch",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-countMismatch-390.png",
      "duration_seconds": 0.119,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-countMismatch-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-http400-390",
      "page": "timeline",
      "scenario": "http400",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-http400-390.png",
      "duration_seconds": 0.109,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-http400-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-naiveCutoff-390",
      "page": "timeline",
      "scenario": "naiveCutoff",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "naive-cutoff-actually-requested",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "as_of": "2026-10-03T04:00:00",
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-naiveCutoff-390.png",
      "duration_seconds": 0.204,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-naiveCutoff-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-notAvailableAsOf-390",
      "page": "timeline",
      "scenario": "notAvailableAsOf",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · NOT_AVAILABLE_AS_OF"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 579,
            "max": 579,
            "cellRight": 363.46875,
            "boxRight": 363
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-notAvailableAsOf-390.png",
      "duration_seconds": 0.376,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-notAvailableAsOf-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-invalidArrival-390",
      "page": "timeline",
      "scenario": "invalidArrival",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · INVALID_AVAILABILITY_TIMESTAMP"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 652,
            "max": 652,
            "cellRight": 362.5,
            "boxRight": 363
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-invalidArrival-390.png",
      "duration_seconds": 0.43,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-invalidArrival-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-sourceUnavailable-390",
      "page": "timeline",
      "scenario": "sourceUnavailable",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · SOURCE_UNAVAILABLE"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "unavailable-source-explicitly-unknown",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 514,
            "max": 514,
            "cellRight": 363,
            "boxRight": 363
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-sourceUnavailable-390.png",
      "duration_seconds": 0.287,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-sourceUnavailable-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-currentTimetable-390",
      "page": "workbench",
      "scenario": "currentTimetable",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：2 班（<b>literal</b> 2）\n班表來源 TDX_LIVE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-03 · 要求日期 <b>literal</b>2026-10-03 · CURRENT_DATE\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n限速延誤推估：每班約 3 分鐘（100→40 km/h）\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "train-type-is-escaped-text",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": false
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-currentTimetable-390.png",
      "duration_seconds": 1.449,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": {
            "affected_trains": 2,
            "delay_min": 3,
            "span": {
              "stations": [
                "MOCK A",
                "MOCK B"
              ],
              "length_km": 4
            },
            "status": "COMPUTED",
            "assessment": "CANDIDATE_ESTIMATE",
            "timetable": {
              "origin": "TDX_LIVE",
              "source_date": "<b>literal</b>2026-10-03",
              "requested_date": "<b>literal</b>2026-10-03",
              "freshness": "CURRENT_DATE"
            },
            "route_verification": "NOT_VERIFIED",
            "matching_basis": "CORRIDOR_STOP_SEQUENCE_CANDIDATE"
          },
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-currentTimetable-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-staleTimetable-390",
      "page": "workbench",
      "scenario": "staleTimetable",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 STALE_CACHE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-02 · 要求日期 <b>literal</b>2026-10-03 · STALE\n舊快取候選 2 班，不能視為當日班次。\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-staleTimetable-390.png",
      "duration_seconds": 1.414,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-staleTimetable-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-missingTimetable-390",
      "page": "workbench",
      "scenario": "missingTimetable",
      "width": 390,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 UNAVAILABLE · MOCK TDX DailyTrainTimetable\n班表日期未取得 · UNKNOWN\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "missing-date-is-UNKNOWN",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 390,
            "document": 390
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-missingTimetable-390.png",
      "duration_seconds": 1.375,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-missingTimetable-390:390",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-valid-320",
      "page": "observations",
      "scenario": "valid",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "literal-escaped",
          "status": "PASS"
        },
        {
          "id": "window-1",
          "status": "PASS",
          "detail": {
            "status": "1 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "1/1 · 窗口完整",
              "1.00",
              "1.00",
              "2.00",
              "3.00",
              "1.00"
            ]
          }
        },
        {
          "id": "window-3",
          "status": "PASS",
          "detail": {
            "status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "3/3 · 窗口完整",
              "3.00",
              "1.00",
              "6.00",
              "9.00",
              "3.00"
            ]
          }
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "status": "6 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "6/6 · 窗口完整",
              "6.00",
              "1.00",
              "12.00",
              "18.00",
              "6.00"
            ]
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "status": "12 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "12/12 · 窗口完整",
              "12.00",
              "1.00",
              "24.00",
              "36.00",
              "12.00"
            ]
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "status": "24 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
            "cells": [
              "<b>literal</b>–B",
              "<b>literal</b>／0.0 km",
              "24/24 · 窗口完整",
              "24.00",
              "1.00",
              "48.00",
              "72.00",
              "24.00"
            ]
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 612,
            "max": 612,
            "cellRight": 304,
            "boxRight": 304
          }
        },
        {
          "id": "refresh-keeps-selected-window",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-valid-320.png",
      "duration_seconds": 0.225,
      "display_status": "3 小時配對窗口完整：1/2 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-valid-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-http400-320",
      "page": "observations",
      "scenario": "http400",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-http400-320.png",
      "duration_seconds": 0.117,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-http400-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingSegments-320",
      "page": "observations",
      "scenario": "missingSegments",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingSegments-320.png",
      "duration_seconds": 0.115,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingSegments-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-missingWindow-320",
      "page": "observations",
      "scenario": "missingWindow",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-missingWindow-320.png",
      "duration_seconds": 0.114,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-missingWindow-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullSegment-320",
      "page": "observations",
      "scenario": "nullSegment",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullSegment-320.png",
      "duration_seconds": 0.119,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullSegment-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-nullWindow-320",
      "page": "observations",
      "scenario": "nullWindow",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "資料未知，請核查來源與讀取權限。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-nullWindow-320.png",
      "duration_seconds": 0.085,
      "display_status": "資料未知，請核查來源與讀取權限。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-nullWindow-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-320",
      "page": "observations",
      "scenario": "completeMissingNumbers",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-horizontal-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "load-completes",
          "status": "PASS"
        },
        {
          "id": "no-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "missing-bad-data-stays-unknown",
          "status": "PASS",
          "detail": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/observations",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/observations",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-OBSERVATIONS-completeMissingNumbers-320.png",
      "duration_seconds": 0.098,
      "display_status": "3 小時配對窗口完整：0/1 段。資料完整度不是安全判定。",
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-OBSERVATIONS-completeMissingNumbers-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-valid-320",
      "page": "tests",
      "scenario": "valid",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "case-descriptions-match-report",
          "status": "PASS"
        },
        {
          "id": "exact-counts",
          "status": "PASS",
          "detail": {
            "actual": [
              "1007",
              "1007",
              "0",
              "0"
            ],
            "expected": [
              "1007",
              "1007",
              "0",
              "0"
            ]
          }
        },
        {
          "id": "pytest-phase-matches-report",
          "status": "PASS",
          "detail": {
            "actual": [
              "PASS",
              "NOT_RUN",
              "NOT_RUN",
              "NOT_MEASURED"
            ],
            "expected_pytest": "PASS"
          }
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "search-one",
          "status": "PASS"
        },
        {
          "id": "combined-filter-one",
          "status": "PASS"
        },
        {
          "id": "status-filter-empty",
          "status": "PASS"
        },
        {
          "id": "status-passed-all",
          "status": "PASS"
        },
        {
          "id": "literal-search",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 790,
            "max": 790,
            "cellRight": 290,
            "boxRight": 291
          }
        },
        {
          "id": "reload-same-count",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-valid-320.png",
      "duration_seconds": 2.64,
      "display_phases": [
        "PASS",
        "NOT_RUN",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "1007",
        "1007",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-valid-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-http404-320",
      "page": "tests",
      "scenario": "http404",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: the server responded with a status of 404 (Not Found)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 404
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-http404-320.png",
      "duration_seconds": 0.184,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-http404-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingJSON-320",
      "page": "tests",
      "scenario": "missingJSON",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingJSON-320.png",
      "duration_seconds": 0.157,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingJSON-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-invalidJSON-320",
      "page": "tests",
      "scenario": "invalidJSON",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-invalidJSON-320.png",
      "duration_seconds": 0.133,
      "display_phases": [
        "UNKNOWN",
        "UNKNOWN",
        "UNKNOWN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-invalidJSON-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-countMismatch-320",
      "page": "tests",
      "scenario": "countMismatch",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-countMismatch-320.png",
      "duration_seconds": 0.166,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-countMismatch-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-changedSource-320",
      "page": "tests",
      "scenario": "changedSource",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-changedSource-320.png",
      "duration_seconds": 0.173,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "0"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-changedSource-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHashes-320",
      "page": "tests",
      "scenario": "missingHashes",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHashes-320.png",
      "duration_seconds": 0.156,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHashes-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-missingHEAD-320",
      "page": "tests",
      "scenario": "missingHEAD",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "invalid-report-cases-UNKNOWN",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "UNKNOWN",
            "UNKNOWN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-missingHEAD-320.png",
      "duration_seconds": 0.229,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "—",
        "—",
        "—",
        "—"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-missingHEAD-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-skippedCannotPass-320",
      "page": "tests",
      "scenario": "skippedCannotPass",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-skippedCannotPass-320.png",
      "duration_seconds": 0.163,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "2",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-skippedCannotPass-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectionSkippedCannotPass-320",
      "page": "tests",
      "scenario": "collectionSkippedCannotPass",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "UNKNOWN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectionSkippedCannotPass-320.png",
      "duration_seconds": 0.171,
      "display_phases": [
        "UNKNOWN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "3",
        "0",
        "1"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectionSkippedCannotPass-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TESTS-collectOnly-320",
      "page": "tests",
      "scenario": "collectOnly",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS",
          "detail": []
        },
        {
          "id": "no-generated-undefined-NaN",
          "status": "PASS"
        },
        {
          "id": "field-always-not-measured",
          "status": "PASS"
        },
        {
          "id": "cannot-falsely-PASS",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "PASS",
            "NOT_RUN",
            "NOT_MEASURED"
          ]
        },
        {
          "id": "collection-not-execution",
          "status": "PASS",
          "detail": [
            "NOT_RUN",
            "NOT_RUN",
            "NOT_RUN"
          ]
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [],
      "network": [
        {
          "method": "GET",
          "path": "/slope/tests",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/static/slope-test-report.json",
          "mocked": true,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TESTS-collectOnly-320.png",
      "duration_seconds": 0.159,
      "display_phases": [
        "NOT_RUN",
        "PASS",
        "NOT_RUN",
        "NOT_MEASURED"
      ],
      "display_counts": [
        "3",
        "0",
        "0",
        "3"
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TESTS-collectOnly-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-valid144-320",
      "page": "timeline",
      "scenario": "valid144",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "window-6",
          "status": "PASS",
          "detail": {
            "hours": 6,
            "points": 36
          }
        },
        {
          "id": "window-12",
          "status": "PASS",
          "detail": {
            "hours": 12,
            "points": 72
          }
        },
        {
          "id": "window-24",
          "status": "PASS",
          "detail": {
            "hours": 24,
            "points": 144
          }
        },
        {
          "id": "window-72",
          "status": "PASS",
          "detail": {
            "hours": 72,
            "points": 432
          }
        },
        {
          "id": "window-168",
          "status": "PASS",
          "detail": {
            "hours": 168,
            "points": 1008
          }
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 584,
            "max": 584,
            "cellRight": 293,
            "boxRight": 293
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 6,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 12,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 72,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 168,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-valid144-320.png",
      "duration_seconds": 0.595,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-valid144-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-validZero-320",
      "page": "timeline",
      "scenario": "validZero",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "known-values-blue",
          "status": "PASS"
        },
        {
          "id": "10min-total-not-rolling-hour-sum",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 584,
            "max": 584,
            "cellRight": 293,
            "boxRight": 293
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-validZero-320.png",
      "duration_seconds": 0.321,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-validZero-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-missingJSON-320",
      "page": "timeline",
      "scenario": "missingJSON",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-missingJSON-320.png",
      "duration_seconds": 0.123,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-missingJSON-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-nullPoint-320",
      "page": "timeline",
      "scenario": "nullPoint",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-nullPoint-320.png",
      "duration_seconds": 0.123,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-nullPoint-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-countMismatch-320",
      "page": "timeline",
      "scenario": "countMismatch",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-countMismatch-320.png",
      "duration_seconds": 0.135,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-countMismatch-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-http400-320",
      "page": "timeline",
      "scenario": "http400",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-http400-320.png",
      "duration_seconds": 0.125,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-http400-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-naiveCutoff-320",
      "page": "timeline",
      "scenario": "naiveCutoff",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "invalid-clears-data-not-zero",
          "status": "PASS",
          "detail": "無法取得完整格式；UNKNOWN，請核對截止時間、來源與登入狀態。"
        },
        {
          "id": "naive-cutoff-actually-requested",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED",
        "Failed to load resource: the server responded with a status of 400 (Bad Request)"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "as_of": "2026-10-03T04:00:00",
          "status": 400
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-naiveCutoff-320.png",
      "duration_seconds": 0.273,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-naiveCutoff-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-notAvailableAsOf-320",
      "page": "timeline",
      "scenario": "notAvailableAsOf",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · NOT_AVAILABLE_AS_OF"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 649,
            "max": 649,
            "cellRight": 293.46875,
            "boxRight": 293
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-notAvailableAsOf-320.png",
      "duration_seconds": 0.338,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-notAvailableAsOf-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-invalidArrival-320",
      "page": "timeline",
      "scenario": "invalidArrival",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · INVALID_AVAILABILITY_TIMESTAMP"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 722,
            "max": 722,
            "cellRight": 292.5,
            "boxRight": 293
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-invalidArrival-320.png",
      "duration_seconds": 0.348,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-invalidArrival-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-TIMELINE-sourceUnavailable-320",
      "page": "timeline",
      "scenario": "sourceUnavailable",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "no-NaN-undefined",
          "status": "PASS"
        },
        {
          "id": "field-remains-unmeasured",
          "status": "PASS"
        },
        {
          "id": "144-points-rendered",
          "status": "PASS"
        },
        {
          "id": "literal-is-text",
          "status": "PASS"
        },
        {
          "id": "gap-is-gray-and-UNKNOWN-not-zero",
          "status": "PASS",
          "detail": [
            "2026-10-02T12:10:00+00:00",
            "UNKNOWN",
            "UNKNOWN",
            "未知",
            "未知",
            "UNKNOWN · SOURCE_UNAVAILABLE"
          ]
        },
        {
          "id": "unknown-availability-reason",
          "status": "PASS"
        },
        {
          "id": "unavailable-source-explicitly-unknown",
          "status": "PASS"
        },
        {
          "id": "table-tail-reachable",
          "status": "PASS",
          "detail": {
            "left": 584,
            "max": 584,
            "cellRight": 293,
            "boxRight": 293
          }
        },
        {
          "id": "download-exact-fixture-no-values-filled",
          "status": "PASS",
          "detail": {
            "points": 144,
            "assessment_fixture_only": true
          }
        },
        {
          "id": "only-mocked-GET",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/timeline",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/timeline",
          "mocked": true,
          "hours": 24,
          "status": 200
        }
      ],
      "screenshot": "UI-EXTRA-TIMELINE-sourceUnavailable-320.png",
      "duration_seconds": 0.367,
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-TIMELINE-sourceUnavailable-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-currentTimetable-320",
      "page": "workbench",
      "scenario": "currentTimetable",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：2 班（<b>literal</b> 2）\n班表來源 TDX_LIVE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-03 · 要求日期 <b>literal</b>2026-10-03 · CURRENT_DATE\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n限速延誤推估：每班約 3 分鐘（100→40 km/h）\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "train-type-is-escaped-text",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": false
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-currentTimetable-320.png",
      "duration_seconds": 1.383,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": {
            "affected_trains": 2,
            "delay_min": 3,
            "span": {
              "stations": [
                "MOCK A",
                "MOCK B"
              ],
              "length_km": 4
            },
            "status": "COMPUTED",
            "assessment": "CANDIDATE_ESTIMATE",
            "timetable": {
              "origin": "TDX_LIVE",
              "source_date": "<b>literal</b>2026-10-03",
              "requested_date": "<b>literal</b>2026-10-03",
              "freshness": "CURRENT_DATE"
            },
            "route_verification": "NOT_VERIFIED",
            "matching_basis": "CORRIDOR_STOP_SEQUENCE_CANDIDATE"
          },
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-currentTimetable-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-staleTimetable-320",
      "page": "workbench",
      "scenario": "staleTimetable",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 STALE_CACHE · MOCK TDX DailyTrainTimetable\n班表日期 <b>literal</b>2026-10-02 · 要求日期 <b>literal</b>2026-10-03 · STALE\n舊快取候選 2 班，不能視為當日班次。\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "timetable-date-and-freshness",
          "status": "PASS"
        },
        {
          "id": "literal-date-is-text",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-staleTimetable-320.png",
      "duration_seconds": 1.365,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-staleTimetable-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    },
    {
      "case_id": "UI-EXTRA-WORKBENCH-missingTimetable-320",
      "page": "workbench",
      "scenario": "missingTimetable",
      "width": 320,
      "status": "PASS",
      "executed": true,
      "checks": [
        {
          "id": "known-or-unknown-count",
          "status": "PASS",
          "detail": "05 / 營運影響推估（TDX 班表 · MOCK A–MOCK B · 4km）\n全日穿越候選車次：UNKNOWN\n班表來源 UNAVAILABLE · MOCK TDX DailyTrainTimetable\n班表日期未取得 · UNKNOWN\n實際走線 NOT_VERIFIED；不停站列車依走廊停站序列判定候選穿越。\n待避建議：—\nMOCK：全日候選；不是現場效益"
        },
        {
          "id": "timetable-origin-shown",
          "status": "PASS"
        },
        {
          "id": "source-shown",
          "status": "PASS"
        },
        {
          "id": "missing-date-is-UNKNOWN",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-retained",
          "status": "PASS"
        },
        {
          "id": "only-memory-decision-write",
          "status": "PASS"
        },
        {
          "id": "unknown-impact-not-saved",
          "status": "PASS",
          "detail": {
            "ops_impact_is_null": true
          }
        },
        {
          "id": "no-body-overflow",
          "status": "PASS",
          "detail": {
            "body": 320,
            "document": 320
          }
        },
        {
          "id": "no-js-error",
          "status": "PASS"
        },
        {
          "id": "only-mocked-GET-or-memory-PATCH",
          "status": "PASS"
        }
      ],
      "js_errors": [],
      "console_errors": [
        "Failed to load resource: net::ERR_FAILED"
      ],
      "network": [
        {
          "method": "GET",
          "path": "/slope/workbench",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/theme.css",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/css2",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/risk",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/ops-impact",
          "mocked": true,
          "status": 200
        },
        {
          "method": "PATCH",
          "path": "/api/slope/dispositions/1",
          "mocked": true
        },
        {
          "method": "GET",
          "path": "/api/slope/dispositions",
          "mocked": true
        }
      ],
      "screenshot": "UI-EXTRA-WORKBENCH-missingTimetable-320.png",
      "duration_seconds": 1.37,
      "mock_writes": [
        {
          "action": "slow_order",
          "reason": "MOCK核查與決策理由",
          "decided_by": "MOCK授權人員；非現場",
          "evidence": [],
          "status": "closed",
          "ops_impact": null,
          "revision": 1
        }
      ],
      "suite": "extra",
      "execution_id": "extra:UI-EXTRA-WORKBENCH-missingTimetable-320:320",
      "run_id": "88ac707fd27343aa9cc4b0f23553672d"
    }
  ],
  "suites": {
    "core": {
      "schema_version": 1,
      "status": "PASS",
      "scope": "MEMORY_MOCK_AND_OFFLINE_SNAPSHOT",
      "started_at": "2026-10-03T06:08:55.414095+00:00",
      "widths": [
        1280,
        390,
        320
      ],
      "limitations": [
        "API mutation為記憶體mock，未驗證真實DB或認證；HTTP/live由獨立runner驗證。",
        "圖磚為固定空白PNG，MapLibre4.5.0公開asset以SHA256核對。",
        "只檢查無執行功能的<b>literal</b>文字顯示；不執行注入payload。"
      ],
      "fixture_origin": "CAPTURED_READONLY_REPORTS",
      "offline_artifact": {
        "html": "/home/reyerchu/hackrail_artifacts/slopeguard/2026-10-03/workflow-complete/full-98d81c2/snapshot/readiness-offline.html",
        "captured_at_utc": "2026-10-03T06:08:55.324946+00:00",
        "source_commit": "98d81c295e65a7810fe43e2a8843e534419affb8",
        "working_tree_dirty": true,
        "html_sha256": "4ce8c4ffe00d44fd5ec29da12b0737a9421c53504dea6e05881ec92a89c9b854"
      },
      "finished_at": "2026-10-03T06:09:19.221072+00:00",
      "duration_seconds": 23.807,
      "counts": {
        "total": 93,
        "pass": 93,
        "fail": 0,
        "error": 0
      }
    },
    "extra": {
      "schema_version": 1,
      "status": "PASS",
      "scope": "GET_AND_MEMORY_PATCH_MOCK",
      "started_at": "2026-10-03T06:09:19.288041+00:00",
      "widths": [
        1280,
        390,
        320
      ],
      "fixture_origin": "CAPTURED_REPORT_WITH_MOCK_LITERAL_PREFIX",
      "limitations": [
        "既有54個UI情境保留；觀測/測試/時間軸全GET mock，班表結案僅記憶體PATCH，無真實認證、DB或應用寫入。",
        "負向payload為內建合成資料；不是額外pytest案例、現場效益或新增事件真值。",
        "只使用無執行功能的<b>literal</b>文字；現場成效維持NOT_MEASURED。"
      ],
      "source_hashes": {
        "railtech/static/observations.html": "5fb2c1dafdfba26c0b5919e4df42e1a4ee008812c7407583ce93daaa09a5495b",
        "railtech/static/timeline.html": "c0891c657f3aa150af5392dc374eee6d4f748a67c22dba8d6f5594b816f6f478",
        "railtech/static/workbench.html": "2a0c5f488a132f5d9a9812420d37590e748f5b4dd36bcd93dfa71a20619d92af",
        "portal/static/slope_tests.html": "9ad24be6972d494d625df3df619683ad5420ac7c496e97cccae842a55595d2a5",
        "packages/ui-kit/theme.css": "a73ff471fc20eaf28829fb86eb8f765cbb24ddff2033fcdd89539de9c7dac465",
        "scripts/slope_extra_browser_qa.py": "5325f6c92ff6bb1e0372088d113b2b7789603c346bd913c36b96b7eaa2120f2a"
      },
      "normal_report": {
        "sha256": "238688bbb9f2b8ccc5283d5a2deee6756784a104fbf847c618095b8fd53b0a9b",
        "ui_only_override": "cases[0].description加literal前綴；原檔與結果/計數不變"
      },
      "finished_at": "2026-10-03T06:10:04.646586+00:00",
      "duration_seconds": 45.358,
      "counts": {
        "total": 93,
        "pass": 93,
        "fail": 0,
        "error": 0,
        "not_run": 0
      },
      "check_counts": {
        "total": 765,
        "pass": 765,
        "fail": 0
      }
    }
  }
}
