{
  "config": {
    "argv": [
      "/usr/bin/node",
      "/app/node_modules/.bin/playwright",
      "test",
      "--project=ui",
      "--output=/workspace/artifacts/preview-rundeck-861842/us-preview/test-output"
    ],
    "configFile": "/app/playwright.config.ts",
    "rootDir": "/app",
    "failOnFlakyTests": false,
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 23
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output",
        "repeatEach": 1,
        "retries": 2,
        "metadata": {
          "actualWorkers": 23
        },
        "id": "ui",
        "name": "ui",
        "testDir": "/app/tests/ui",
        "testIgnore": [],
        "testMatch": [
          "**/*.spec.ts"
        ],
        "timeout": 30000
      },
      {
        "outputDir": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output",
        "repeatEach": 1,
        "retries": 2,
        "metadata": {
          "actualWorkers": 23
        },
        "id": "api",
        "name": "api",
        "testDir": "/app/tests/api",
        "testIgnore": [],
        "testMatch": [
          "**/*.spec.ts"
        ],
        "timeout": 30000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "html",
        {
          "outputFolder": "/workspace/artifacts/preview-rundeck-861842/us-preview/reports/html",
          "open": "never"
        }
      ],
      [
        "json",
        {
          "outputFile": "/workspace/artifacts/preview-rundeck-861842/us-preview/reports/results.json"
        }
      ],
      [
        "list",
        null
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.63.0",
    "workers": 32,
    "webServer": null
  },
  "suites": [
    {
      "title": "tests/ui/auth.spec.ts",
      "file": "tests/ui/auth.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "sign-in and premium sections",
          "file": "tests/ui/auth.spec.ts",
          "line": 29,
          "column": 6,
          "specs": [
            {
              "title": "/auth/whoami returns well-formed JSON",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 44,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.563Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-34adcfbb6e371e5c1571",
              "file": "tests/ui/auth.spec.ts",
              "line": 30,
              "column": 7
            },
            {
              "title": "a forged identity header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the header",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 51,
                        "column": 10
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.649Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the header",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 51,
                            "column": 10
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-d16713a710dd32aba362",
              "file": "tests/ui/auth.spec.ts",
              "line": 46,
              "column": 7
            },
            {
              "title": "a forged elect-info-premium group header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the headers",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 62,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 18,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.682Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the headers",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 62,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-8b08522ffb6040767729",
              "file": "tests/ui/auth.spec.ts",
              "line": 57,
              "column": 9
            },
            {
              "title": "a forged ei-voter-viewers group header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the headers",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 62,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.714Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the headers",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 62,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-331a481ae815f21adbb5",
              "file": "tests/ui/auth.spec.ts",
              "line": 57,
              "column": 9
            },
            {
              "title": "a forged ei-donor-viewers group header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the headers",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 62,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.741Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the headers",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 62,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-627faecc86d75e536556",
              "file": "tests/ui/auth.spec.ts",
              "line": 57,
              "column": 9
            },
            {
              "title": "a forged ei-block-viewers group header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the headers",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 62,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.770Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the headers",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 62,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-bafaf85fa26bf5a6d3e5",
              "file": "tests/ui/auth.spec.ts",
              "line": 57,
              "column": 9
            },
            {
              "title": "a forged elect-news-curators group header grants nothing where Authentik is off",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "host has Authentik: Traefik sets the headers",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 62,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.795Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "host has Authentik: Traefik sets the headers",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 62,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-05316fe4e949eabf6cf3",
              "file": "tests/ui/auth.spec.ts",
              "line": 57,
              "column": 9
            },
            {
              "title": "/voters/ answers 200 for the test identity",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "signed in without elevated access",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 72,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 108,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.827Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "signed in without elevated access",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 72,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-c6449-s-200-for-the-test-identity-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-e0c978ff2eac96857528",
              "file": "tests/ui/auth.spec.ts",
              "line": 70,
              "column": 9
            },
            {
              "title": "/individuals/ answers 200 for the test identity",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "signed in without elevated access",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 72,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 102,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.039Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "signed in without elevated access",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 72,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-57df6-s-200-for-the-test-identity-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-8e763adcb4584d4cc03c",
              "file": "tests/ui/auth.spec.ts",
              "line": 70,
              "column": 9
            },
            {
              "title": "/blocks/ answers 200 for the test identity",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "signed in without elevated access",
                      "location": {
                        "file": "/app/tests/ui/auth.spec.ts",
                        "line": 72,
                        "column": 12
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 82,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.154Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "signed in without elevated access",
                          "location": {
                            "file": "/app/tests/ui/auth.spec.ts",
                            "line": 72,
                            "column": 12
                          }
                        }
                      ],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-e6064-s-200-for-the-test-identity-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "d748ac400d08b85935ef-ac0d57b9b95cd8b304be",
              "file": "tests/ui/auth.spec.ts",
              "line": 70,
              "column": 9
            },
            {
              "title": "/voters/ is the voter search page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 199,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.254Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-ff81e-rs-is-the-voter-search-page-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-24cc7566a4f160062737",
              "file": "tests/ui/auth.spec.ts",
              "line": 79,
              "column": 7
            },
            {
              "title": "the premium notice page is not directly reachable",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 108,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.469Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-4eed4-e-is-not-directly-reachable-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-752f790273574f158ca2",
              "file": "tests/ui/auth.spec.ts",
              "line": 86,
              "column": 7
            },
            {
              "title": "homepage premium cards follow the account",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 214,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.589Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-b27b9-um-cards-follow-the-account-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-25a6d4e0f106df1269de",
              "file": "tests/ui/auth.spec.ts",
              "line": 91,
              "column": 7
            },
            {
              "title": "account slot shows the signed-in email where Authentik is on",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 218,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.815Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-and-premium-s-b2077-email-where-Authentik-is-on-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-1e049c825edca23851b9",
              "file": "tests/ui/auth.spec.ts",
              "line": 109,
              "column": 7
            }
          ]
        },
        {
          "title": "sign-in panel",
          "file": "tests/ui/auth.spec.ts",
          "line": 130,
          "column": 6,
          "specs": [
            {
              "title": "/signin/google redirects to the Google flow, or falls back to the sign-in page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.045Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-8ef04c02a5acbc6b0869",
              "file": "tests/ui/auth.spec.ts",
              "line": 131,
              "column": 7
            },
            {
              "title": "/signin/register goes to the sign-up flow, or falls back to the sign-in page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 9,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.067Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-93dbd48805f61db758bc",
              "file": "tests/ui/auth.spec.ts",
              "line": 148,
              "column": 7
            },
            {
              "title": "the shared identity bar is served and revalidated",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 9,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.087Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-3bb8375e8399bd8ed909",
              "file": "tests/ui/auth.spec.ts",
              "line": 159,
              "column": 7
            },
            {
              "title": "/signin/google only answers GET, and the outpost hop is internal",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.107Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-f0802db54d500bb3e896",
              "file": "tests/ui/auth.spec.ts",
              "line": 167,
              "column": 7
            },
            {
              "title": "Log In opens the sign-in panel with Google and email",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 236,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.128Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/auth-sign-in-panel-Log-In--c8811-panel-with-Google-and-email-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d748ac400d08b85935ef-985d1e0afe9b23e56167",
              "file": "tests/ui/auth.spec.ts",
              "line": 173,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/cms-proxy.spec.ts",
      "file": "tests/ui/cms-proxy.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "/api/cms/ proxy",
          "file": "tests/ui/cms-proxy.spec.ts",
          "line": 12,
          "column": 6,
          "specs": [
            {
              "title": "/api/cms/users/me is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 33,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.572Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-cc9bb6a3cfc76f59bc01",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/users is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 9,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.647Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-617668a16c2dee63692c",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/users/login is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.678Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-18de684729d5b7f54b47",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/payload-mcp-api-keys is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 12,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.704Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-b8a6a58d1ac5d4d968f9",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/payload-preferences is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.732Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-ae25edf4804185cce0cf",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/payload-locked-documents is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 13,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.757Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-b50cab05dc798cfacc41",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/posts is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 14,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.787Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-abffd54722acee136ad6",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/media is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 14,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.816Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-5b06a815231650bc7724",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/graphql is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 15,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.844Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-ce39e6c13a114fa28f07",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/mcp is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.876Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-eecb42b6f024183a9e65",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/slug-lookup?collection=politicians&path=x is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.909Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-3a3d7ba9aee59900e4e8",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/politicians/a/b is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.938Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-e26099ab3e6165e9bf8e",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/politicians/%2e%2e/users/me is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 10,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.967Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-5be9c9a7194b19ecd45f",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/politicians%2F..%2Fusers%2Fme is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 8,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.990Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-2a09439d06bbeb58d327",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "/api/cms/ is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 8,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.007Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-46084719f8cf8fc9e6af",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 30,
              "column": 9
            },
            {
              "title": "writes are 405",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 19,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.027Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-c3e3f0331df33854dcd3",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 39,
              "column": 7
            },
            {
              "title": "the allowed collections reach the CMS",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 1,
                      "status": "passed",
                      "duration": 36,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.057Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "71ccbf92d55b4dbfb95f-37e9db234d843b0ff2d8",
              "file": "tests/ui/cms-proxy.spec.ts",
              "line": 46,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/county-filters.spec.ts",
      "file": "tests/ui/county-filters.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "tracts county filter: GEOID option values list the county's tracts",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 2,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1372,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:39.639Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/county-filters-tracts-coun-8d5fe-es-list-the-county-s-tracts-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "27700f440bd41f34957a-c91732dd519bda18fdc2",
          "file": "tests/ui/county-filters.spec.ts",
          "line": 39,
          "column": 7
        },
        {
          "title": "blocks county filter: GEOID option values list the county's blocks",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 2,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2351,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:41.169Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/county-filters-blocks-coun-76060-es-list-the-county-s-blocks-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "27700f440bd41f34957a-f985531d9a6cf726a6b3",
          "file": "tests/ui/county-filters.spec.ts",
          "line": 39,
          "column": 7
        },
        {
          "title": "precincts county filter: GEOID option values list the county's precincts",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 2,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 713,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:43.532Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/county-filters-precincts-c-f8a85-list-the-county-s-precincts-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "27700f440bd41f34957a-7c41065a343e42681997",
          "file": "tests/ui/county-filters.spec.ts",
          "line": 39,
          "column": 7
        }
      ]
    },
    {
      "title": "tests/ui/data-contracts.spec.ts",
      "file": "tests/ui/data-contracts.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "graph data contracts",
          "file": "tests/ui/data-contracts.spec.ts",
          "line": 24,
          "column": 6,
          "specs": [
            {
              "title": "county state_fips + county_fips is the GEOID tracts and blocks join on",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 1111,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] county state_fips + county_fips is the GEOID tracts and blocks join on: {\"name\":\"Wheeler County\",\"state_fips\":\"48\",\"county_fips\":\"483\"}, {\"name\":\"Blanco County\",\"state_fips\":\"48\",\"county_fips\":\"031\"}, {\"name\":\"Brewster County\",\"state_fips\":\"48\",\"county_fips\":\"043\"}\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.606Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-f384fe1a5980f6fbbab9",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 25,
              "column": 7
            },
            {
              "title": "precincts join on the 5-digit county GEOID",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 119,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.762Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-4429b8eac19c273f24bb",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 50,
              "column": 7
            },
            {
              "title": "candidate ids are UUID5s and carry their FEC id",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 107,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.895Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-0d399e3f265b47191366",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 58,
              "column": 7
            },
            {
              "title": "Party exposes its FEC code",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 150,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.016Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-a452252060391ae22369",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 71,
              "column": 7
            },
            {
              "title": "the graph serves every scalar the schema declares (seeded sample per type)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 240000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 5401,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Block: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Candidate: 50000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:CodeSource: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Committee: 20000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Contributor: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:County: 50000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Cycle: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:DataSource: 50000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:District: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Employer: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Individual: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Office: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Organization: 1000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Party: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Place: 50000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:PostalCode: 0\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Precinct: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Tract: 5000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Stage: 50000\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:State: 0\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] scalars:Vendor: 1000\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.178Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-83e55b3a887e2ecf6eaf",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 81,
              "column": 7
            },
            {
              "title": "entity counts stay above the accepted baseline",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 3,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.590Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "370fc745607416148837-d1674ff7d0fddc5795da",
              "file": "tests/ui/data-contracts.spec.ts",
              "line": 162,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/disabled-pages.spec.ts",
      "file": "tests/ui/disabled-pages.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "disabled entity pages",
          "file": "tests/ui/disabled-pages.spec.ts",
          "line": 8,
          "column": 6,
          "specs": [
            {
              "title": "/contributors returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 161,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.592Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-15012-es-contributors-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-eeaf2a96904f5fab5855",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "/contributors/ returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 112,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.966Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-15012-es-contributors-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-4ef4084687b4fd401e0e",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "/contributors/any-entity-id/ returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 83,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.106Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-dad75-s-any-entity-id-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-e3ed295c83582d4283c6",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "homepage has no link or visible card for /contributors/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 198,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.203Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-a3004-ible-card-for-contributors--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-dc932c58cabd7e95e978",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 17,
              "column": 9
            },
            {
              "title": "/codesources returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 110,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.414Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-entity-pages-codesources-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-fb06178d006e6578315a",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "/codesources/ returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 104,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.540Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-entity-pages-codesources-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-8235710cd0b53cf94f3d",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "/codesources/any-entity-id/ returns 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 82,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.658Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-808a2-s-any-entity-id-returns-404-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-d46c47f30cca6317f3ef",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 11,
              "column": 11
            },
            {
              "title": "homepage has no link or visible card for /codesources/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 205,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.750Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-269ae-sible-card-for-codesources--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-315ac629d40ead7d7e3f",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 17,
              "column": 9
            },
            {
              "title": "homepage still shows enabled entity cards",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 182,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.966Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-839ee--shows-enabled-entity-cards-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-9cd10ec808f3bc4b54f0",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 24,
              "column": 7
            },
            {
              "title": "homepage loads without script errors",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 1055,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.161Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-9b095-loads-without-script-errors-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-4bdcb6be185099980649",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 31,
              "column": 7
            },
            {
              "title": "disabled-pages runtime script is served",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 4,
                      "status": "passed",
                      "duration": 94,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.226Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/disabled-pages-disabled-en-07214-es-runtime-script-is-served-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "76b2ced8126cfc1f8d6e-41968bac84ec1d02c2e6",
              "file": "tests/ui/disabled-pages.spec.ts",
              "line": 39,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/entities.spec.ts",
      "file": "tests/ui/entities.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "us.elect.info entity sections",
          "file": "tests/ui/entities.spec.ts",
          "line": 13,
          "column": 6,
          "specs": [
            {
              "title": "candidates section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 740,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] candidates section - index and random pages: /politicians/b6f801af-5a54-420b-b63d-4e4a69540d14/, /politicians/2a7de561-5356-faa0-5052-63aed4ddcd27/, /politicians/10e488e1-4d9d-19d9-c96e-869dd0c45757/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.617Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-54da5-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-27dbb3fc8778de5a92d1",
              "file": "tests/ui/entities.spec.ts",
              "line": 15,
              "column": 7
            },
            {
              "title": "committees section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 575,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] committees section - index and random pages: /committees/9ff2aa18-73cb-cfff-8f63-812edb04be24/, /committees/63a536ce-a26c-62d9-8b96-3fbb01c34130/, /committees/e924b6cf-d95b-f392-714c-9be43e5ee2f1/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.538Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-9ea35-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-e974c5cf3a3265485947",
              "file": "tests/ui/entities.spec.ts",
              "line": 36,
              "column": 7
            },
            {
              "title": "parties section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 1146,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] parties section - index and random pages: /parties/412e2507-6b3c-2d47-6fcc-7f2fe6f7aeb0/, /parties/daeb4657-d625-b0e8-643f-c471b2ec39fe/, /parties/d85f9b21-18ec-b69e-100c-7012e68cc86d/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.132Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-de35a-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-10bf5643f2069b30d1e6",
              "file": "tests/ui/entities.spec.ts",
              "line": 57,
              "column": 7
            },
            {
              "title": "offices section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 537,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] offices section - index and random pages: /offices/b9c15a02-2752-7905-5fef-cf9fcc262b56/, /offices/7c29b59b-2482-71ba-7557-1ba7e77daa10/, /offices/6e63f5e1-5a2e-5541-a643-1be9ac075136/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.292Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-430dd-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-57c837c2cf446c42d558",
              "file": "tests/ui/entities.spec.ts",
              "line": 78,
              "column": 7
            },
            {
              "title": "districts section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 1118,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] districts section - index and random pages: /districts/51e1e052-ef06-2a05-fbe6-1c2281ae347f/, /districts/b9c18b0d-94ec-9236-2fff-2af31546563d/, /districts/8e8a14bf-cfec-697d-3aa8-e079889cece2/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.845Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-f70f2-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-0603cede9ea0f43c33a6",
              "file": "tests/ui/entities.spec.ts",
              "line": 99,
              "column": 7
            },
            {
              "title": "states section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 913,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] states section - index and random pages: /states/co/, /states/hi/, /states/ks/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.978Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-02398-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-859b9ebc18597fc7cd99",
              "file": "tests/ui/entities.spec.ts",
              "line": 141,
              "column": 7
            },
            {
              "title": "elections section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 431,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] elections section - index and random pages: /elections/1994/, /elections/2026/, /elections/2012/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.904Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-8bb93-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-b8ea6926bb024b138407",
              "file": "tests/ui/entities.spec.ts",
              "line": 170,
              "column": 7
            }
          ]
        },
        {
          "title": "office profile - dynamic candidates",
          "file": "tests/ui/entities.spec.ts",
          "line": 192,
          "column": 6,
          "specs": [
            {
              "title": "office profile loads candidates filtered to office",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 218,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.346Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-office-profile----cd2a4-ndidates-filtered-to-office-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-754cb9c02b5294c0dd5c",
              "file": "tests/ui/entities.spec.ts",
              "line": 196,
              "column": 7
            },
            {
              "title": "office profile candidates sorted by total contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 223,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.576Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-office-profile----9afcc-al-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-6e65f0bd8866689ca94b",
              "file": "tests/ui/entities.spec.ts",
              "line": 218,
              "column": 7
            },
            {
              "title": "office profile renders candidate results in UI",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 156,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.812Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-office-profile----0556c-ers-candidate-results-in-UI-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-138301d01ff79967b9fa",
              "file": "tests/ui/entities.spec.ts",
              "line": 246,
              "column": 7
            }
          ]
        },
        {
          "title": "state profile - dynamic candidates",
          "file": "tests/ui/entities.spec.ts",
          "line": 261,
          "column": 6,
          "specs": [
            {
              "title": "state profile loads candidates filtered to state",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 167,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.979Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-state-profile---d-e1647-andidates-filtered-to-state-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-23323ef80148534fb960",
              "file": "tests/ui/entities.spec.ts",
              "line": 264,
              "column": 7
            },
            {
              "title": "state profile candidates sorted by total contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 176,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.158Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-state-profile---d-b2908-al-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-631c42730cdb715cf791",
              "file": "tests/ui/entities.spec.ts",
              "line": 283,
              "column": 7
            }
          ]
        },
        {
          "title": "district profile - dynamic candidates",
          "file": "tests/ui/entities.spec.ts",
          "line": 311,
          "column": 6,
          "specs": [
            {
              "title": "district profile loads candidates filtered to district",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 181,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.346Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-district-profile--c0956-idates-filtered-to-district-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-775cbc1b1c48b28b5324",
              "file": "tests/ui/entities.spec.ts",
              "line": 314,
              "column": 7
            },
            {
              "title": "district profile candidates sorted by total contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 182,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.537Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-district-profile--1321e-al-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-f00bfce3824e336086aa",
              "file": "tests/ui/entities.spec.ts",
              "line": 336,
              "column": 7
            }
          ]
        },
        {
          "title": "entity browse sort order - quantitative fields",
          "file": "tests/ui/entities.spec.ts",
          "line": 379,
          "column": 6,
          "specs": [
            {
              "title": "candidates sorted by total contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 166,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.729Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-entity-browse-sor-5c84b-al-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-e799dea180dde7b078da",
              "file": "tests/ui/entities.spec.ts",
              "line": 381,
              "column": 7
            },
            {
              "title": "committees sorted by total receipts descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 171,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.907Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-entity-browse-sor-e4166-y-total-receipts-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-717048594564fd91aeee",
              "file": "tests/ui/entities.spec.ts",
              "line": 389,
              "column": 7
            },
            {
              "title": "vendors sorted by total received descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 153,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.090Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-entity-browse-sor-fb9d9-y-total-received-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-3102f0e0d367177cc559",
              "file": "tests/ui/entities.spec.ts",
              "line": 397,
              "column": 7
            },
            {
              "title": "individuals sorted by total contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 182,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.255Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-entity-browse-sor-9b1cc-al-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-4172cf90fdc39f1e8b04",
              "file": "tests/ui/entities.spec.ts",
              "line": 405,
              "column": 7
            },
            {
              "title": "employers sorted by total employee contributions descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 156,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.449Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-entity-browse-sor-2868b-ee-contributions-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-2ca76e131a1ccafc504c",
              "file": "tests/ui/entities.spec.ts",
              "line": 416,
              "column": 7
            }
          ]
        },
        {
          "title": "us.elect.info entity sections - additional index + detail",
          "file": "tests/ui/entities.spec.ts",
          "line": 425,
          "column": 6,
          "specs": [
            {
              "title": "employers section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 325,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] employers section - index and random pages: /employers/7a4c48f4-b68c-3388-5cfe-9bfdfc967224/, /employers/a3c70989-0fb6-1336-b986-f8e43a738ad5/, /employers/5f9a1727-2225-3699-685b-8fb15c17c8f3/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.618Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-095ba-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-b6b14a576f48b71af5e5",
              "file": "tests/ui/entities.spec.ts",
              "line": 427,
              "column": 7
            },
            {
              "title": "vendors section - index and random pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 282,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] vendors section - index and random pages: /vendors/10a528f4-b336-2b2b-f368-ace576e29ebf/, /vendors/1aa9d0ff-f8e3-8e48-4ba1-6c40961cff3f/, /vendors/c2aa6986-f2b0-d693-fbd0-8e46276347e1/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.953Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-29463-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-586eade1e031f2078f6b",
              "file": "tests/ui/entities.spec.ts",
              "line": 447,
              "column": 7
            },
            {
              "title": "counties section - index and random detail pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 721,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] counties section - index and random detail pages: /counties/2d62302d-1678-99ca-880e-adebdca70b06/, /counties/7bf931c8-aaef-c646-303b-b858999f30a4/, /counties/c221f456-8b26-82a1-e373-4dc7038b0d46/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:48.244Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-a02d5-dex-and-random-detail-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-6889bbe45fe800e5d9be",
              "file": "tests/ui/entities.spec.ts",
              "line": 467,
              "column": 7
            },
            {
              "title": "places section - index and random detail pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 733,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] places section - index and random detail pages: /places/8cf7c314-8a6a-845a-bae0-42802e53a4d0/, /places/f629cb0b-783a-0373-9237-b0e6d0165165/, /places/b7c286fc-4ec4-62ea-98ad-b20d1f26cf44/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:48.978Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-45389-dex-and-random-detail-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-c9580fbe75551276dc4a",
              "file": "tests/ui/entities.spec.ts",
              "line": 495,
              "column": 7
            },
            {
              "title": "postalcodes section - index and random detail pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 718,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] postalcodes section - index and random detail pages: /postalcodes/f7adb458-8950-34e5-51a2-acc058505769/, /postalcodes/75d12a67-598e-9964-5ba6-53c60565d9bd/, /postalcodes/5005011a-b540-81d7-b942-aea3827a76a8/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:49.726Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-7c577-dex-and-random-detail-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-7378845a8b20f0ca8dc7",
              "file": "tests/ui/entities.spec.ts",
              "line": 523,
              "column": 7
            },
            {
              "title": "precincts section - map view and state filter",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 691,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] precincts section - map view and state filter: /precincts/0f26fa18-aadd-5f91-0541-d22f64d71479/, /precincts/9938dcea-100c-afe1-670b-46287911c6fb/, /precincts/53eeec0a-0a4d-a074-10d7-dccbcb94aa33/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:50.457Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-94b96---map-view-and-state-filter-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-b994931c7f61cea69263",
              "file": "tests/ui/entities.spec.ts",
              "line": 551,
              "column": 7
            },
            {
              "title": "tracts section - state/county filter and random detail pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "passed",
                      "duration": 820,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] tracts section - state/county filter and random detail pages: /tracts/178b6fad-1eee-7f82-8ceb-235cd0358e37/, /tracts/7a9e4033-c057-1971-71f3-a032412b349e/, /tracts/392ec8e1-2af4-9f42-23e2-dbd48a48d184/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:51.161Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-bf75c-ter-and-random-detail-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e590b0e25242679a26f1-073b2eb60264357a1ca9",
              "file": "tests/ui/entities.spec.ts",
              "line": 604,
              "column": 7
            }
          ]
        },
        {
          "title": "us.elect.info entity sections - individuals (premium)",
          "file": "tests/ui/entities.spec.ts",
          "line": 657,
          "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",
                      "location": {
                        "file": "/app/tests/ui/entities.spec.ts",
                        "line": 666,
                        "column": 10
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 5,
                      "status": "skipped",
                      "duration": 79,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:51.995Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "description": "Requires PLAYWRIGHT_AUTH_USER/PLAYWRIGHT_AUTH_PASS",
                          "location": {
                            "file": "/app/tests/ui/entities.spec.ts",
                            "line": 666,
                            "column": 10
                          }
                        }
                      ],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entities-us-elect-info-ent-7f2e9-on---index-and-random-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "e590b0e25242679a26f1-fa85143bab060214a738",
              "file": "tests/ui/entities.spec.ts",
              "line": 665,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/entity-filters.spec.ts",
      "file": "tests/ui/entity-filters.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "individual donor filters",
          "file": "tests/ui/entity-filters.spec.ts",
          "line": 20,
          "column": 6,
          "specs": [
            {
              "title": "state, cycle, lifetime total and lean narrow the list and land in the URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 6,
                      "parallelIndex": 6,
                      "status": "passed",
                      "duration": 1151,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.616Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-filters-individual--168cd-he-list-and-land-in-the-URL-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "589b4d2d59414df6d16a-86f7e52d8ac4c2add6d3",
              "file": "tests/ui/entity-filters.spec.ts",
              "line": 29,
              "column": 7
            },
            {
              "title": "text filters: employer and ZIP prefix",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 6,
                      "parallelIndex": 6,
                      "status": "passed",
                      "duration": 350,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.917Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-filters-individual--88dba-ers-employer-and-ZIP-prefix-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "589b4d2d59414df6d16a-d602b2d29045026bf1c1",
              "file": "tests/ui/entity-filters.spec.ts",
              "line": 50,
              "column": 7
            },
            {
              "title": "an unknown filter field is refused by the API",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 6,
                      "parallelIndex": 6,
                      "status": "passed",
                      "duration": 1179,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.284Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "589b4d2d59414df6d16a-2f26c7bcfc0fe5f858da",
              "file": "tests/ui/entity-filters.spec.ts",
              "line": 58,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/entity-graph.spec.ts",
      "file": "tests/ui/entity-graph.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "entity-graph script injection",
          "file": "tests/ui/entity-graph.spec.ts",
          "line": 21,
          "column": 6,
          "specs": [
            {
              "title": "injected once on /committees/a75a9110-f1db-a945-39a8-7503ed3c04da/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 46,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.628Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-29e66cb8f40124191f24",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 23,
              "column": 9
            },
            {
              "title": "injected once on /candidates/a8897257-430c-2bf3-4498-349021b09ca3/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 19,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.716Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-8caee27d666b889f629d",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 23,
              "column": 9
            },
            {
              "title": "not injected on /states/032f8d61-f554-f435-2a6d-50b3c8cc01d7/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 17,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.750Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-b079643ce2eb264e4473",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 31,
              "column": 9
            },
            {
              "title": "not injected on /elections/2024/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 14,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.780Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-a1eb6278fed6d4b5614b",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 31,
              "column": 9
            },
            {
              "title": "not injected on /offices/president/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 22,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.815Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-b3bac75bfbf090c5eca2",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 31,
              "column": 9
            }
          ]
        },
        {
          "title": "entityGraph API",
          "file": "tests/ui/entity-graph.spec.ts",
          "line": 39,
          "column": 6,
          "specs": [
            {
              "title": "C00010603: neighbours without individuals, money edges with amounts",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 32,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.855Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-b3fdec8c25bff91f5112",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 41,
              "column": 9
            },
            {
              "title": "P00009423: neighbours without individuals, money edges with amounts",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "passed",
                      "duration": 136,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.902Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "23d9f129c21032742001-dd19f11790f289a6f255",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 41,
              "column": 9
            }
          ]
        },
        {
          "title": "entity-graph pop-over",
          "file": "tests/ui/entity-graph.spec.ts",
          "line": 62,
          "column": 6,
          "specs": [
            {
              "title": "opens and draws on /committees/a75a9110-f1db-a945-39a8-7503ed3c04da/",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 7,
                      "parallelIndex": 7,
                      "status": "failed",
                      "duration": 15241,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.055Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    },
                    {
                      "workerIndex": 29,
                      "parallelIndex": 1,
                      "status": "failed",
                      "duration": 16110,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-10-17T02:46:55.828Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry1/video.webm"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry1/error-context.md"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    },
                    {
                      "workerIndex": 31,
                      "parallelIndex": 1,
                      "status": "failed",
                      "duration": 15253,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-10-17T02:47:12.623Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry2/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--d0dba-1db-a945-39a8-7503ed3c04da--ui-retry2/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "23d9f129c21032742001-759bfd2643a325762edb",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 64,
              "column": 9
            },
            {
              "title": "opens and draws on /candidates/a8897257-430c-2bf3-4498-349021b09ca3/",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 33,
                      "parallelIndex": 1,
                      "status": "failed",
                      "duration": 15246,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:47:28.442Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    },
                    {
                      "workerIndex": 34,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15999,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-10-17T02:47:44.250Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry1/video.webm"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry1/error-context.md"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    },
                    {
                      "workerIndex": 35,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15243,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/entity-graph.spec.ts:69:28",
                        "location": {
                          "file": "/app/tests/ui/entity-graph.spec.ts",
                          "column": 28,
                          "line": 69
                        },
                        "snippet": "\u001b[0m \u001b[90m 67 |\u001b[39m       \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(path)\u001b[33m;\u001b[39m\n \u001b[90m 68 |\u001b[39m       \u001b[36mconst\u001b[39m button \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 69 |\u001b[39m       \u001b[36mawait\u001b[39m expect(button)\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 70 |\u001b[39m       \u001b[36mawait\u001b[39m button\u001b[33m.\u001b[39mclick()\u001b[33m;\u001b[39m\n \u001b[90m 71 |\u001b[39m       \u001b[36mconst\u001b[39m dialog \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39mlocator(\u001b[32m'dialog.eg-dialog'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 72 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/entity-graph.spec.ts",
                            "column": 28,
                            "line": 69
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  67 |       await page.goto(path);\n  68 |       const button = page.locator('button.eg-open');\n> 69 |       await expect(button).toHaveCount(1, { timeout: 15000 });\n     |                            ^\n  70 |       await button.click();\n  71 |       const dialog = page.locator('dialog.eg-dialog');\n  72 |       await expect(dialog).toBeVisible();\n    at /app/tests/ui/entity-graph.spec.ts:69:28"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-10-17T02:48:00.956Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry2/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/entity-graph-entity-graph--c0375-30c-2bf3-4498-349021b09ca3--ui-retry2/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/entity-graph.spec.ts",
                        "column": 28,
                        "line": 69
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "23d9f129c21032742001-d147fc999d701bc54cf5",
              "file": "tests/ui/entity-graph.spec.ts",
              "line": 64,
              "column": 9
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/layout.spec.ts",
      "file": "tests/ui/layout.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "landing page layout",
          "file": "tests/ui/layout.spec.ts",
          "line": 34,
          "column": 6,
          "specs": [
            {
              "title": "/offices/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 219,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.703Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-f9a0f--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-b103aceb46d9e33c607c",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/candidates/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 181,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.071Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-e1535--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-501813caa83ee6ffddae",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/committees/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 165,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.270Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-f8e77--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-de18f184843b0fae568d",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/districts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 429,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.448Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-35cf0--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-1f26499e48b19f3c5079",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/elections/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 172,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.892Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-95621--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-199799185e5210591ab4",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/employers/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 157,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.077Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-7159b--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-2140f49bb861fe7bbe46",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/individuals/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 154,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.247Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-b60e0--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-a633dc3b7a23c4f18ee7",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/parties/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 149,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.414Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-93081--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-4e481b7b1ad5efb291d8",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/vendors/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 140,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.575Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-3b19b--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-88452699ffd4b556e70b",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/counties/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 344,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.730Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-00485--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-6758f7f476db88956d39",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/places/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 353,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.089Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-places-loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-f549dc77f989ce03913a",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/precincts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 417,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.453Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-03eaf--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-2b94cf26eef28c61b95a",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/tracts/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 399,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.880Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-tracts-loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-6f56d03ec531675b43bb",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/postalcodes/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 362,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.290Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-2fbed--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-cec77f76cc935aa28244",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/blocks/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 406,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.661Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-blocks-loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-c7888d679ec3d65988bb",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/states/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 494,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.079Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-states-loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-cb2a9d49b945fcadff5b",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/datasources/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 144,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.584Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-d7e7f--loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-e15a22bb0b0e0b8702da",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "/ loads with correct heading",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 163,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.738Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-landing-page-layout-loads-with-correct-heading-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-b3bb4507b2ed87666026",
              "file": "tests/ui/layout.spec.ts",
              "line": 36,
              "column": 9
            }
          ]
        },
        {
          "title": "entity index layout - search UI above results",
          "file": "tests/ui/layout.spec.ts",
          "line": 43,
          "column": 6,
          "specs": [
            {
              "title": "/offices/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 167,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.912Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-d0829--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-2f959d27c43f09851847",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/candidates/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 203,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.093Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-5cf92--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-00076dbe4f0c22864078",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/committees/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 161,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.307Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-f16d0--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-0fe38d5384d0548662ad",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/districts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 397,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.482Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-59044--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-5648e4a82b3c14f4b29a",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/elections/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 152,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.891Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-069e9--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-baff7226ae19ee1c41c4",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/employers/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 179,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.052Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-0759c--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-f8acbc052c6aa8109879",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/individuals/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 178,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.241Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-37753--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-012ad5df38578222c51a",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/parties/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 149,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.430Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-06b7d--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-c3c8681cb3628cf835f3",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/vendors/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 160,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.592Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-0b4b4--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-fdfc262d12f616388ed5",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/counties/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 403,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.765Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-cc2cb--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-fd21bba6e2c81307bfbb",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/places/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 375,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.179Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-03981--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-dc93ee5eb496af9f132d",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/precincts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 376,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.567Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-b2a82--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-b398a97535a50c3906a3",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/tracts/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 363,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.958Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-819d4--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-f1e37aa61dc45b736499",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/postalcodes/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 373,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:48.336Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-7b0e8--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-c665f4d02c3670bb60f1",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "/blocks/ has no static search description in main",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 512,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:48.723Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-3f3cc--search-description-in-main-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-a296b365c921f935f0ac",
              "file": "tests/ui/layout.spec.ts",
              "line": 45,
              "column": 9
            },
            {
              "title": "offices - search container appears before main in DOM",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 173,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:49.251Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-59504--appears-before-main-in-DOM-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-025db2696f459ca9ce93",
              "file": "tests/ui/layout.spec.ts",
              "line": 56,
              "column": 7
            },
            {
              "title": "candidates - search container appears before main in DOM",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 8,
                      "status": "passed",
                      "duration": 171,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:49.440Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/layout-entity-index-layout-729a8--appears-before-main-in-DOM-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9f98fd8c8d1538f5ebbb-fc645687ac9b64d16a9d",
              "file": "tests/ui/layout.spec.ts",
              "line": 71,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/leaf-details.spec.ts",
      "file": "tests/ui/leaf-details.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "leaf collection client-side detail pages",
          "file": "tests/ui/leaf-details.spec.ts",
          "line": 69,
          "column": 6,
          "specs": [
            {
              "title": "individual detail renders a bounded contribution profile",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 579,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.657Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-c5a9d-ounded-contribution-profile-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-a2db653e74557c471e56",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 70,
              "column": 7
            },
            {
              "title": "employer detail renders totals and a bounded donor list below threshold",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 3024,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.387Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-26705--donor-list-below-threshold-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-f7566958d39b4e43ad90",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 83,
              "column": 7
            },
            {
              "title": "vendor detail renders totals and committee clients, ranked or edge-sorted",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 519,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.430Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-1a58b-ients-ranked-or-edge-sorted-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-4a09f332855f839e222b",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 92,
              "column": 7
            },
            {
              "title": "block detail renders voter data and bounded geography links",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 611,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.961Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-50a84-and-bounded-geography-links-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-8e2fbaa51cd3bb771d1c",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 112,
              "column": 7
            },
            {
              "title": "block map links (/blocks/<geoid>/) resolve to the block by its derived id",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 438,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.585Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-3e05c-the-block-by-its-derived-id-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-e2fa35759bb0fb651ac4",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 120,
              "column": 7
            },
            {
              "title": "precinct detail bootstraps directly and renders results",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 319,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.041Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-ad0bd-irectly-and-renders-results-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-498f148b1bb8c8ca5043",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 127,
              "column": 7
            },
            {
              "title": "tract detail remains client-rendered under the generalized leaf route",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 522,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.376Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-6e33d--the-generalized-leaf-route-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-943e9e10b1959a53f29b",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 136,
              "column": 7
            },
            {
              "title": "hub employer renders totals without issuing a live connection query",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 161,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.907Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-84944-ing-a-live-connection-query-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-a8b9358953cbb0b8c0a9",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 156,
              "column": 7
            },
            {
              "title": "hub vendor resolves an alias without issuing a live connection query",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 209,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.079Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-86be8-ing-a-live-connection-query-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-f2d8cbd96bd16419f748",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 206,
              "column": 7
            },
            {
              "title": "hub vendor lists its ranked top clients with a top-N-of-P footer and Sankey (sites#261)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 338,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.304Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-22f5d-ooter-and-Sankey-sites-261--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-efc8dff31707720d5493",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 277,
              "column": 7
            },
            {
              "title": "individual Top Committees: one row per committee and a distinct-committee footer (sites#194)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 195,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.661Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-c9ccd-committee-footer-sites-194--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-e7d9a1f93425703003bf",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 345,
              "column": 7
            },
            {
              "title": "vendor live clients come from moneyCounterparties when the graph has no ranks (sites#194)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 9,
                      "parallelIndex": 9,
                      "status": "passed",
                      "duration": 293,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.874Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/leaf-details-leaf-collecti-92c9b-aph-has-no-ranks-sites-194--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "d48770b0cc7e6c0061b9-8ec7a2312ae8e8cad842",
              "file": "tests/ui/leaf-details.spec.ts",
              "line": 390,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/money-flow-mount.spec.ts",
      "file": "tests/ui/money-flow-mount.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "Candidate: two-column mount still toggles and disposes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 10,
                  "parallelIndex": 10,
                  "status": "passed",
                  "duration": 471,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:39.651Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-mount-Candidate-fb352--still-toggles-and-disposes-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0a17689d70e3e5ee0c25-0e163677fe23b16c04ff",
          "file": "tests/ui/money-flow-mount.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "Committee: two-column mount still toggles and disposes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 10,
                  "parallelIndex": 10,
                  "status": "passed",
                  "duration": 375,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:40.267Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-mount-Committee-41495--still-toggles-and-disposes-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0a17689d70e3e5ee0c25-4556932a37ce611852fd",
          "file": "tests/ui/money-flow-mount.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "Vendor: two-column mount still toggles and disposes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 10,
                  "parallelIndex": 10,
                  "status": "passed",
                  "duration": 357,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:40.656Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-mount-Vendor-tw-8746b--still-toggles-and-disposes-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0a17689d70e3e5ee0c25-39393939450120315a11",
          "file": "tests/ui/money-flow-mount.spec.ts",
          "line": 10,
          "column": 7
        }
      ]
    },
    {
      "title": "tests/ui/money-flow.spec.ts",
      "file": "tests/ui/money-flow.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "money-flow script injection",
          "file": "tests/ui/money-flow.spec.ts",
          "line": 25,
          "column": 6,
          "specs": [
            {
              "title": "injected once on /committees/a75a9110-f1db-a945-39a8-7503ed3c04da/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 39,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.600Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-ac19bd19a112bbc633b9",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 27,
              "column": 9
            },
            {
              "title": "injected once on /candidates/a8897257-430c-2bf3-4498-349021b09ca3/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 18,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.680Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-1e24093b4e753edfa81f",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 27,
              "column": 9
            },
            {
              "title": "not injected on /states/032f8d61-f554-f435-2a6d-50b3c8cc01d7/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.718Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-7a4f8e57d8a34b965055",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "not injected on /elections/2024/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 12,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.753Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-2dcd02a112846a1c74ab",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "not injected on /offices/president/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.784Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-a7c67ffeb658d5760d58",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 36,
              "column": 9
            },
            {
              "title": "not injected on /districts/ak/00/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 19,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.817Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-70d1251eabbd50eef434",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 36,
              "column": 9
            }
          ]
        },
        {
          "title": "money-flow card toggle",
          "file": "tests/ui/money-flow.spec.ts",
          "line": 44,
          "column": 6,
          "specs": [
            {
              "title": "committee: each money card defaults to the Sankey",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 571,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.855Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-90793-card-defaults-to-the-Sankey-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-1379512e23819a3f13a3",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 45,
              "column": 7
            },
            {
              "title": "candidate: Top Contributors toggles between Sankey and table",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 492,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.523Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-05c02-es-between-Sankey-and-table-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-66eef433452cb5f4518f",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 59,
              "column": 7
            },
            {
              "title": "candidate: #ie-support card follows the independent-expenditure data",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 1156,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.028Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-72da7-ndependent-expenditure-data-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-1839d1cd12dab3de3014",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 79,
              "column": 9
            },
            {
              "title": "committee: #ie-support card follows the independent-expenditure data",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 705,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.200Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-77078-ndependent-expenditure-data-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-c03ecaaa846d30d640c2",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 79,
              "column": 9
            },
            {
              "title": "candidate: #ie-oppose card follows the independent-expenditure data",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 325,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.921Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-b1fd1-ndependent-expenditure-data-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-cd8390d905a0c386907e",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 79,
              "column": 9
            },
            {
              "title": "committee: #ie-oppose card follows the independent-expenditure data",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 11,
                      "parallelIndex": 11,
                      "status": "passed",
                      "duration": 544,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.258Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/money-flow-money-flow-card-f1bb4-ndependent-expenditure-data-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "298b24fdb93a81fb6ce7-b82415fcc5b419d3939e",
              "file": "tests/ui/money-flow.spec.ts",
              "line": 79,
              "column": 9
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/news-feed.spec.ts",
      "file": "tests/ui/news-feed.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "news feed (source: OPENSEARCH)",
          "file": "tests/ui/news-feed.spec.ts",
          "line": 38,
          "column": 6,
          "specs": [
            {
              "title": "the feed serves articles with resolved entities",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 12,
                      "parallelIndex": 12,
                      "status": "passed",
                      "duration": 755,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.667Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "1af1026586bac743cce4-f13e5cf3d2f509b8f6ed",
              "file": "tests/ui/news-feed.spec.ts",
              "line": 39,
              "column": 7
            },
            {
              "title": "candidate chips carry an FEC party code, never a graph id",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 12,
                      "parallelIndex": 12,
                      "status": "passed",
                      "duration": 210,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.472Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "1af1026586bac743cce4-a0d92ad6dfd4d6b3887d",
              "file": "tests/ui/news-feed.spec.ts",
              "line": 47,
              "column": 7
            },
            {
              "title": "party facet keys are FEC codes and the party filter matches",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 12,
                      "parallelIndex": 12,
                      "status": "passed",
                      "duration": 1657,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.697Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "1af1026586bac743cce4-ad8d68d0c5df3f8fda27",
              "file": "tests/ui/news-feed.spec.ts",
              "line": 61,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/page-aliases.spec.ts",
      "file": "tests/ui/page-aliases.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "static page aliases",
          "file": "tests/ui/page-aliases.spec.ts",
          "line": 45,
          "column": 6,
          "specs": [
            {
              "title": "canonical vanity URL serves the stored page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 54,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.677Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-01c6492deafe21c2f9dd",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 48,
              "column": 7
            },
            {
              "title": "vanity lookup ignores case, trailing slash and index.html",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 48,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.784Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-07e8807475348f87bc20",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 52,
              "column": 7
            },
            {
              "title": "UUID URL serves the page with its vanity canonical",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 26,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.853Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-d8a32d62d9503bea2b6e",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 58,
              "column": 7
            },
            {
              "title": "secondary keys redirect to the canonical URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 27,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.897Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-79778d6ee4c3fd5bcef0",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 66,
              "column": 7
            },
            {
              "title": "legacy URL shapes redirect to the canonical URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 542,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.937Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-b1dcc28f4f8ac7c8b0e9",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 73,
              "column": 7
            },
            {
              "title": "redirect targets are served",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 19,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.496Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-1953e0e87b9ede5e9f3e",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 79,
              "column": 7
            },
            {
              "title": "an unknown address is not served as a page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 13,
                      "parallelIndex": 13,
                      "status": "passed",
                      "duration": 9,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.528Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "435b8a583a557afdb4f4-cf40560c183e754a8e41",
              "file": "tests/ui/page-aliases.spec.ts",
              "line": 85,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/postalcodes.spec.ts",
      "file": "tests/ui/postalcodes.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "ZIP code overlaps (API)",
          "file": "tests/ui/postalcodes.spec.ts",
          "line": 38,
          "column": 6,
          "specs": [
            {
              "title": "78701 overlaps TX-37 and Travis County, with land area",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 76,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.688Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-fd9f717d5d792e008913",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 43,
              "column": 7
            },
            {
              "title": "a ZIP split across districts and counties: 02467 (Chestnut Hill, MA)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 119,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.820Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-b1cff2326cd3f5773029",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 54,
              "column": 7
            },
            {
              "title": "the edges read both ways: TX-37 and Travis County list 78701",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 509,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.964Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-9053988a012c927e29a5",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 61,
              "column": 7
            },
            {
              "title": "almost every ZIP has a county",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "ZIPs without a county",
                      "description": "305 of 33791"
                    }
                  ],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 386,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.486Z",
                      "annotations": [
                        {
                          "type": "ZIPs without a county",
                          "description": "305 of 33791"
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-91224e7aa3b0911623c7",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 73,
              "column": 7
            }
          ]
        },
        {
          "title": "ZIP code pages",
          "file": "tests/ui/postalcodes.spec.ts",
          "line": 86,
          "column": 6,
          "specs": [
            {
              "title": "78701 lists TX-37 and Travis County, linked",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 213,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.887Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/postalcodes-ZIP-code-pages-b006c-37-and-Travis-County-linked-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-dcfd4ffc4d7c795082e0",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 95,
              "column": 7
            },
            {
              "title": "02467 lists three districts, largest overlap first, and three counties",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 169,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.189Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/postalcodes-ZIP-code-pages-8dbdc-ap-first-and-three-counties-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-29298cb4d577f7a7bfe7",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 104,
              "column": 7
            },
            {
              "title": "the water-only \"ZZ\" district is not listed: 60611 (Chicago, on Lake Michigan)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 154,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.371Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/postalcodes-ZIP-code-pages-53b84-1-Chicago-on-Lake-Michigan--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-c65d4ecf3d263b810145",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 113,
              "column": 7
            },
            {
              "title": "the ZIP list shows each ZIP with its districts",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 14,
                      "status": "passed",
                      "duration": 2277,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.540Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/postalcodes-ZIP-code-pages-69177-each-ZIP-with-its-districts-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "9e1d6d67ffc6aff66f08-6c3a7e83de813fd10f0b",
              "file": "tests/ui/postalcodes.spec.ts",
              "line": 120,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/routing.spec.ts",
      "file": "tests/ui/routing.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "routing: canonical URLs per collection",
          "file": "tests/ui/routing.spec.ts",
          "line": 40,
          "column": 6,
          "specs": [
            {
              "title": "candidates: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 440,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] child:/candidates/sitemap-candidates.xml: https://preview.elect.info/candidates/sitemap-candidates-q.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] candidates: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/candidates/quinci-africacana-p40017493/, https://preview.elect.info/candidates/quincy-magee-s2pa00695/, https://preview.elect.info/candidates/quinci-suave-p40017527/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.725Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-7e72ef257b7e33487ee9",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "committees: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 685,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] child:/committees/sitemap-committees.xml: https://preview.elect.info/committees/sitemap-committees-f.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] committees: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/committees/friends-of-padraic-lee-c00853648/, https://preview.elect.info/committees/friends-of-wally-herger-for-assembly-c00205591/, https://preview.elect.info/committees/friends-of-weiner-c00327742/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.205Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-6a2ccbae2d970ac2c3e6",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "parties: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 268,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] parties: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/parties/non/, https://preview.elect.info/parties/theo-democratic/, https://preview.elect.info/parties/mt/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.903Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-9a390171348199e3fe37",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "offices: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 1159,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] offices: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/offices/house/oh-07/, https://preview.elect.info/offices/house/in-04/, https://preview.elect.info/offices/house/tx-66/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.185Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-d3be535c29f4096c9220",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "districts: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 386,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] districts: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/districts/tn-03/, https://preview.elect.info/districts/fl-28/, https://preview.elect.info/districts/ca-06/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.355Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-427ce06575114febc501",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "states: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 324,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] states: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/states/hawaii/, https://preview.elect.info/states/maine/, https://preview.elect.info/states/georgia/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.754Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-8e99a0e3eb3637999e3a",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "elections: sitemap URLs serve their page with rel=canonical = the sitemap URL",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 23,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "[sample seed=preview-rundeck-861842] elections: sitemap URLs serve their page with rel=canonical = the sitemap URL: https://preview.elect.info/elections/2016/, https://preview.elect.info/elections/2026/, https://preview.elect.info/elections/1984/\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.090Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-9897885e79ca8680f521",
              "file": "tests/ui/routing.spec.ts",
              "line": 44,
              "column": 9
            },
            {
              "title": "party badge links by FEC code redirect to the party page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 15,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.129Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-6f7f16146e9fcae9c6f1",
              "file": "tests/ui/routing.spec.ts",
              "line": 59,
              "column": 7
            }
          ]
        },
        {
          "title": "routing: every index link resolves",
          "file": "tests/ui/routing.spec.ts",
          "line": 71,
          "column": 6,
          "specs": [
            {
              "title": "/candidates/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 335,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.156Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-d47ad-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-a17ae3fc2924fcb5ebd6",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/committees/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 285,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.572Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-a9934-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-5a49ba9c6938493d73e1",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/parties/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 258,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.874Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-460ac-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-c682837875ef71f142bb",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/offices/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 486,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.143Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-530ff-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-89f42d8f841e3082c77a",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/elections/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 278,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.640Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-57a14-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-3800effe3714880c03cd",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/employers/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 298,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.928Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-96c98-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-22e23060552aa17bc15f",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            },
            {
              "title": "/vendors/ first-page links all answer 200 or 301",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 254,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.240Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/routing-routing-every-inde-cf190-links-all-answer-200-or-301-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-676c232661cc4f58e461",
              "file": "tests/ui/routing.spec.ts",
              "line": 73,
              "column": 9
            }
          ]
        },
        {
          "title": "routing: unknown addresses",
          "file": "tests/ui/routing.spec.ts",
          "line": 91,
          "column": 6,
          "specs": [
            {
              "title": "an unknown entity path answers 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 12,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.507Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-b05908296c32b152b967",
              "file": "tests/ui/routing.spec.ts",
              "line": 92,
              "column": 7
            },
            {
              "title": "an unknown leaf entity path serves the collection shell",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 15,
                      "parallelIndex": 15,
                      "status": "passed",
                      "duration": 13,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.528Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "43935043b4e8ab2472fa-bcb1fae8f9ad8a3e2a8b",
              "file": "tests/ui/routing.spec.ts",
              "line": 103,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/serving.spec.ts",
      "file": "tests/ui/serving.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "sitemaps",
          "file": "tests/ui/serving.spec.ts",
          "line": 22,
          "column": 6,
          "specs": [
            {
              "title": "candidates: the index lists one file per lead character, each a urlset",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 16,
                      "status": "passed",
                      "duration": 2537,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.718Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-9767824df806d6118ac7",
              "file": "tests/ui/serving.spec.ts",
              "line": 24,
              "column": 9
            },
            {
              "title": "committees: the index lists one file per lead character, each a urlset",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 16,
                      "status": "passed",
                      "duration": 1746,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.301Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-94aa544e2eac8eead0f5",
              "file": "tests/ui/serving.spec.ts",
              "line": 24,
              "column": 9
            },
            {
              "title": "a single-file collection sitemap is a urlset of its own pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 16,
                      "status": "passed",
                      "duration": 66,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.059Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-63d1a6acfa8333a6974d",
              "file": "tests/ui/serving.spec.ts",
              "line": 42,
              "column": 7
            },
            {
              "title": "a sitemap that does not exist is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 16,
                      "status": "passed",
                      "duration": 11,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.136Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-27904f07922a9c50fc21",
              "file": "tests/ui/serving.spec.ts",
              "line": 50,
              "column": 7
            }
          ]
        },
        {
          "title": "static assets",
          "file": "tests/ui/serving.spec.ts",
          "line": 57,
          "column": 6,
          "specs": [
            {
              "title": "state images are SVG with CORS and caching headers",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 16,
                      "status": "failed",
                      "duration": 11,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:62:31",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 31,
                          "line": 62
                        },
                        "snippet": "\u001b[0m \u001b[90m 60 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 61 |\u001b[39m     \u001b[36mconst\u001b[39m h \u001b[33m=\u001b[39m res\u001b[33m.\u001b[39mheaders()\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 62 |\u001b[39m     expect(h[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'image/svg+xml'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                               \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 63 |\u001b[39m     expect(h[\u001b[32m'access-control-allow-origin'\u001b[39m])\u001b[33m.\u001b[39mtoBe(\u001b[32m'*'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 64 |\u001b[39m     expect(h[\u001b[32m'cache-control'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'max-age='\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 65 |\u001b[39m     expect(\u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mtext())\u001b[33m.\u001b[39mtoContain(\u001b[32m'<svg'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 31,
                            "line": 62
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  60 |     expect(res.status()).toBe(200);\n  61 |     const h = res.headers();\n> 62 |     expect(h['content-type']).toContain('image/svg+xml');\n     |                               ^\n  63 |     expect(h['access-control-allow-origin']).toBe('*');\n  64 |     expect(h['cache-control']).toContain('max-age=');\n  65 |     expect(await res.text()).toContain('<svg');\n    at /app/tests/ui/serving.spec.ts:62:31"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.157Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-stat-9f2c0-th-CORS-and-caching-headers-ui/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 31,
                        "line": 62
                      }
                    },
                    {
                      "workerIndex": 23,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 69,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:62:31",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 31,
                          "line": 62
                        },
                        "snippet": "\u001b[0m \u001b[90m 60 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 61 |\u001b[39m     \u001b[36mconst\u001b[39m h \u001b[33m=\u001b[39m res\u001b[33m.\u001b[39mheaders()\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 62 |\u001b[39m     expect(h[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'image/svg+xml'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                               \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 63 |\u001b[39m     expect(h[\u001b[32m'access-control-allow-origin'\u001b[39m])\u001b[33m.\u001b[39mtoBe(\u001b[32m'*'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 64 |\u001b[39m     expect(h[\u001b[32m'cache-control'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'max-age='\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 65 |\u001b[39m     expect(\u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mtext())\u001b[33m.\u001b[39mtoContain(\u001b[32m'<svg'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 31,
                            "line": 62
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  60 |     expect(res.status()).toBe(200);\n  61 |     const h = res.headers();\n> 62 |     expect(h['content-type']).toContain('image/svg+xml');\n     |                               ^\n  63 |     expect(h['access-control-allow-origin']).toBe('*');\n  64 |     expect(h['cache-control']).toContain('max-age=');\n  65 |     expect(await res.text()).toContain('<svg');\n    at /app/tests/ui/serving.spec.ts:62:31"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-10-17T02:46:44.628Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-stat-9f2c0-th-CORS-and-caching-headers-ui-retry1/error-context.md"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-stat-9f2c0-th-CORS-and-caching-headers-ui-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 31,
                        "line": 62
                      }
                    },
                    {
                      "workerIndex": 24,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 41,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:62:31",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 31,
                          "line": 62
                        },
                        "snippet": "\u001b[0m \u001b[90m 60 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 61 |\u001b[39m     \u001b[36mconst\u001b[39m h \u001b[33m=\u001b[39m res\u001b[33m.\u001b[39mheaders()\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 62 |\u001b[39m     expect(h[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'image/svg+xml'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                               \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 63 |\u001b[39m     expect(h[\u001b[32m'access-control-allow-origin'\u001b[39m])\u001b[33m.\u001b[39mtoBe(\u001b[32m'*'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 64 |\u001b[39m     expect(h[\u001b[32m'cache-control'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'max-age='\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 65 |\u001b[39m     expect(\u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mtext())\u001b[33m.\u001b[39mtoContain(\u001b[32m'<svg'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 31,
                            "line": 62
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  60 |     expect(res.status()).toBe(200);\n  61 |     const h = res.headers();\n> 62 |     expect(h['content-type']).toContain('image/svg+xml');\n     |                               ^\n  63 |     expect(h['access-control-allow-origin']).toBe('*');\n  64 |     expect(h['cache-control']).toContain('max-age=');\n  65 |     expect(await res.text()).toContain('<svg');\n    at /app/tests/ui/serving.spec.ts:62:31"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-10-17T02:46:45.244Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-stat-9f2c0-th-CORS-and-caching-headers-ui-retry2/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 31,
                        "line": 62
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "facafd0cac1eb17ca154-1fa533f3ce271bd3f9a7",
              "file": "tests/ui/serving.spec.ts",
              "line": 58,
              "column": 7
            },
            {
              "title": "district GeoJSON is application/geo+json and parses",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 25,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 42,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:71:43",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 43,
                          "line": 71
                        },
                        "snippet": "\u001b[0m \u001b[90m 69 |\u001b[39m     \u001b[36mconst\u001b[39m res \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m request\u001b[33m.\u001b[39m\u001b[36mget\u001b[39m(\u001b[32m'/geo/districts/al/al-01.geojson'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 70 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 71 |\u001b[39m     expect(res\u001b[33m.\u001b[39mheaders()[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'application/geo+json'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                           \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 72 |\u001b[39m     \u001b[36mconst\u001b[39m geo \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 73 |\u001b[39m     expect([\u001b[32m'FeatureCollection'\u001b[39m\u001b[33m,\u001b[39m \u001b[32m'Feature'\u001b[39m])\u001b[33m.\u001b[39mtoContain(geo\u001b[33m.\u001b[39mtype)\u001b[33m;\u001b[39m\n \u001b[90m 74 |\u001b[39m   })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 43,
                            "line": 71
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  69 |     const res = await request.get('/geo/districts/al/al-01.geojson');\n  70 |     expect(res.status()).toBe(200);\n> 71 |     expect(res.headers()['content-type']).toContain('application/geo+json');\n     |                                           ^\n  72 |     const geo = await res.json();\n  73 |     expect(['FeatureCollection', 'Feature']).toContain(geo.type);\n  74 |   });\n    at /app/tests/ui/serving.spec.ts:71:43"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.809Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-dist-11051-ication-geo-json-and-parses-ui/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 43,
                        "line": 71
                      }
                    },
                    {
                      "workerIndex": 26,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 85,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:71:43",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 43,
                          "line": 71
                        },
                        "snippet": "\u001b[0m \u001b[90m 69 |\u001b[39m     \u001b[36mconst\u001b[39m res \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m request\u001b[33m.\u001b[39m\u001b[36mget\u001b[39m(\u001b[32m'/geo/districts/al/al-01.geojson'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 70 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 71 |\u001b[39m     expect(res\u001b[33m.\u001b[39mheaders()[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'application/geo+json'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                           \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 72 |\u001b[39m     \u001b[36mconst\u001b[39m geo \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 73 |\u001b[39m     expect([\u001b[32m'FeatureCollection'\u001b[39m\u001b[33m,\u001b[39m \u001b[32m'Feature'\u001b[39m])\u001b[33m.\u001b[39mtoContain(geo\u001b[33m.\u001b[39mtype)\u001b[33m;\u001b[39m\n \u001b[90m 74 |\u001b[39m   })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 43,
                            "line": 71
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  69 |     const res = await request.get('/geo/districts/al/al-01.geojson');\n  70 |     expect(res.status()).toBe(200);\n> 71 |     expect(res.headers()['content-type']).toContain('application/geo+json');\n     |                                           ^\n  72 |     const geo = await res.json();\n  73 |     expect(['FeatureCollection', 'Feature']).toContain(geo.type);\n  74 |   });\n    at /app/tests/ui/serving.spec.ts:71:43"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-10-17T02:46:46.384Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-dist-11051-ication-geo-json-and-parses-ui-retry1/error-context.md"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-dist-11051-ication-geo-json-and-parses-ui-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 43,
                        "line": 71
                      }
                    },
                    {
                      "workerIndex": 27,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 36,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n    at /app/tests/ui/serving.spec.ts:71:43",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 43,
                          "line": 71
                        },
                        "snippet": "\u001b[0m \u001b[90m 69 |\u001b[39m     \u001b[36mconst\u001b[39m res \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m request\u001b[33m.\u001b[39m\u001b[36mget\u001b[39m(\u001b[32m'/geo/districts/al/al-01.geojson'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 70 |\u001b[39m     expect(res\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 71 |\u001b[39m     expect(res\u001b[33m.\u001b[39mheaders()[\u001b[32m'content-type'\u001b[39m])\u001b[33m.\u001b[39mtoContain(\u001b[32m'application/geo+json'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                           \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 72 |\u001b[39m     \u001b[36mconst\u001b[39m geo \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m res\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 73 |\u001b[39m     expect([\u001b[32m'FeatureCollection'\u001b[39m\u001b[33m,\u001b[39m \u001b[32m'Feature'\u001b[39m])\u001b[33m.\u001b[39mtoContain(geo\u001b[33m.\u001b[39mtype)\u001b[33m;\u001b[39m\n \u001b[90m 74 |\u001b[39m   })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 43,
                            "line": 71
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoContain\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // indexOf\u001b[22m\n\n\u001b[1mMatcher error\u001b[22m: \u001b[31mreceived\u001b[39m value must not be null nor undefined\n\nReceived has value: \u001b[31mundefined\u001b[39m\n\n  69 |     const res = await request.get('/geo/districts/al/al-01.geojson');\n  70 |     expect(res.status()).toBe(200);\n> 71 |     expect(res.headers()['content-type']).toContain('application/geo+json');\n     |                                           ^\n  72 |     const geo = await res.json();\n  73 |     expect(['FeatureCollection', 'Feature']).toContain(geo.type);\n  74 |   });\n    at /app/tests/ui/serving.spec.ts:71:43"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-10-17T02:46:47.053Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-static-assets-dist-11051-ication-geo-json-and-parses-ui-retry2/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 43,
                        "line": 71
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "facafd0cac1eb17ca154-84da73e251953bb6b35b",
              "file": "tests/ui/serving.spec.ts",
              "line": 68,
              "column": 7
            },
            {
              "title": "a missing asset is 404",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 39,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.611Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-ee59e849ca62b46a41f2",
              "file": "tests/ui/serving.spec.ts",
              "line": 76,
              "column": 7
            }
          ]
        },
        {
          "title": "collection roots",
          "file": "tests/ui/serving.spec.ts",
          "line": 83,
          "column": 6,
          "specs": [
            {
              "title": "a collection without its trailing slash redirects relatively to the index page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 28,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.692Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-35c0c19fdb3025d1d766",
              "file": "tests/ui/serving.spec.ts",
              "line": 84,
              "column": 7
            }
          ]
        },
        {
          "title": "rendered candidate and committee pages (us-pages)",
          "file": "tests/ui/serving.spec.ts",
          "line": 94,
          "column": 6,
          "specs": [
            {
              "title": "a candidate page is rendered for the current graph build",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 16,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.733Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-2a6fb769baeb12eacefb",
              "file": "tests/ui/serving.spec.ts",
              "line": 95,
              "column": 7
            },
            {
              "title": "/politicians/<id>/ is the candidate page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.760Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-780f42d8689617265d3c",
              "file": "tests/ui/serving.spec.ts",
              "line": 113,
              "column": 7
            },
            {
              "title": "a House candidate links its party, office and district",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 7,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.778Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-b0f8bf3b14a6ada4429f",
              "file": "tests/ui/serving.spec.ts",
              "line": 120,
              "column": 7
            },
            {
              "title": "a committee page lists its money and its party affinity",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 8,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.794Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-7f762ab6b05cacd4df49",
              "file": "tests/ui/serving.spec.ts",
              "line": 133,
              "column": 7
            },
            {
              "title": "an upper-case path renders with the lower-case canonical",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 8,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.810Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-a1e3e44aa623c8acb1ed",
              "file": "tests/ui/serving.spec.ts",
              "line": 149,
              "column": 7
            },
            {
              "title": "unknown candidate, committee and party paths are 404 without a static fallback",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 13,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.826Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "facafd0cac1eb17ca154-174b09c2fe387e2121a8",
              "file": "tests/ui/serving.spec.ts",
              "line": 155,
              "column": 7
            },
            {
              "title": "the money-flow Sankey and the Graph button work on a rendered candidate page",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 28,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15327,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/serving.spec.ts:170:50",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 50,
                          "line": 170
                        },
                        "snippet": "\u001b[0m \u001b[90m 168 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'h1'\u001b[39m))\u001b[33m.\u001b[39mtoContainText(\u001b[32m'PELOSI'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 169 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'#funding .money-flow-chart canvas'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 170 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                  \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 171 |\u001b[39m     expect(errors)\u001b[33m.\u001b[39mtoEqual([])\u001b[33m;\u001b[39m\n \u001b[90m 172 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 173 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 50,
                            "line": 170
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  168 |     await expect(page.locator('h1')).toContainText('PELOSI');\n  169 |     await expect(page.locator('#funding .money-flow-chart canvas')).toHaveCount(1, { timeout: 15000 });\n> 170 |     await expect(page.locator('button.eg-open')).toHaveCount(1, { timeout: 15000 });\n      |                                                  ^\n  171 |     expect(errors).toEqual([]);\n  172 |   });\n  173 | });\n    at /app/tests/ui/serving.spec.ts:170:50"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.848Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 50,
                        "line": 170
                      }
                    },
                    {
                      "workerIndex": 30,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 16096,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/serving.spec.ts:170:50",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 50,
                          "line": 170
                        },
                        "snippet": "\u001b[0m \u001b[90m 168 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'h1'\u001b[39m))\u001b[33m.\u001b[39mtoContainText(\u001b[32m'PELOSI'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 169 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'#funding .money-flow-chart canvas'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 170 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                  \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 171 |\u001b[39m     expect(errors)\u001b[33m.\u001b[39mtoEqual([])\u001b[33m;\u001b[39m\n \u001b[90m 172 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 173 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 50,
                            "line": 170
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  168 |     await expect(page.locator('h1')).toContainText('PELOSI');\n  169 |     await expect(page.locator('#funding .money-flow-chart canvas')).toHaveCount(1, { timeout: 15000 });\n> 170 |     await expect(page.locator('button.eg-open')).toHaveCount(1, { timeout: 15000 });\n      |                                                  ^\n  171 |     expect(errors).toEqual([]);\n  172 |   });\n  173 | });\n    at /app/tests/ui/serving.spec.ts:170:50"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-10-17T02:47:03.719Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry1/test-failed-1.png"
                        },
                        {
                          "name": "video",
                          "contentType": "video/webm",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry1/video.webm"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry1/error-context.md"
                        },
                        {
                          "name": "trace",
                          "contentType": "application/zip",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry1/trace.zip"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 50,
                        "line": 170
                      }
                    },
                    {
                      "workerIndex": 32,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15361,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /app/tests/ui/serving.spec.ts:170:50",
                        "location": {
                          "file": "/app/tests/ui/serving.spec.ts",
                          "column": 50,
                          "line": 170
                        },
                        "snippet": "\u001b[0m \u001b[90m 168 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'h1'\u001b[39m))\u001b[33m.\u001b[39mtoContainText(\u001b[32m'PELOSI'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 169 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'#funding .money-flow-chart canvas'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 170 |\u001b[39m     \u001b[36mawait\u001b[39m expect(page\u001b[33m.\u001b[39mlocator(\u001b[32m'button.eg-open'\u001b[39m))\u001b[33m.\u001b[39mtoHaveCount(\u001b[35m1\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                  \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 171 |\u001b[39m     expect(errors)\u001b[33m.\u001b[39mtoEqual([])\u001b[33m;\u001b[39m\n \u001b[90m 172 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 173 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/app/tests/ui/serving.spec.ts",
                            "column": 50,
                            "line": 170
                          },
                          "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCount\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  locator('button.eg-open')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  15000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" locator('button.eg-open') with timeout 15000ms\u001b[22m\n\u001b[2m  - waiting for locator('button.eg-open')\u001b[22m\n\u001b[2m    34 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  168 |     await expect(page.locator('h1')).toContainText('PELOSI');\n  169 |     await expect(page.locator('#funding .money-flow-chart canvas')).toHaveCount(1, { timeout: 15000 });\n> 170 |     await expect(page.locator('button.eg-open')).toHaveCount(1, { timeout: 15000 });\n      |                                                  ^\n  171 |     expect(errors).toEqual([]);\n  172 |   });\n  173 | });\n    at /app/tests/ui/serving.spec.ts:170:50"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 2,
                      "startTime": "2026-10-17T02:47:20.473Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry2/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/serving-rendered-candidate-b4a46-n-a-rendered-candidate-page-ui-retry2/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/app/tests/ui/serving.spec.ts",
                        "column": 50,
                        "line": 170
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "facafd0cac1eb17ca154-bdca150ccaebfd909ea8",
              "file": "tests/ui/serving.spec.ts",
              "line": 164,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/sitemap.spec.ts",
      "file": "tests/ui/sitemap.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "sitemap URL validation",
          "file": "tests/ui/sitemap.spec.ts",
          "line": 202,
          "column": 6,
          "specs": [
            {
              "title": "sitemap index loads and contains child sitemaps",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 218,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.692Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-4660f-and-contains-child-sitemaps-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-c60e93b9c98b61485b7c",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 204,
              "column": 7
            },
            {
              "title": "sitemap index lists no nested index",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 375,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.054Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-9c49175d52fd8bbb5808",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 220,
              "column": 7
            },
            {
              "title": "candidates sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 3364,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 27 URLs in /candidates/sitemap-candidates.xml\n"
                        },
                        {
                          "text": "Detected sitemap index, sampling 2 child sitemaps\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /candidates/sitemap-candidates.xml: https://preview.elect.info/candidates/sitemap-candidates-t.xml, https://preview.elect.info/candidates/sitemap-candidates-f.xml\n"
                        },
                        {
                          "text": "Processing child sitemap: /candidates/sitemap-candidates-t.xml\n"
                        },
                        {
                          "text": "  Found 2616 URLs in /candidates/sitemap-candidates-t.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /candidates/sitemap-candidates-t.xml: https://preview.elect.info/candidates/thomas-r-colyer-h2mo01039/, https://preview.elect.info/candidates/thomas-eldon-hayhurst-h6in03161/, https://preview.elect.info/candidates/theodore-e-jr-brown-s4tx00888/, https://preview.elect.info/candidates/thomas-sorensen-h6ny01142/, https://preview.elect.info/candidates/thomas-a-fiske-s6mn00259/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/thomas-r-colyer-h2mo01039/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/thomas-eldon-hayhurst-h6in03161/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/theodore-e-jr-brown-s4tx00888/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/thomas-sorensen-h6ny01142/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/thomas-a-fiske-s6mn00259/\n"
                        },
                        {
                          "text": "  Tested 5 URLs from /candidates/sitemap-candidates-t.xml\n"
                        },
                        {
                          "text": "Processing child sitemap: /candidates/sitemap-candidates-f.xml\n"
                        },
                        {
                          "text": "  Found 873 URLs in /candidates/sitemap-candidates-f.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /candidates/sitemap-candidates-f.xml: https://preview.elect.info/candidates/frank-mccloskey-h2in08029/, https://preview.elect.info/candidates/fran-walker-p00012609/, https://preview.elect.info/candidates/francis-worley-s0pa00012/, https://preview.elect.info/candidates/franklin-james-erwin-p60009230/, https://preview.elect.info/candidates/frank-miller-h4ky02014/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/frank-mccloskey-h2in08029/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/fran-walker-p00012609/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/francis-worley-s0pa00012/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/franklin-james-erwin-p60009230/\n"
                        },
                        {
                          "text": "  Testing page: /candidates/frank-miller-h4ky02014/\n"
                        },
                        {
                          "text": "  Tested 5 URLs from /candidates/sitemap-candidates-f.xml\n"
                        },
                        {
                          "text": "Tested 10 URLs from /candidates/sitemap-candidates.xml\n"
                        },
                        {
                          "text": "Tested 10 URLs from candidates sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.444Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-6d4ff-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-a80be8d946ded7f69d5c",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 235,
              "column": 7
            },
            {
              "title": "committees sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 2391,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 27 URLs in /committees/sitemap-committees.xml\n"
                        },
                        {
                          "text": "Detected sitemap index, sampling 2 child sitemaps\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /committees/sitemap-committees.xml: https://preview.elect.info/committees/sitemap-committees-p.xml, https://preview.elect.info/committees/sitemap-committees-j.xml\n"
                        },
                        {
                          "text": "Processing child sitemap: /committees/sitemap-committees-p.xml\n"
                        },
                        {
                          "text": "  Found 4566 URLs in /committees/sitemap-committees-p.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /committees/sitemap-committees-p.xml: https://preview.elect.info/committees/political-action-committee-of-the-american-osteopathic-healthcare-association-c00101493/, https://preview.elect.info/committees/prix-party-pcc-robichaux-c00208553/, https://preview.elect.info/committees/pennsylvanians-for-the-republic-c00362723/, https://preview.elect.info/committees/pussyhat-revolution-c00633891/, https://preview.elect.info/committees/prelude-to-victory-detroit-c00136028/\n"
                        },
                        {
                          "text": "  Testing page: /committees/political-action-committee-of-the-american-osteopathic-healthcare-association-c00101493/\n"
                        },
                        {
                          "text": "  Testing page: /committees/prix-party-pcc-robichaux-c00208553/\n"
                        },
                        {
                          "text": "  Testing page: /committees/pennsylvanians-for-the-republic-c00362723/\n"
                        },
                        {
                          "text": "  Testing page: /committees/pussyhat-revolution-c00633891/\n"
                        },
                        {
                          "text": "  Testing page: /committees/prelude-to-victory-detroit-c00136028/\n"
                        },
                        {
                          "text": "  Tested 5 URLs from /committees/sitemap-committees-p.xml\n"
                        },
                        {
                          "text": "Processing child sitemap: /committees/sitemap-committees-j.xml\n"
                        },
                        {
                          "text": "  Found 3957 URLs in /committees/sitemap-committees-j.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /committees/sitemap-committees-j.xml: https://preview.elect.info/committees/joe-zuccolo-for-congress-c00447979/, https://preview.elect.info/committees/jose-suero-for-congress-c00276477/, https://preview.elect.info/committees/jim-spoo-for-congress-committee-c00221465/, https://preview.elect.info/committees/jewish-christian-coalition-for-roger-jewell-for-president-in-2008-c00408724/, https://preview.elect.info/committees/john-j-duncan-campaign-84-c00170878/\n"
                        },
                        {
                          "text": "  Testing page: /committees/joe-zuccolo-for-congress-c00447979/\n"
                        },
                        {
                          "text": "  Testing page: /committees/jose-suero-for-congress-c00276477/\n"
                        },
                        {
                          "text": "  Testing page: /committees/jim-spoo-for-congress-committee-c00221465/\n"
                        },
                        {
                          "text": "  Testing page: /committees/jewish-christian-coalition-for-roger-jewell-for-president-in-2008-c00408724/\n"
                        },
                        {
                          "text": "  Testing page: /committees/john-j-duncan-campaign-84-c00170878/\n"
                        },
                        {
                          "text": "  Tested 5 URLs from /committees/sitemap-committees-j.xml\n"
                        },
                        {
                          "text": "Tested 10 URLs from /committees/sitemap-committees.xml\n"
                        },
                        {
                          "text": "Tested 10 URLs from committees sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.821Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-0da0a-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-87023309750eb69e70c2",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 254,
              "column": 7
            },
            {
              "title": "parties sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 426,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 290 URLs in /parties/sitemap-parties.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /parties/sitemap-parties.xml: https://preview.elect.info/parties/lpf/, https://preview.elect.info/parties/slp/, https://preview.elect.info/parties/dc/, https://preview.elect.info/parties/sam/, https://preview.elect.info/parties/18/\n"
                        },
                        {
                          "text": "Testing page: /parties/lpf/\n"
                        },
                        {
                          "text": "Testing page: /parties/slp/\n"
                        },
                        {
                          "text": "Testing page: /parties/dc/\n"
                        },
                        {
                          "text": "Testing page: /parties/sam/\n"
                        },
                        {
                          "text": "Testing page: /parties/18/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /parties/sitemap-parties.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from parties sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.224Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-56967-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-8947fc49728288b347b0",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 273,
              "column": 7
            },
            {
              "title": "offices sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 434,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 746 URLs in /offices/sitemap-offices.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /offices/sitemap-offices.xml: https://preview.elect.info/offices/house/mi-02/, https://preview.elect.info/offices/house/md-49/, https://preview.elect.info/offices/house/tx-07/, https://preview.elect.info/offices/house/co-50/, https://preview.elect.info/offices/house/in-05/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/mi-02/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/md-49/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/tx-07/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/co-50/\n"
                        },
                        {
                          "text": "Testing page: /offices/house/in-05/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /offices/sitemap-offices.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from offices sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.667Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-10822-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-8e94254e8554d3a49e2d",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 289,
              "column": 7
            },
            {
              "title": "districts sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 439,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 444 URLs in /districts/sitemap-districts.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /districts/sitemap-districts.xml: https://preview.elect.info/districts/fl-19/, https://preview.elect.info/districts/wa-01/, https://preview.elect.info/districts/ne-01/, https://preview.elect.info/districts/fl-12/, https://preview.elect.info/districts/ny-19/\n"
                        },
                        {
                          "text": "Testing page: /districts/fl-19/\n"
                        },
                        {
                          "text": "Testing page: /districts/wa-01/\n"
                        },
                        {
                          "text": "Testing page: /districts/ne-01/\n"
                        },
                        {
                          "text": "Testing page: /districts/fl-12/\n"
                        },
                        {
                          "text": "Testing page: /districts/ny-19/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /districts/sitemap-districts.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from districts sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.113Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-d74b1-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-e977450acfe43ef5ce30",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 305,
              "column": 7
            },
            {
              "title": "states sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 470,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 52 URLs in /states/sitemap-states.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /states/sitemap-states.xml: https://preview.elect.info/states/michigan/, https://preview.elect.info/states/california/, https://preview.elect.info/states/georgia/, https://preview.elect.info/states/utah/, https://preview.elect.info/states/puerto-rico/\n"
                        },
                        {
                          "text": "Testing page: /states/michigan/\n"
                        },
                        {
                          "text": "Testing page: /states/california/\n"
                        },
                        {
                          "text": "Testing page: /states/georgia/\n"
                        },
                        {
                          "text": "Testing page: /states/utah/\n"
                        },
                        {
                          "text": "Testing page: /states/puerto-rico/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /states/sitemap-states.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from states sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:47.566Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-e7685-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-2974a6e40c0ee82198bf",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 321,
              "column": 7
            },
            {
              "title": "elections sitemap - sample URLs resolve",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 17,
                      "parallelIndex": 17,
                      "status": "passed",
                      "duration": 370,
                      "errors": [],
                      "stdout": [
                        {
                          "text": "Found 25 URLs in /elections/sitemap-elections.xml\n"
                        },
                        {
                          "text": "[sample seed=preview-rundeck-861842] /elections/sitemap-elections.xml: https://preview.elect.info/elections/2016/, https://preview.elect.info/elections/1994/, https://preview.elect.info/elections/2020/, https://preview.elect.info/elections/1982/, https://preview.elect.info/elections/1986/\n"
                        },
                        {
                          "text": "Testing page: /elections/2016/\n"
                        },
                        {
                          "text": "Testing page: /elections/1994/\n"
                        },
                        {
                          "text": "Testing page: /elections/2020/\n"
                        },
                        {
                          "text": "Testing page: /elections/1982/\n"
                        },
                        {
                          "text": "Testing page: /elections/1986/\n"
                        },
                        {
                          "text": "Tested 5 URLs from /elections/sitemap-elections.xml\n"
                        },
                        {
                          "text": "Tested 5 URLs from elections sitemap\n"
                        }
                      ],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:48.054Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/sitemap-sitemap-URL-valida-cf8a5-temap---sample-URLs-resolve-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "445aeafbdc2b94cf9bb3-869ad0437e25b2768dea",
              "file": "tests/ui/sitemap.spec.ts",
              "line": 337,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/us.spec.ts",
      "file": "tests/ui/us.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "us.elect.info",
          "file": "tests/ui/us.spec.ts",
          "line": 3,
          "column": 6,
          "specs": [
            {
              "title": "homepage loads with title",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 18,
                      "status": "passed",
                      "duration": 284,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.572Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/us-us-elect-info-homepage-loads-with-title-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-8afeb95d04c94adeed96",
              "file": "tests/ui/us.spec.ts",
              "line": 4,
              "column": 7
            },
            {
              "title": "entity stats display",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 18,
                      "status": "passed",
                      "duration": 288,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.082Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/us-us-elect-info-entity-stats-display-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-49e351c56a50ed35776c",
              "file": "tests/ui/us.spec.ts",
              "line": 10,
              "column": 7
            },
            {
              "title": "CSS assets load",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 18,
                      "status": "passed",
                      "duration": 116,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.388Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/us-us-elect-info-CSS-assets-load-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-9f6402d7bf0b7a821851",
              "file": "tests/ui/us.spec.ts",
              "line": 16,
              "column": 7
            },
            {
              "title": "JS assets load",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 18,
                      "status": "passed",
                      "duration": 171,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.515Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/us-us-elect-info-JS-assets-load-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-6e13cf9f04841582af4e",
              "file": "tests/ui/us.spec.ts",
              "line": 21,
              "column": 7
            },
            {
              "title": "404 page works",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 18,
                      "status": "passed",
                      "duration": 98,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.699Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/us-us-elect-info-404-page-works-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "2d63ce8979ebe7723300-f161db786bfcba883987",
              "file": "tests/ui/us.spec.ts",
              "line": 27,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/vendor-purpose-lifecycle.spec.ts",
      "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "unavailable cycle empty groups retains raw disclosure",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 418,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:39.721Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-u-ddd71-oups-retains-raw-disclosure-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-8330dde0efbedb1a3667",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 25,
          "column": 7
        },
        {
          "title": "unavailable cycle request error retains raw disclosure",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 370,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:40.292Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-u-93fce-rror-retains-raw-disclosure-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-16fd070860d17139476d",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 25,
          "column": 7
        },
        {
          "title": "latest cycle wins over a slow previous request, without duplicate charts",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 355,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:40.676Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-l-22cdc-st-without-duplicate-charts-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-24b76132a8b01c12dfcb",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 43,
          "column": 5
        },
        {
          "title": "top-purpose text is escaped in the expandable table",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 356,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:41.043Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-t-d5080-ped-in-the-expandable-table-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-274c346af4b1f907ee13",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "signed group amounts use positive shares and stable IDs without negative ribbons",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 321,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:41.412Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-s-4147f-Ds-without-negative-ribbons-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-0682bfcec137b189cf58",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 81,
          "column": 5
        },
        {
          "title": "refund-only groups keep the signed table without a misleading share or empty Sankey",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 19,
                  "status": "passed",
                  "duration": 209,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:41.744Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purpose-lifecycle-r-6695c-ading-share-or-empty-Sankey-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fe31ae87325961aac612-ef072c682574434209c9",
          "file": "tests/ui/vendor-purpose-lifecycle.spec.ts",
          "line": 110,
          "column": 5
        }
      ]
    },
    {
      "title": "tests/ui/vendor-purposes.spec.ts",
      "file": "tests/ui/vendor-purposes.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "three-column Sankey fills the card and contains both link stages after mount and resize",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 20,
                  "parallelIndex": 20,
                  "status": "passed",
                  "duration": 489,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:46.638Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-three-colu-97f70-ages-after-mount-and-resize-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "77632b1a04bb4d3528ee-446a5f1868754a5eda1b",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 429,
          "column": 5
        },
        {
          "title": "mobile table scrolls all numeric columns and expands raw purposes at full width",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 20,
                  "parallelIndex": 20,
                  "status": "passed",
                  "duration": 367,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:47.143Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-mobile-tab-69ed3--raw-purposes-at-full-width-ui/test-finished-1.png"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "77632b1a04bb4d3528ee-aa725f965345886a8917",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 461,
          "column": 5
        }
      ],
      "suites": [
        {
          "title": "vendor purpose card — section and query",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 88,
          "column": 6,
          "specs": [
            {
              "title": "#purposes section is rendered on a vendor detail page",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 301,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.807Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-11765-red-on-a-vendor-detail-page-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-e051af057221aef61daf",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 89,
              "column": 7
            },
            {
              "title": "VendorPurposeFlow query is issued with id and null cycle on initial load",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 271,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.249Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-4bd93--null-cycle-on-initial-load-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-ad4fc7ef3fa5b3608ee2",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 101,
              "column": 7
            },
            {
              "title": "query operation name is VendorPurposeFlow",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 288,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.537Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-9e3c5-n-name-is-VendorPurposeFlow-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-f95588600897b5c7f7b3",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 115,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — cycle selector",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 126,
          "column": 6,
          "specs": [
            {
              "title": "cycle selector is present with aria-label \"Purpose cycle\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 243,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.839Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-7e5d3-h-aria-label-Purpose-cycle--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-eaf613e13663e4046779",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 127,
              "column": 7
            },
            {
              "title": "cycle selector has an \"All cycles\" option as the first entry",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 240,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.095Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-361e5-s-option-as-the-first-entry-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-7d6b1fc2644e17d7a6be",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 136,
              "column": 7
            },
            {
              "title": "cycle options are populated from the vendor cycles field",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 211,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.347Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-8a1fb-rom-the-vendor-cycles-field-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-28b4f3dcccf27ac21ab6",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 147,
              "column": 7
            },
            {
              "title": "selecting a cycle issues a new VendorPurposeFlow query with that cycle",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 249,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.572Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-876f1-eFlow-query-with-that-cycle-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-f9b4e907cf9ab0f5d176",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 159,
              "column": 7
            },
            {
              "title": "switching back to All cycles sends cycle: null",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 310,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:41.836Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-aecf0-All-cycles-sends-cycle-null-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-991420bd044423ba273e",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 179,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — filter input",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 197,
          "column": 6,
          "specs": [
            {
              "title": "filter input has aria-label \"Filter purpose groups\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 187,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.158Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-3173c-abel-Filter-purpose-groups--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-7ee276eeb86ebedd6b54",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 201,
              "column": 7
            },
            {
              "title": "typing in the filter narrows visible rows by group name",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 239,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.359Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-f3055--visible-rows-by-group-name-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-6b70488c25c6b61eeec0",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 210,
              "column": 7
            },
            {
              "title": "filter matches topPurpose text as well as the group name",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 243,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.614Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-f6779-t-as-well-as-the-group-name-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-d44b01d8826479b74bd2",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 221,
              "column": 7
            },
            {
              "title": "no match shows the empty message and zero rows",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 215,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.867Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-b8c47-empty-message-and-zero-rows-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-ab32474acc004d74f6ba",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 232,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — sortable headers",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 244,
          "column": 6,
          "specs": [
            {
              "title": "sortable headers Group, Amount, %, Payments, Clients are present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 210,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.097Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-6167a-ayments-Clients-are-present-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-365b20a02a1208c75e4c",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 248,
              "column": 7
            },
            {
              "title": "default sort is Amount descending — Media Buying first",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 193,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.323Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-f6547-ending-—-Media-Buying-first-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-39040b7c2d6ab8ee710b",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 262,
              "column": 7
            },
            {
              "title": "clicking Group sorts alphabetically ascending, then descending",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 267,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.526Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-f26bf-y-ascending-then-descending-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-088449e62c586454d490",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 272,
              "column": 7
            },
            {
              "title": "clicking the active Amount header flips from desc to asc and back",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 238,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.809Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-99469-s-from-desc-to-asc-and-back-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-67e14db3fba142c57711",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 288,
              "column": 7
            },
            {
              "title": "non-active headers show aria-sort=\"none\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 205,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.064Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-215dc-eaders-show-aria-sort-none--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-d77070761e614b03420c",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 306,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — expandable group detail",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 318,
          "column": 6,
          "specs": [
            {
              "title": "each row has a details/summary element with the group name",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 296,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.278Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-84aa0-element-with-the-group-name-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-aee3634fc70c27c6e676",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 322,
              "column": 7
            },
            {
              "title": "expanding details reveals topPurposes for that group",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 238,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.589Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-9dcd6--topPurposes-for-that-group-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-834a1301aa31030c82e5",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 336,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — Sankey / Table toggle",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 350,
          "column": 6,
          "specs": [
            {
              "title": "Sankey is the default view with a canvas visible",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 254,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.845Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-f797c--view-with-a-canvas-visible-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-f60df3b0e1a2bc247fd1",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 351,
              "column": 7
            },
            {
              "title": "Table button shows the table and hides the chart",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 265,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.108Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-54b56-e-table-and-hides-the-chart-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-d87e42dc7f697dfcfd2b",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 363,
              "column": 7
            },
            {
              "title": "switching back to Sankey restores the canvas",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 313,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.382Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-eb032--Sankey-restores-the-canvas-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-08c094850d3797551c61",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 375,
              "column": 7
            }
          ]
        },
        {
          "title": "vendor purpose card — fallback / empty states",
          "file": "tests/ui/vendor-purposes.spec.ts",
          "line": 388,
          "column": 6,
          "specs": [
            {
              "title": "\"Raw purposes\" disclosure appears when vendorPurposeFlow returns null",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 201,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.709Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-7b254-dorPurposeFlow-returns-null-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-6590a658907075686038",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 389,
              "column": 7
            },
            {
              "title": "\"Raw purposes\" disclosure appears when groups array is empty",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 182,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:45.923Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-6114c--when-groups-array-is-empty-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-01f46cd24f7650b234a4",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 400,
              "column": 7
            },
            {
              "title": "no \"Raw purposes\" disclosure when valid groups are present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 214,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.118Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-72d06-en-valid-groups-are-present-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-cedf79b9e30f52c9bde6",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 408,
              "column": 7
            },
            {
              "title": "status element shows a message while loading and clears on success",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 20,
                      "status": "passed",
                      "duration": 286,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:46.342Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/vendor-purposes-vendor-pur-92a35-ading-and-clears-on-success-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "77632b1a04bb4d3528ee-ef48471b651b0a19c4d4",
              "file": "tests/ui/vendor-purposes.spec.ts",
              "line": 416,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/visitor-token.spec.ts",
      "file": "tests/ui/visitor-token.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "GET /api/token is never an error, with or without the gate",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 30000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "ui",
              "projectName": "ui",
              "results": [
                {
                  "workerIndex": 21,
                  "parallelIndex": 21,
                  "status": "passed",
                  "duration": 54,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-10-17T02:46:39.743Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "66d11097bc5ff2c625f4-ba2e689c22ca1eb58a86",
          "file": "tests/ui/visitor-token.spec.ts",
          "line": 30,
          "column": 5
        }
      ],
      "suites": [
        {
          "title": "visitor-token gate",
          "file": "tests/ui/visitor-token.spec.ts",
          "line": 41,
          "column": 6,
          "specs": [
            {
              "title": "GET /api/token sets an HttpOnly token and a readable expiry",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 21,
                      "parallelIndex": 21,
                      "status": "passed",
                      "duration": 21,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.850Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "66d11097bc5ff2c625f4-6a345a67524e2f99f69c",
              "file": "tests/ui/visitor-token.spec.ts",
              "line": 42,
              "column": 7
            },
            {
              "title": "without a token, /api/graphql answers 401",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 21,
                      "parallelIndex": 21,
                      "status": "passed",
                      "duration": 25,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.898Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "66d11097bc5ff2c625f4-f396d27256170349746e",
              "file": "tests/ui/visitor-token.spec.ts",
              "line": 57,
              "column": 7
            },
            {
              "title": "an anon token runs persisted documents and nothing else",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 21,
                      "parallelIndex": 21,
                      "status": "passed",
                      "duration": 547,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.942Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "66d11097bc5ff2c625f4-fb37317a2cef824e3dad",
              "file": "tests/ui/visitor-token.spec.ts",
              "line": 69,
              "column": 7
            }
          ]
        },
        {
          "title": "donor records are premium",
          "file": "tests/ui/visitor-token.spec.ts",
          "line": 98,
          "column": 6,
          "specs": [
            {
              "title": "an anonymous visitor gets the premium notice on Individual Donors",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 21,
                      "parallelIndex": 21,
                      "status": "passed",
                      "duration": 301,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.505Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/visitor-token-donor-record-4b012-notice-on-Individual-Donors-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "66d11097bc5ff2c625f4-c8ffc6d48edd62fa84f1",
              "file": "tests/ui/visitor-token.spec.ts",
              "line": 103,
              "column": 7
            },
            {
              "title": "an anonymous visitor sees employer totals but not donor names",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 21,
                      "parallelIndex": 21,
                      "status": "passed",
                      "duration": 474,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.896Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/visitor-token-donor-record-c6316--totals-but-not-donor-names-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "66d11097bc5ff2c625f4-70bd87774f0fc06f5206",
              "file": "tests/ui/visitor-token.spec.ts",
              "line": 109,
              "column": 7
            }
          ]
        }
      ]
    },
    {
      "title": "tests/ui/voters.spec.ts",
      "file": "tests/ui/voters.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "voters (premium)",
          "file": "tests/ui/voters.spec.ts",
          "line": 25,
          "column": 6,
          "specs": [
            {
              "title": "the public /api/graphql refuses voter queries",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 71,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.754Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-5353dc9ff6280b8b8ce8",
              "file": "tests/ui/voters.spec.ts",
              "line": 30,
              "column": 7
            },
            {
              "title": "a premium visitor token reads voters through /api/graphql",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 295,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:39.888Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-7fde10790fe436f2ce41",
              "file": "tests/ui/voters.spec.ts",
              "line": 55,
              "column": 7
            },
            {
              "title": "/voters/api/graphql answers voter queries and only POST",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 361,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.206Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-804985811ed788cbb4b3",
              "file": "tests/ui/voters.spec.ts",
              "line": 63,
              "column": 7
            },
            {
              "title": "browse lists the most active voters and links to detail pages",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 2091,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:40.579Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-brow-b8f67-s-and-links-to-detail-pages-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-0c1aedbfd096b779cf2a",
              "file": "tests/ui/voters.spec.ts",
              "line": 74,
              "column": 7
            },
            {
              "title": "search needs every term: name plus city",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 496,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:42.758Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-search-needs-every-term-name-plus-city-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-d68c8209b5444194b927",
              "file": "tests/ui/voters.spec.ts",
              "line": 91,
              "column": 7
            },
            {
              "title": "state filter narrows the list and scopes the county and district dropdowns",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 502,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.267Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-stat-66ee5-unty-and-district-dropdowns-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-715d172cd99b39041bec",
              "file": "tests/ui/voters.spec.ts",
              "line": 100,
              "column": 7
            },
            {
              "title": "filters combine, count matches and survive a reload",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 333,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:43.785Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-filt-1ca12-atches-and-survive-a-reload-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-135d5a7d039193b89e35",
              "file": "tests/ui/voters.spec.ts",
              "line": 111,
              "column": 7
            },
            {
              "title": "race and Civitech score filters (persuadable, high-turnout Latinx voters in Miami-Dade)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 484,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.136Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-race-5358f-atinx-voters-in-Miami-Dade--ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-8448f6ea1dd523d04da6",
              "file": "tests/ui/voters.spec.ts",
              "line": 126,
              "column": 7
            },
            {
              "title": "an unknown voter id renders Not Found",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 22,
                      "status": "passed",
                      "duration": 247,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-17T02:46:44.632Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/preview-rundeck-861842/us-preview/test-output/voters-voters-premium-an-unknown-voter-id-renders-Not-Found-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6970ccac81a50c81e377-e0441edf222b4f45ecb0",
              "file": "tests/ui/voters.spec.ts",
              "line": 134,
              "column": 7
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-10-17T02:46:38.499Z",
    "duration": 97861.17700000001,
    "expected": 255,
    "skipped": 10,
    "unexpected": 5,
    "flaky": 0
  }
}