{
  "config": {
    "configFile": "/app/playwright.config.ts",
    "rootDir": "/app/tests",
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 4
    },
    "preserveOutput": "always",
    "reporter": [
      [
        "html",
        {
          "outputFolder": "/workspace/artifacts/3b0dbeb/us/reports/html",
          "open": "never"
        }
      ],
      [
        "json",
        {
          "outputFile": "/workspace/artifacts/3b0dbeb/us/reports/results.json"
        }
      ],
      [
        "list",
        null
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 15000
    },
    "quiet": false,
    "projects": [
      {
        "outputDir": "/workspace/artifacts/3b0dbeb/us/test-output",
        "repeatEach": 1,
        "retries": 2,
        "id": "chromium",
        "name": "chromium",
        "testDir": "/app/tests",
        "testIgnore": [],
        "testMatch": [
          "**/*.spec.ts"
        ],
        "timeout": 30000
      }
    ],
    "shard": null,
    "updateSnapshots": "missing",
    "version": "1.40.0",
    "workers": 16,
    "webServer": null
  },
  "suites": [
    {
      "title": "entities.spec.ts",
      "file": "entities.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "us.elect.info entity sections",
          "file": "entities.spec.ts",
          "line": 26,
          "column": 6,
          "specs": [
            {
              "title": "candidates section - index and random pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 0,
                      "status": "failed",
                      "duration": 15189,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:34:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 34
                        },
                        "snippet": "  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 34
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:34:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:44.846Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-candidates-section---index-and-random-pages-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 34
                      }
                    },
                    {
                      "workerIndex": 6,
                      "status": "failed",
                      "duration": 16208,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:34:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 34
                        },
                        "snippet": "  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 34
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:34:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:00.473Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-candidates-section---index-and-random-pages-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-candidates-section---index-and-random-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-candidates-section---index-and-random-pages-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 34
                      }
                    },
                    {
                      "workerIndex": 12,
                      "status": "failed",
                      "duration": 15187,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:34:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 34
                        },
                        "snippet": "  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 34
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  32 |\n  33 |     // Wait for GraphQL browseEntities to populate results\n> 34 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                                 ^\n  35 |\n  36 |     const links = await page.locator('.entity-search-result').all();\n  37 |     expect(links.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:34:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:04:17.097Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-candidates-section---index-and-random-pages-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 34
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-bcdebea7638a9694551c",
              "file": "entities.spec.ts",
              "line": 28,
              "column": 7
            },
            {
              "title": "committees section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 302,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:32.656Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-committees-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-0822b5d8532d623f613d",
              "file": "entities.spec.ts",
              "line": 49,
              "column": 7
            },
            {
              "title": "parties section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 391,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:33.093Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-parties-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-41f46020be4ed36736b8",
              "file": "entities.spec.ts",
              "line": 70,
              "column": 7
            },
            {
              "title": "offices section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 281,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:33.486Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-offices-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-7548d5ce7e4ff7c26462",
              "file": "entities.spec.ts",
              "line": 91,
              "column": 7
            },
            {
              "title": "districts section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 1334,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:33.768Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-districts-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-eb91b762dd810300ae42",
              "file": "entities.spec.ts",
              "line": 112,
              "column": 7
            },
            {
              "title": "states section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 798,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:35.103Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-states-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-875df8e8ba9f7141fc04",
              "file": "entities.spec.ts",
              "line": 154,
              "column": 7
            },
            {
              "title": "elections section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "passed",
                      "duration": 414,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:35.901Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections-elections-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-04ff56b040ea59ab37bd",
              "file": "entities.spec.ts",
              "line": 183,
              "column": 7
            }
          ]
        },
        {
          "title": "office profile - dynamic candidates",
          "file": "entities.spec.ts",
          "line": 205,
          "column": 6,
          "specs": [
            {
              "title": "office profile loads candidates filtered to office",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 14,
                      "status": "failed",
                      "duration": 195,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:228:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 228
                        },
                        "snippet": "  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 228
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {\n\n    at /app/tests/entities.spec.ts:228:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:36.316Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-loads-candidates-filtered-to-office-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 228
                      }
                    },
                    {
                      "workerIndex": 15,
                      "status": "failed",
                      "duration": 281,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:228:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 228
                        },
                        "snippet": "  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 228
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {\n\n    at /app/tests/entities.spec.ts:228:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:36.778Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-loads-candidates-filtered-to-office-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-loads-candidates-filtered-to-office-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-loads-candidates-filtered-to-office-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 228
                      }
                    },
                    {
                      "workerIndex": 16,
                      "status": "failed",
                      "duration": 189,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:228:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 228
                        },
                        "snippet": "  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 228
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m0\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  226 |     const json = await response.json();\n  227 |     const results = json.data?.browseEntities?.results || [];\n> 228 |     expect(results.length).toBeGreaterThan(0);\n      |                            ^\n  229 |   });\n  230 |\n  231 |   test('office profile candidates sorted by total contributions descending', async ({ page }) => {\n\n    at /app/tests/entities.spec.ts:228:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:04:37.471Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-loads-candidates-filtered-to-office-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 228
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-182c63e13d6e864bf048",
              "file": "entities.spec.ts",
              "line": 209,
              "column": 7
            },
            {
              "title": "office profile candidates sorted by total contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 17,
                      "status": "failed",
                      "duration": 224,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:244:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 244
                        },
                        "snippet": "  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 244
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {\n\n    at /app/tests/entities.spec.ts:244:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:38.118Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-o-9afcc-idates-sorted-by-total-contributions-descending-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 244
                      }
                    },
                    {
                      "workerIndex": 18,
                      "status": "failed",
                      "duration": 294,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:244:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 244
                        },
                        "snippet": "  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 244
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {\n\n    at /app/tests/entities.spec.ts:244:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:38.780Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-o-9afcc-idates-sorted-by-total-contributions-descending-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-o-9afcc-idates-sorted-by-total-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-o-9afcc-idates-sorted-by-total-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 244
                      }
                    },
                    {
                      "workerIndex": 19,
                      "status": "failed",
                      "duration": 179,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n    at /app/tests/entities.spec.ts:244:28",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 28,
                          "line": 244
                        },
                        "snippet": "  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 28,
                            "line": 244
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m1\u001b[39m\nReceived:   \u001b[31m0\u001b[39m\n\n  242 |     const json = await response.json();\n  243 |     const results = json.data?.browseEntities?.results || [];\n> 244 |     expect(results.length).toBeGreaterThan(1);\n      |                            ^\n  245 |\n  246 |     // Extract total_contributions from metadata to verify sort order\n  247 |     const contributions = results.map((r: { metadata?: string }) => {\n\n    at /app/tests/entities.spec.ts:244:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:04:39.507Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-o-9afcc-idates-sorted-by-total-contributions-descending-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 28,
                        "line": 244
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-586ec3ae4137bcef4950",
              "file": "entities.spec.ts",
              "line": 231,
              "column": 7
            },
            {
              "title": "office profile renders candidate results in UI",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 20,
                      "status": "failed",
                      "duration": 15166,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:263:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 263
                        },
                        "snippet": "  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 263
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:263:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:40.120Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-renders-candidate-results-in-UI-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 263
                      }
                    },
                    {
                      "workerIndex": 21,
                      "status": "failed",
                      "duration": 16302,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:263:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 263
                        },
                        "snippet": "  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 263
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:263:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:55.702Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-renders-candidate-results-in-UI-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-renders-candidate-results-in-UI-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-renders-candidate-results-in-UI-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 263
                      }
                    },
                    {
                      "workerIndex": 22,
                      "status": "failed",
                      "duration": 15158,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n    at /app/tests/entities.spec.ts:263:65",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 65,
                          "line": 263
                        },
                        "snippet": "  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 65,
                            "line": 263
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-result').first()\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-result').first()\u001b[22m\n\n\n  261 |\n  262 |     // Wait for candidate results to render\n> 263 |     await expect(page.locator('.entity-search-result').first()).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n      |                                                                 ^\n  264 |\n  265 |     const results = await page.locator('.entity-search-result').all();\n  266 |     expect(results.length).toBeGreaterThan(0);\n\n    at /app/tests/entities.spec.ts:263:65"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:05:12.417Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-office-profile---dynamic-candidates-office-profile-renders-candidate-results-in-UI-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 65,
                        "line": 263
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-a466f36233720d1614f8",
              "file": "entities.spec.ts",
              "line": 259,
              "column": 7
            }
          ]
        },
        {
          "title": "state profile - dynamic candidates",
          "file": "entities.spec.ts",
          "line": 274,
          "column": 6,
          "specs": [
            {
              "title": "state profile loads candidates filtered to state",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 23,
                      "status": "failed",
                      "duration": 20066,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:278:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 278
                        },
                        "snippet": "  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 278
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:278:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:05:27.994Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 278
                      }
                    },
                    {
                      "workerIndex": 24,
                      "status": "failed",
                      "duration": 21547,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:278:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 278
                        },
                        "snippet": "  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 278
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:278:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:05:48.462Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-state-profile---dynamic-candidates-state-profile-loads-candidates-filtered-to-state-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-state-profile---dynamic-candidates-state-profile-loads-candidates-filtered-to-state-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 278
                      }
                    },
                    {
                      "workerIndex": 25,
                      "status": "failed",
                      "duration": 20082,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:278:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 278
                        },
                        "snippet": "  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 278
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  276 |\n  277 |   test('state profile loads candidates filtered to state', async ({ page }) => {\n> 278 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  279 |       if (!resp.url().includes('/api/graphql')) return false;\n  280 |       if (resp.request().method() !== 'POST') return false;\n  281 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:278:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:06:10.466Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 278
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-c2aab337f7143b1d9e15",
              "file": "entities.spec.ts",
              "line": 277,
              "column": 7
            },
            {
              "title": "state profile candidates sorted by total contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 26,
                      "status": "failed",
                      "duration": 20074,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:297:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 297
                        },
                        "snippet": "  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 297
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:297:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:06:31.014Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 297
                      }
                    },
                    {
                      "workerIndex": 27,
                      "status": "failed",
                      "duration": 21458,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:297:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 297
                        },
                        "snippet": "  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 297
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:297:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:06:51.466Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-state-profile---dynamic-candidates-st-b2908-idates-sorted-by-total-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-state-profile---dynamic-candidates-st-b2908-idates-sorted-by-total-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 297
                      }
                    },
                    {
                      "workerIndex": 28,
                      "status": "failed",
                      "duration": 20083,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:297:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 297
                        },
                        "snippet": "  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 297
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  295 |\n  296 |   test('state profile candidates sorted by total contributions descending', async ({ page }) => {\n> 297 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  298 |       if (!resp.url().includes('/api/graphql')) return false;\n  299 |       if (resp.request().method() !== 'POST') return false;\n  300 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:297:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:07:13.324Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 297
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-8bd732ad2fd93a9a1a48",
              "file": "entities.spec.ts",
              "line": 296,
              "column": 7
            }
          ]
        },
        {
          "title": "district profile - dynamic candidates",
          "file": "entities.spec.ts",
          "line": 324,
          "column": 6,
          "specs": [
            {
              "title": "district profile loads candidates filtered to district",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 29,
                      "status": "failed",
                      "duration": 20072,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:328:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 328
                        },
                        "snippet": "  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 328
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:328:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:07:33.808Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 328
                      }
                    },
                    {
                      "workerIndex": 30,
                      "status": "failed",
                      "duration": 21421,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:328:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 328
                        },
                        "snippet": "  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 328
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:328:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:07:54.269Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-district-profile---dynamic-candidates-c0956-t-profile-loads-candidates-filtered-to-district-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-district-profile---dynamic-candidates-c0956-t-profile-loads-candidates-filtered-to-district-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 328
                      }
                    },
                    {
                      "workerIndex": 31,
                      "status": "failed",
                      "duration": 20079,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:328:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 328
                        },
                        "snippet": "  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 328
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  326 |\n  327 |   test('district profile loads candidates filtered to district', async ({ page }) => {\n> 328 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  329 |       if (!resp.url().includes('/api/graphql')) return false;\n  330 |       if (resp.request().method() !== 'POST') return false;\n  331 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:328:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:08:16.090Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 328
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-f418c9bf09ee71c95e25",
              "file": "entities.spec.ts",
              "line": 327,
              "column": 7
            },
            {
              "title": "district profile candidates sorted by total contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 32,
                      "status": "failed",
                      "duration": 20073,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:350:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 350
                        },
                        "snippet": "  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 350
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:350:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:08:36.570Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 350
                      }
                    },
                    {
                      "workerIndex": 33,
                      "status": "failed",
                      "duration": 21461,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:350:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 350
                        },
                        "snippet": "  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 350
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:350:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:08:57.044Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-district-profile---dynamic-candidates-1321e-idates-sorted-by-total-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-district-profile---dynamic-candidates-1321e-idates-sorted-by-total-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 350
                      }
                    },
                    {
                      "workerIndex": 34,
                      "status": "failed",
                      "duration": 20072,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at /app/tests/entities.spec.ts:350:34",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 34,
                          "line": 350
                        },
                        "snippet": "  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 34,
                            "line": 350
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  348 |\n  349 |   test('district profile candidates sorted by total contributions descending', async ({ page }) => {\n> 350 |     const responsePromise = page.waitForResponse(resp => {\n      |                                  ^\n  351 |       if (!resp.url().includes('/api/graphql')) return false;\n  352 |       if (resp.request().method() !== 'POST') return false;\n  353 |       const body = resp.request().postData() || '';\n\n    at /app/tests/entities.spec.ts:350:34"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:09:18.910Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 34,
                        "line": 350
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-2c895d2aacccfea2fd71",
              "file": "entities.spec.ts",
              "line": 349,
              "column": 7
            }
          ]
        },
        {
          "title": "entity browse sort order - quantitative fields",
          "file": "entities.spec.ts",
          "line": 392,
          "column": 6,
          "specs": [
            {
              "title": "candidates sorted by total contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 35,
                      "status": "failed",
                      "duration": 20074,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:09:39.385Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 36,
                      "status": "failed",
                      "duration": 21472,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:09:59.859Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-5c84b-idates-sorted-by-total-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-5c84b-idates-sorted-by-total-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 37,
                      "status": "failed",
                      "duration": 20070,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:395:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:10:21.717Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-32000d5186e2d425d4e4",
              "file": "entities.spec.ts",
              "line": 394,
              "column": 7
            },
            {
              "title": "committees sorted by total receipts descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 38,
                      "status": "failed",
                      "duration": 20071,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:10:42.195Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 39,
                      "status": "failed",
                      "duration": 21638,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:11:02.711Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-e4166--committees-sorted-by-total-receipts-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-e4166--committees-sorted-by-total-receipts-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 40,
                      "status": "failed",
                      "duration": 20074,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:403:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:11:24.760Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-52f44282daa7cbd3377c",
              "file": "entities.spec.ts",
              "line": 402,
              "column": 7
            },
            {
              "title": "vendors sorted by total received descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 41,
                      "status": "failed",
                      "duration": 20069,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:11:45.235Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 42,
                      "status": "failed",
                      "duration": 21487,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:12:05.713Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitative-fields-vendors-sorted-by-total-received-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitative-fields-vendors-sorted-by-total-received-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 43,
                      "status": "failed",
                      "duration": 20070,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:411:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:12:27.606Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-3f77b09917bac3c49a5b",
              "file": "entities.spec.ts",
              "line": 410,
              "column": 7
            },
            {
              "title": "individuals sorted by total contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 44,
                      "status": "failed",
                      "duration": 20069,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:12:48.091Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 45,
                      "status": "failed",
                      "duration": 21591,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:13:08.543Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-9b1cc-iduals-sorted-by-total-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-9b1cc-iduals-sorted-by-total-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 46,
                      "status": "failed",
                      "duration": 20075,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:419:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:13:30.522Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-6e9c5380d63720314717",
              "file": "entities.spec.ts",
              "line": 418,
              "column": 7
            },
            {
              "title": "employers sorted by total employee contributions descending",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 47,
                      "status": "failed",
                      "duration": 20065,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:13:50.988Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 48,
                      "status": "failed",
                      "duration": 21457,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:14:11.484Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-2868b-rted-by-total-employee-contributions-descending-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-entity-browse-sort-order---quantitati-2868b-rted-by-total-employee-contributions-descending-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    },
                    {
                      "workerIndex": 49,
                      "status": "failed",
                      "duration": 20075,
                      "error": {
                        "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"",
                        "stack": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26",
                        "location": {
                          "file": "/app/tests/entities.spec.ts",
                          "column": 32,
                          "line": 379
                        },
                        "snippet": "  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 32,
                            "line": 379
                          },
                          "message": "Error: page.waitForResponse: Timeout 15000ms exceeded while waiting for event \"response\"\n\n  377 | // Helper to intercept browseEntities GraphQL response and extract score values\n  378 | async function getBrowseScores(page: import('@playwright/test').Page, url: string): Promise<number[]> {\n> 379 |   const responsePromise = page.waitForResponse(resp => {\n      |                                ^\n  380 |     if (!resp.url().includes('/api/graphql')) return false;\n  381 |     if (resp.request().method() !== 'POST') return false;\n  382 |     const body = resp.request().postData() || '';\n\n    at getBrowseScores (/app/tests/entities.spec.ts:379:32)\n    at /app/tests/entities.spec.ts:427:26"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:14:33.358Z",
                      "attachments": [],
                      "errorLocation": {
                        "file": "/app/tests/entities.spec.ts",
                        "column": 32,
                        "line": 379
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-82b7d8b932c8e99a371d",
              "file": "entities.spec.ts",
              "line": 426,
              "column": 7
            }
          ]
        },
        {
          "title": "us.elect.info entity sections - additional index + detail",
          "file": "entities.spec.ts",
          "line": 435,
          "column": 6,
          "specs": [
            {
              "title": "employers section - index and random pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 50,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 438
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/employers/\", waiting until \"load\"\u001b[22m\n\n\n  436 |\n  437 |   test('employers section - index and random pages', async ({ page }) => {\n> 438 |     const indexResponse = await page.goto('/employers/');\n      |                                      ^\n  439 |     expect(indexResponse?.status()).toBe(200);\n  440 |     await expect(page.locator('h1')).toContainText(/Employers/i);\n  441 |\n\n    at /app/tests/entities.spec.ts:438:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:14:53.828Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 51,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 438
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/employers/\", waiting until \"load\"\u001b[22m\n\n\n  436 |\n  437 |   test('employers section - index and random pages', async ({ page }) => {\n> 438 |     const indexResponse = await page.goto('/employers/');\n      |                                      ^\n  439 |     expect(indexResponse?.status()).toBe(200);\n  440 |     await expect(page.locator('h1')).toContainText(/Employers/i);\n  441 |\n\n    at /app/tests/entities.spec.ts:438:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:15:29.276Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-095ba-tail-employers-section---index-and-random-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-095ba-tail-employers-section---index-and-random-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 52,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 438
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/employers/\", waiting until \"load\"\u001b[22m\n\n\n  436 |\n  437 |   test('employers section - index and random pages', async ({ page }) => {\n> 438 |     const indexResponse = await page.goto('/employers/');\n      |                                      ^\n  439 |     expect(indexResponse?.status()).toBe(200);\n  440 |     await expect(page.locator('h1')).toContainText(/Employers/i);\n  441 |\n\n    at /app/tests/entities.spec.ts:438:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:16:07.093Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-b90711217636799b0f89",
              "file": "entities.spec.ts",
              "line": 437,
              "column": 7
            },
            {
              "title": "vendors section - index and random pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 53,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 458
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/vendors/\", waiting until \"load\"\u001b[22m\n\n\n  456 |\n  457 |   test('vendors section - index and random pages', async ({ page }) => {\n> 458 |     const indexResponse = await page.goto('/vendors/');\n      |                                      ^\n  459 |     expect(indexResponse?.status()).toBe(200);\n  460 |     await expect(page.locator('h1')).toContainText(/Vendors/i);\n  461 |\n\n    at /app/tests/entities.spec.ts:458:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:16:42.516Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 54,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 458
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/vendors/\", waiting until \"load\"\u001b[22m\n\n\n  456 |\n  457 |   test('vendors section - index and random pages', async ({ page }) => {\n> 458 |     const indexResponse = await page.goto('/vendors/');\n      |                                      ^\n  459 |     expect(indexResponse?.status()).toBe(200);\n  460 |     await expect(page.locator('h1')).toContainText(/Vendors/i);\n  461 |\n\n    at /app/tests/entities.spec.ts:458:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:17:17.947Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-29463-detail-vendors-section---index-and-random-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-29463-detail-vendors-section---index-and-random-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 55,
                      "status": "timedOut",
                      "duration": 29998,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 38,
                            "line": 458
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/vendors/\", waiting until \"load\"\u001b[22m\n\n\n  456 |\n  457 |   test('vendors section - index and random pages', async ({ page }) => {\n> 458 |     const indexResponse = await page.goto('/vendors/');\n      |                                      ^\n  459 |     expect(indexResponse?.status()).toBe(200);\n  460 |     await expect(page.locator('h1')).toContainText(/Vendors/i);\n  461 |\n\n    at /app/tests/entities.spec.ts:458:38"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:17:55.782Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-edfd5915c89a7404cb0d",
              "file": "entities.spec.ts",
              "line": 457,
              "column": 7
            },
            {
              "title": "counties section - index and random detail pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 56,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 478
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/counties/\", waiting until \"load\"\u001b[22m\n\n\n  476 |\n  477 |   test('counties section - index and random detail pages', async ({ page }) => {\n> 478 |     await page.goto('/counties/');\n      |                ^\n  479 |\n  480 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  481 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:478:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:18:31.222Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 57,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 478
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/counties/\", waiting until \"load\"\u001b[22m\n\n\n  476 |\n  477 |   test('counties section - index and random detail pages', async ({ page }) => {\n> 478 |     await page.goto('/counties/');\n      |                ^\n  479 |\n  480 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  481 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:478:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:19:06.620Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-a02d5-ounties-section---index-and-random-detail-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-a02d5-ounties-section---index-and-random-detail-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 58,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 478
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/counties/\", waiting until \"load\"\u001b[22m\n\n\n  476 |\n  477 |   test('counties section - index and random detail pages', async ({ page }) => {\n> 478 |     await page.goto('/counties/');\n      |                ^\n  479 |\n  480 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  481 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:478:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:19:44.439Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-d072f735a77b79a12b42",
              "file": "entities.spec.ts",
              "line": 477,
              "column": 7
            },
            {
              "title": "places section - index and random detail pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 59,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 506
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/places/\", waiting until \"load\"\u001b[22m\n\n\n  504 |\n  505 |   test('places section - index and random detail pages', async ({ page }) => {\n> 506 |     await page.goto('/places/');\n      |                ^\n  507 |\n  508 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  509 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:506:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:20:19.870Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 60,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 506
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/places/\", waiting until \"load\"\u001b[22m\n\n\n  504 |\n  505 |   test('places section - index and random detail pages', async ({ page }) => {\n> 506 |     await page.goto('/places/');\n      |                ^\n  507 |\n  508 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  509 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:506:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:20:55.280Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-45389--places-section---index-and-random-detail-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-45389--places-section---index-and-random-detail-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 61,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 506
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/places/\", waiting until \"load\"\u001b[22m\n\n\n  504 |\n  505 |   test('places section - index and random detail pages', async ({ page }) => {\n> 506 |     await page.goto('/places/');\n      |                ^\n  507 |\n  508 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  509 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:506:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:21:33.027Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-5c036afd7f922da1e139",
              "file": "entities.spec.ts",
              "line": 505,
              "column": 7
            },
            {
              "title": "postalcodes section - index and random detail pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 62,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 534
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/postalcodes/\", waiting until \"load\"\u001b[22m\n\n\n  532 |\n  533 |   test('postalcodes section - index and random detail pages', async ({ page }) => {\n> 534 |     await page.goto('/postalcodes/');\n      |                ^\n  535 |\n  536 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  537 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:534:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:22:08.422Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 63,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 534
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/postalcodes/\", waiting until \"load\"\u001b[22m\n\n\n  532 |\n  533 |   test('postalcodes section - index and random detail pages', async ({ page }) => {\n> 534 |     await page.goto('/postalcodes/');\n      |                ^\n  535 |\n  536 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  537 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:534:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:22:43.840Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-7c577-alcodes-section---index-and-random-detail-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-7c577-alcodes-section---index-and-random-detail-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 64,
                      "status": "timedOut",
                      "duration": 29999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 534
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/postalcodes/\", waiting until \"load\"\u001b[22m\n\n\n  532 |\n  533 |   test('postalcodes section - index and random detail pages', async ({ page }) => {\n> 534 |     await page.goto('/postalcodes/');\n      |                ^\n  535 |\n  536 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  537 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:534:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:23:21.623Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-82c5a8b871c3b9b44d34",
              "file": "entities.spec.ts",
              "line": 533,
              "column": 7
            },
            {
              "title": "precincts section - map view and state filter",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 65,
                      "status": "timedOut",
                      "duration": 29998,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 562
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/precincts/\", waiting until \"load\"\u001b[22m\n\n\n  560 |\n  561 |   test('precincts section - map view and state filter', async ({ page }) => {\n> 562 |     await page.goto('/precincts/');\n      |                ^\n  563 |\n  564 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  565 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:562:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:23:57.080Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 66,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 562
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/precincts/\", waiting until \"load\"\u001b[22m\n\n\n  560 |\n  561 |   test('precincts section - map view and state filter', async ({ page }) => {\n> 562 |     await page.goto('/precincts/');\n      |                ^\n  563 |\n  564 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  565 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:562:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:24:32.512Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-94b96-l-precincts-section---map-view-and-state-filter-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-94b96-l-precincts-section---map-view-and-state-filter-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 67,
                      "status": "timedOut",
                      "duration": 30000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 30000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 562
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/precincts/\", waiting until \"load\"\u001b[22m\n\n\n  560 |\n  561 |   test('precincts section - map view and state filter', async ({ page }) => {\n> 562 |     await page.goto('/precincts/');\n      |                ^\n  563 |\n  564 |     // Map view is default — verify Leaflet map renders with GeoJSON state shapes\n  565 |     await expect(page.locator('#map.leaflet-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n\n    at /app/tests/entities.spec.ts:562:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:25:10.268Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-621c3f8302a65e484e42",
              "file": "entities.spec.ts",
              "line": 561,
              "column": 7
            },
            {
              "title": "tracts section - state/county filter and random detail pages",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 68,
                      "status": "timedOut",
                      "duration": 120000,
                      "error": {
                        "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 599
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/tracts/\", waiting until \"load\"\u001b[22m\n\n\n  597 |   test('tracts section - state/county filter and random detail pages', async ({ page }) => {\n  598 |     test.setTimeout(120000); // Tracts require sequential state→county→tract interactions with GraphQL\n> 599 |     await page.goto('/tracts/');\n      |                ^\n  600 |\n  601 |     // Switch to List view — tract-index.js loads dynamically on list view activation\n  602 |     await page.locator('.toggle-btn[data-view=\"list\"]').click();\n\n    at /app/tests/entities.spec.ts:599:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:25:45.680Z",
                      "attachments": []
                    },
                    {
                      "workerIndex": 69,
                      "status": "timedOut",
                      "duration": 119999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 599
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/tracts/\", waiting until \"load\"\u001b[22m\n\n\n  597 |   test('tracts section - state/county filter and random detail pages', async ({ page }) => {\n  598 |     test.setTimeout(120000); // Tracts require sequential state→county→tract interactions with GraphQL\n> 599 |     await page.goto('/tracts/');\n      |                ^\n  600 |\n  601 |     // Switch to List view — tract-index.js loads dynamically on list view activation\n  602 |     await page.locator('.toggle-btn[data-view=\"list\"]').click();\n\n    at /app/tests/entities.spec.ts:599:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:27:51.095Z",
                      "attachments": [
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-bf75c-n---state-county-filter-and-random-detail-pages-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---addit-bf75c-n---state-county-filter-and-random-detail-pages-chromium-retry1/trace.zip"
                        }
                      ]
                    },
                    {
                      "workerIndex": 70,
                      "status": "timedOut",
                      "duration": 119999,
                      "error": {
                        "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                      },
                      "errors": [
                        {
                          "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                        },
                        {
                          "location": {
                            "file": "/app/tests/entities.spec.ts",
                            "column": 16,
                            "line": 599
                          },
                          "message": "Error: page.goto: net::ERR_ABORTED; maybe frame was detached?\nCall log:\n  \u001b[2m- navigating to \"http://10.1.74.210/tracts/\", waiting until \"load\"\u001b[22m\n\n\n  597 |   test('tracts section - state/county filter and random detail pages', async ({ page }) => {\n  598 |     test.setTimeout(120000); // Tracts require sequential state→county→tract interactions with GraphQL\n> 599 |     await page.goto('/tracts/');\n      |                ^\n  600 |\n  601 |     // Switch to List view — tract-index.js loads dynamically on list view activation\n  602 |     await page.locator('.toggle-btn[data-view=\"list\"]').click();\n\n    at /app/tests/entities.spec.ts:599:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:30:05.421Z",
                      "attachments": []
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "e590b0e25242679a26f1-792886e1f533b08689b4",
              "file": "entities.spec.ts",
              "line": 597,
              "column": 7
            }
          ]
        },
        {
          "title": "us.elect.info entity sections - individuals (premium)",
          "file": "entities.spec.ts",
          "line": 650,
          "column": 6,
          "specs": [
            {
              "title": "individuals section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "Requires PLAYWRIGHT_AUTH_USER/PLAYWRIGHT_AUTH_PASS"
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 71,
                      "status": "skipped",
                      "duration": 139,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:32:10.845Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/entities-us-elect-info-entity-sections---indiv-7f2e9-um-individuals-section---index-and-random-pages-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "e590b0e25242679a26f1-3a10f5b725c0551f04c9",
              "file": "entities.spec.ts",
              "line": 658,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "layout.spec.ts",
      "file": "layout.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "landing page layout",
          "file": "layout.spec.ts",
          "line": 35,
          "column": 6,
          "specs": [
            {
              "title": "/offices/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 226,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:44.827Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-offices-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-eed8314a9f4b15d2325b",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/candidates/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 157,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.245Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-candidates-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-b3e96fa573ac38a8cceb",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/committees/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 145,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.404Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-committees-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-5a5a13dec5ea67132859",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/districts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 477,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.550Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-districts-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-cd620bea5e517f559099",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/elections/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 152,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.028Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-elections-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-f3cd66affb4210ca6cb4",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/employers/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 151,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.180Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-employers-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-d23982f3fa79057f6b8e",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/individuals/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 172,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.332Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-individuals-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-82353803feaf4ed3b058",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/parties/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 158,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.506Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-parties-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-3b30365add905dfc5f71",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/vendors/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 167,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.664Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-vendors-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-452a25fd9a223350212c",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/counties/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 386,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.832Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-counties-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-d5d10e927fda15f8d8aa",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/places/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 399,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.219Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-places-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-ad58d9f97027d0275bad",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/precincts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 371,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.619Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-precincts-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-729c08d33ff95daa7ff5",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/tracts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 349,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.991Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-tracts-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-5ec00c47d387014d316a",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/postalcodes/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 364,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:48.341Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-postalcodes-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-c55c185d7c884b5a5748",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/blocks/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 367,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:48.705Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-blocks-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-edbf161469795678f46f",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/states/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 369,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:49.073Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-states-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-84d95c5b6eb3efa2a769",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/codesources/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 122,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:49.444Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-codesources-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-2a8b69199038527b2a13",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/contributors/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 127,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:49.567Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-contributors-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-ba6ee3430c9fb247ae66",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/datasources/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 128,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:49.694Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-datasources-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-bd7a411a366cae5b341e",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            },
            {
              "title": "/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 178,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:49.823Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-landing-page-layout-loads-with-correct-heading-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-519f70c29e0b1d1e3828",
              "file": "layout.spec.ts",
              "line": 37,
              "column": 9
            }
          ]
        },
        {
          "title": "entity index layout - search UI above results",
          "file": "layout.spec.ts",
          "line": 44,
          "column": 6,
          "specs": [
            {
              "title": "/offices/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 140,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.001Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-d0829-ffices-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-3b04b00c3ce0bec4a594",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/candidates/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 121,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.142Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-5cf92-idates-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-9c624ae2a565abf3b0c5",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/committees/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 142,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.264Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-f16d0-ittees-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-79069e508487425c0edd",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/districts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 359,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.407Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-59044-tricts-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-a77636aa8d644a806494",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/elections/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 154,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.766Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-069e9-ctions-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-b0730adf437b47089612",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/employers/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 142,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:50.921Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-0759c-loyers-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-5ffaadf7bb75986d47c9",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/individuals/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 139,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:51.064Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-37753-iduals-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-6d676d932ef42b514d86",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/parties/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 132,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:51.204Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-06b7d-arties-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-24c44cfc1491a0e4a59c",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/vendors/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 127,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:51.337Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-0b4b4-endors-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-cfc0ee6e7927cf99c96e",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/counties/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 409,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:51.465Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-cc2cb-unties-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-25305758aaaa4913f0e8",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/places/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 374,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:51.874Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-results-places-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-df6b6f9b00fe81f1fd56",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/precincts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 364,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:52.249Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-b2a82-cincts-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-71bf4ddf3c551ae59f0b",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/tracts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 376,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:52.614Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-results-tracts-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-fee6444ca55fa4245672",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/postalcodes/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 372,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:52.991Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-7b0e8-lcodes-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-f650cbfb632480427467",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "/blocks/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 357,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:53.364Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-results-blocks-has-no-static-search-description-in-main-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-2ca653cf5e364107dc95",
              "file": "layout.spec.ts",
              "line": 46,
              "column": 9
            },
            {
              "title": "offices - search container appears before main in DOM",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "passed",
                      "duration": 147,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:53.722Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-59504-s---search-container-appears-before-main-in-DOM-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-66a48398e7ef4f8d61c7",
              "file": "layout.spec.ts",
              "line": 57,
              "column": 7
            },
            {
              "title": "candidates - search container appears before main in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 1,
                      "status": "failed",
                      "duration": 15116,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n    at /app/tests/layout.spec.ts:74:60",
                        "location": {
                          "file": "/app/tests/layout.spec.ts",
                          "column": 60,
                          "line": 74
                        },
                        "snippet": "  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/layout.spec.ts",
                            "column": 60,
                            "line": 74
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n\n  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');\n\n    at /app/tests/layout.spec.ts:74:60"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:53.870Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-729a8-s---search-container-appears-before-main-in-DOM-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/layout.spec.ts",
                        "column": 60,
                        "line": 74
                      }
                    },
                    {
                      "workerIndex": 11,
                      "status": "failed",
                      "duration": 16130,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n    at /app/tests/layout.spec.ts:74:60",
                        "location": {
                          "file": "/app/tests/layout.spec.ts",
                          "column": 60,
                          "line": 74
                        },
                        "snippet": "  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/layout.spec.ts",
                            "column": 60,
                            "line": 74
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n\n  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');\n\n    at /app/tests/layout.spec.ts:74:60"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:09.242Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-729a8-s---search-container-appears-before-main-in-DOM-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-729a8-s---search-container-appears-before-main-in-DOM-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-729a8-s---search-container-appears-before-main-in-DOM-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/layout.spec.ts",
                        "column": 60,
                        "line": 74
                      }
                    },
                    {
                      "workerIndex": 13,
                      "status": "failed",
                      "duration": 15146,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n    at /app/tests/layout.spec.ts:74:60",
                        "location": {
                          "file": "/app/tests/layout.spec.ts",
                          "column": 60,
                          "line": 74
                        },
                        "snippet": "  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/layout.spec.ts",
                            "column": 60,
                            "line": 74
                          },
                          "message": "Error: \u001b[31mTimed out 15000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m()\u001b[22m\n\nLocator: locator('.entity-search-container')\nExpected: visible\nReceived: hidden\nCall log:\n  \u001b[2m- expect.toBeVisible with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('.entity-search-container')\u001b[22m\n\n\n  72 |   test('candidates - search container appears before main in DOM', async ({ page }) => {\n  73 |     await page.goto('/candidates/');\n> 74 |     await expect(page.locator('.entity-search-container')).toBeVisible({ timeout: DATA_LOAD_TIMEOUT });\n     |                                                            ^\n  75 |\n  76 |     const searchIsBeforeMain = await page.evaluate(() => {\n  77 |       const searchContainer = document.querySelector('.entity-search-container');\n\n    at /app/tests/layout.spec.ts:74:60"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:04:25.780Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/layout-entity-index-layout---search-UI-above-r-729a8-s---search-container-appears-before-main-in-DOM-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/layout.spec.ts",
                        "column": 60,
                        "line": 74
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-dcc4613b111afc040c50",
              "file": "layout.spec.ts",
              "line": 72,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "sitemap.spec.ts",
      "file": "sitemap.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "sitemap URL validation",
          "file": "sitemap.spec.ts",
          "line": 168,
          "column": 6,
          "specs": [
            {
              "title": "sitemap index loads and contains child sitemaps",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 194,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:44.831Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-sitemap-index-loads-and-contains-child-sitemaps-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-8054bc8f938bcc2620a7",
              "file": "sitemap.spec.ts",
              "line": 170,
              "column": 7
            },
            {
              "title": "candidates sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 593,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 50975 URLs in /candidates/sitemap-candidates.xml\n"
                        },
                        {
                          "text": "Testing page: /candidates/senate/il/port-alan-j/\n"
                        },
                        {
                          "text": "Testing page: /candidates/house/ca-31/ahmed-kaisar/\n"
                        },
                        {
                          "text": "Testing page: /candidates/house/mn-05/favorite-andrew-vincent/\n"
                        },
                        {
                          "text": "Testing page: /candidates/house/co-06/mcarthur-gabriel-shawn-mr/\n"
                        },
                        {
                          "text": "Testing page: /candidates/house/in-06/coomer-chester/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /candidates/sitemap-candidates.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from candidates sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.210Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-candidates-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-acb16e1aef7b80661d64",
              "file": "sitemap.spec.ts",
              "line": 179,
              "column": 7
            },
            {
              "title": "committees sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 832,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 83545 URLs in /committees/sitemap-committees.xml\n"
                        },
                        {
                          "text": "Testing page: /committees/pac/resit-and-replace-trump-c00632489/\n"
                        },
                        {
                          "text": "Testing page: /committees/house/bill-burke-for-congress-c00616771/\n"
                        },
                        {
                          "text": "Testing page: /committees/house/jim-schrader-for-congress-c00340406/\n"
                        },
                        {
                          "text": "Testing page: /committees/super-pac/progressive-growth-maryland-c00590893/\n"
                        },
                        {
                          "text": "Testing page: /committees/house/ed-johnson-for-congress-c00158600/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /committees/sitemap-committees.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from committees sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.804Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-committees-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-e9d08c8127db12dbcc1d",
              "file": "sitemap.spec.ts",
              "line": 197,
              "column": 7
            },
            {
              "title": "parties sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 267,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 275 URLs in /parties/sitemap-parties.xml\n"
                        },
                        {
                          "text": "Testing page: /parties/mt/\n"
                        },
                        {
                          "text": "Testing page: /parties/socialist-party/\n"
                        },
                        {
                          "text": "Testing page: /parties/ca/\n"
                        },
                        {
                          "text": "Testing page: /parties/ame/\n"
                        },
                        {
                          "text": "Testing page: /parties/dts/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /parties/sitemap-parties.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from parties sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.636Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-parties-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-afa493a06404f1c8abf5",
              "file": "sitemap.spec.ts",
              "line": 215,
              "column": 7
            },
            {
              "title": "offices sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 292,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 730 URLs in /offices/sitemap-offices.xml\n"
                        },
                        {
                          "text": "Testing page: /offices/house/co-04/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/or-04/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/oh-01/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/nc-09/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/oh-08/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /offices/sitemap-offices.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from offices sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:46.904Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-offices-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-f4f5091853501303e091",
              "file": "sitemap.spec.ts",
              "line": 230,
              "column": 7
            },
            {
              "title": "districts sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 287,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 445 URLs in /districts/sitemap-districts.xml\n"
                        },
                        {
                          "text": "Testing page: /districts/md/03/\n"
                        },
                        {
                          "text": "Testing page: /districts/co/02/\n"
                        },
                        {
                          "text": "Testing page: /districts/oh/11/\n"
                        },
                        {
                          "text": "Testing page: /districts/ny/07/\n"
                        },
                        {
                          "text": "Testing page: /districts/pa/04/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /districts/sitemap-districts.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from districts sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.197Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-districts-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-c2425021f124f558ba80",
              "file": "sitemap.spec.ts",
              "line": 245,
              "column": 7
            },
            {
              "title": "states sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 261,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 53 URLs in /states/sitemap-states.xml\n"
                        },
                        {
                          "text": "Testing page: /states/kentucky/\n"
                        },
                        {
                          "text": "Testing page: /states/nevada/\n"
                        },
                        {
                          "text": "Testing page: /states/utah/\n"
                        },
                        {
                          "text": "Testing page: /states/michigan/\n"
                        },
                        {
                          "text": "Testing page: /states/idaho/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /states/sitemap-states.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from states sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.484Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-states-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-28a2ec2be6a491b38897",
              "file": "sitemap.spec.ts",
              "line": 260,
              "column": 7
            },
            {
              "title": "elections sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 2,
                      "status": "passed",
                      "duration": 344,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 25 URLs in /elections/sitemap-elections.xml\n"
                        },
                        {
                          "text": "Testing page: /elections/2004/\n"
                        },
                        {
                          "text": "Testing page: /elections/1980/\n"
                        },
                        {
                          "text": "Testing page: /elections/2002/\n"
                        },
                        {
                          "text": "Testing page: /elections/2000/\n"
                        },
                        {
                          "text": "Testing page: /elections/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /elections/sitemap-elections.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from elections sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:47.746Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/sitemap-sitemap-URL-validation-elections-sitemap---sample-URLs-resolve-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-890a5f50365c909768cd",
              "file": "sitemap.spec.ts",
              "line": 275,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "us.spec.ts",
      "file": "us.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "us.elect.info",
          "file": "us.spec.ts",
          "line": 3,
          "column": 6,
          "specs": [
            {
              "title": "homepage loads with title",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 3,
                      "status": "passed",
                      "duration": 326,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:44.840Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-homepage-loads-with-title-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-a0d7c3df6f12612db58f",
              "file": "us.spec.ts",
              "line": 4,
              "column": 7
            },
            {
              "title": "entity stats display",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 3,
                      "status": "failed",
                      "duration": 5132,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n    at /app/tests/us.spec.ts:13:57",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 57,
                          "line": 13
                        },
                        "snippet": "  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 57,
                            "line": 13
                          },
                          "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n\n  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:13:57"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:03:45.344Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-entity-stats-display-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 57,
                        "line": 13
                      }
                    },
                    {
                      "workerIndex": 4,
                      "status": "failed",
                      "duration": 5667,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n    at /app/tests/us.spec.ts:13:57",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 57,
                          "line": 13
                        },
                        "snippet": "  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 57,
                            "line": 13
                          },
                          "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n\n  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:13:57"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:03:50.726Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-entity-stats-display-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-entity-stats-display-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-entity-stats-display-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 57,
                        "line": 13
                      }
                    },
                    {
                      "workerIndex": 5,
                      "status": "failed",
                      "duration": 5164,
                      "error": {
                        "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n",
                        "stack": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n    at /app/tests/us.spec.ts:13:57",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 57,
                          "line": 13
                        },
                        "snippet": "  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 57,
                            "line": 13
                          },
                          "message": "Error: \u001b[31mTimed out 5000ms waiting for \u001b[39m\u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mnot\u001b[2m.\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('#count-candidates')\nExpected string: not \u001b[32m\"-\"\u001b[39m\nReceived string: \u001b[31m\"\"\u001b[39m\nCall log:\n  \u001b[2m- expect.not.toHaveText with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#count-candidates')\u001b[22m\n\n\n  11 |     await page.goto('/');\n  12 |     // Wait for stats to load from OpenSearch\n> 13 |     await expect(page.locator('#count-candidates')).not.toHaveText('-');\n     |                                                         ^\n  14 |   });\n  15 |\n  16 |   test('CSS assets load', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:13:57"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:03:56.811Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-entity-stats-display-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 57,
                        "line": 13
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "2d63ce8979ebe7723300-521767fbb39cdad23616",
              "file": "us.spec.ts",
              "line": 10,
              "column": 7
            },
            {
              "title": "CSS assets load",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 7,
                      "status": "passed",
                      "duration": 143,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:02.370Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-CSS-assets-load-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-73ec876dfb1940f0ad1d",
              "file": "us.spec.ts",
              "line": 16,
              "column": 7
            },
            {
              "title": "JS assets load",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 7,
                      "status": "failed",
                      "duration": 133,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n    at /app/tests/us.spec.ts:24:32",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 32,
                          "line": 24
                        },
                        "snippet": "  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 32,
                            "line": 24
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:24:32"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:02.664Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-JS-assets-load-chromium/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 32,
                        "line": 24
                      }
                    },
                    {
                      "workerIndex": 8,
                      "status": "failed",
                      "duration": 218,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n    at /app/tests/us.spec.ts:24:32",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 32,
                          "line": 24
                        },
                        "snippet": "  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 32,
                            "line": 24
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:24:32"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T17:04:03.039Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-JS-assets-load-chromium-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-JS-assets-load-chromium-retry1/video.webm"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-JS-assets-load-chromium-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 32,
                        "line": 24
                      }
                    },
                    {
                      "workerIndex": 9,
                      "status": "failed",
                      "duration": 147,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n    at /app/tests/us.spec.ts:24:32",
                        "location": {
                          "file": "/app/tests/us.spec.ts",
                          "column": 32,
                          "line": 24
                        },
                        "snippet": "  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/us.spec.ts",
                            "column": 32,
                            "line": 24
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n  22 |     // Check candidate-index.js which is one of the entity-specific search modules\n  23 |     const response = await page.goto('/js/candidate-index.js');\n> 24 |     expect(response?.status()).toBe(200);\n     |                                ^\n  25 |   });\n  26 |\n  27 |   test('404 page works', async ({ page }) => {\n\n    at /app/tests/us.spec.ts:24:32"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-05-21T17:04:03.666Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-JS-assets-load-chromium-retry2/test-failed-1.png"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/us.spec.ts",
                        "column": 32,
                        "line": 24
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "2d63ce8979ebe7723300-cb7d4bd217d0963a28b8",
              "file": "us.spec.ts",
              "line": 21,
              "column": 7
            },
            {
              "title": "404 page works",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "chromium",
                  "projectName": "chromium",
                  "results": [
                    {
                      "workerIndex": 10,
                      "status": "passed",
                      "duration": 148,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T17:04:04.229Z",
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/3b0dbeb/us/test-output/us-us-elect-info-404-page-works-chromium/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-2e69c3c042c67d4abcb4",
              "file": "us.spec.ts",
              "line": 27,
              "column": 7
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-05-21T17:03:44.385Z",
    "duration": 1706781.432,
    "expected": 53,
    "skipped": 1,
    "unexpected": 23,
    "flaky": 0
  }
}