{
  "config": {
    "configFile": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/playwright.config.ts",
    "rootDir": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real",
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 1
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results",
        "repeatEach": 1,
        "retries": 0,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "",
        "name": "",
        "testDir": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real",
        "testIgnore": [],
        "testMatch": [
          "/.*\\.spec\\.ts$/"
        ],
        "timeout": 90000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "list",
        null
      ],
      [
        "json",
        {
          "outputFile": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/results.json"
        }
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.60.0",
    "workers": 1,
    "webServer": null
  },
  "suites": [
    {
      "title": "00-auth.spec.ts",
      "file": "00-auth.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "real login resolves manager membership and selected-store boundary",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 0,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5330,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:16:27.618Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "auth-switcher",
                      "contentType": "application/json",
                      "body": "ewogICJhY3RvciI6ICJtYW5hZ2VyIiwKICAic3RvcmUiOiAiNmY5Yjg3YjgtNmEzNy0zNjE1LWI0ZmQtNDY4MWI1Nzc1Yjg3IiwKICAicGVyc2lzdGVkIjogdHJ1ZQp9"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "4be2244f332125737752-c9fef29bc065cb250ca6",
          "file": "00-auth.spec.ts",
          "line": 3,
          "column": 5
        }
      ]
    },
    {
      "title": "10-schedule-api.spec.ts",
      "file": "10-schedule-api.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "real API enforces stale revisions, tenant child IDs, and DST copy preview/commit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 0,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 568,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:16:33.177Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "dst-revision-tenancy",
                      "contentType": "application/json",
                      "body": "ewogICJvcmlnaW5hbCI6IHsKICAgICJpZCI6ICJhYjk4MzQ3YS0zZTlkLTQ2Y2MtOTJjMC1lZjUyYjdiNGNkYTkiLAogICAgInN0b3JlX2lkIjogIjU0MGE4NDZlLThmYjQtMzU0NC05Mjg1LWI4Mzk2MGZlYjBhNSIsCiAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICJkMGJlNzI1ZS02OWNjLTNiMjYtODYwOC00MDg1OWE3ZmEwODciLAogICAgIm1lbWJlcl9uYW1lIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIFN0YWZmIiwKICAgICJwb3NpdGlvbl9pZCI6IG51bGwsCiAgICAicG9zaXRpb25fbmFtZSI6IG51bGwsCiAgICAic3RhcnRzX2F0IjogIjIwMjYtMDMtMDJUMTc6MDA6MDAuMDAwMDAwWiIsCiAgICAiZW5kc19hdCI6ICIyMDI2LTAzLTAzVDAxOjAwOjAwLjAwMDAwMFoiLAogICAgIm5vdGVzIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIERTVCBzb3VyY2UiLAogICAgInB1Ymxpc2hlZF9hdCI6IG51bGwsCiAgICAicmV2aXNpb24iOiAiMjAyNi0wOS0wNlQxOToxNjozMy4yMDQ0NTZaIgogIH0sCiAgInVwZGF0ZWQiOiB7CiAgICAiaWQiOiAiYWI5ODM0N2EtM2U5ZC00NmNjLTkyYzAtZWY1MmI3YjRjZGE5IiwKICAgICJzdG9yZV9pZCI6ICI1NDBhODQ2ZS04ZmI0LTM1NDQtOTI4NS1iODM5NjBmZWIwYTUiLAogICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiZDBiZTcyNWUtNjljYy0zYjI2LTg2MDgtNDA4NTlhN2ZhMDg3IiwKICAgICJtZW1iZXJfbmFtZSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBTdGFmZiIsCiAgICAicG9zaXRpb25faWQiOiBudWxsLAogICAgInBvc2l0aW9uX25hbWUiOiBudWxsLAogICAgInN0YXJ0c19hdCI6ICIyMDI2LTAzLTAyVDE3OjAwOjAwLjAwMDAwMFoiLAogICAgImVuZHNfYXQiOiAiMjAyNi0wMy0wM1QwMTowMDowMC4wMDAwMDBaIiwKICAgICJub3RlcyI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBlZGl0ZWQiLAogICAgInB1Ymxpc2hlZF9hdCI6IG51bGwsCiAgICAicmV2aXNpb24iOiAiMjAyNi0wOS0wNlQxOToxNjozMy4yNjY1MDRaIgogIH0sCiAgImNvcGllZCI6IHsKICAgICJ3ZWVrX3N0YXJ0IjogIjIwMjYtMDMtMDkiLAogICAgInN0YXJ0c19hdCI6ICIyMDI2LTAzLTA5VDA3OjAwOjAwLjAwMDAwMFoiLAogICAgImVuZHNfYXQiOiAiMjAyNi0wMy0xNlQwNzowMDowMC4wMDAwMDBaIiwKICAgICJ0aW1lem9uZSI6ICJBbWVyaWNhL0xvc19BbmdlbGVzIiwKICAgICJzaGlmdHMiOiBbCiAgICAgIHsKICAgICAgICAiaWQiOiAiNjE2ZWI5ZmQtOTJmOC00YTdiLTljYjUtOGZlZTYyMmY4MDcwIiwKICAgICAgICAic3RvcmVfaWQiOiAiNTQwYTg0NmUtOGZiNC0zNTQ0LTkyODUtYjgzOTYwZmViMGE1IiwKICAgICAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICJkMGJlNzI1ZS02OWNjLTNiMjYtODYwOC00MDg1OWE3ZmEwODciLAogICAgICAgICJtZW1iZXJfbmFtZSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBTdGFmZiIsCiAgICAgICAgInBvc2l0aW9uX2lkIjogbnVsbCwKICAgICAgICAicG9zaXRpb25fbmFtZSI6IG51bGwsCiAgICAgICAgInN0YXJ0c19hdCI6ICIyMDI2LTAzLTA5VDE2OjAwOjAwLjAwMDAwMFoiLAogICAgICAgICJlbmRzX2F0IjogIjIwMjYtMDMtMTBUMDA6MDA6MDAuMDAwMDAwWiIsCiAgICAgICAgIm5vdGVzIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIGVkaXRlZCIsCiAgICAgICAgInB1Ymxpc2hlZF9hdCI6IG51bGwsCiAgICAgICAgInJldmlzaW9uIjogIjIwMjYtMDktMDZUMTk6MTY6MzMuNDkzMTA3WiIKICAgICAgfQogICAgXSwKICAgICJwdWJsaWNhdGlvbiI6IG51bGwKICB9LAogICJzcWwiOiBbCiAgICB7CiAgICAgICJpZCI6ICJhYjk4MzQ3YS0zZTlkLTQ2Y2MtOTJjMC1lZjUyYjdiNGNkYTkiLAogICAgICAic3RvcmVfaWQiOiAiNTQwYTg0NmUtOGZiNC0zNTQ0LTkyODUtYjgzOTYwZmViMGE1IiwKICAgICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiZDBiZTcyNWUtNjljYy0zYjI2LTg2MDgtNDA4NTlhN2ZhMDg3IiwKICAgICAgInBvc2l0aW9uX2lkIjogbnVsbCwKICAgICAgInN0YXJ0c19hdCI6ICIyMDI2LTAzLTAyIDE3OjAwOjAwLjAwMDAwMCIsCiAgICAgICJlbmRzX2F0IjogIjIwMjYtMDMtMDMgMDE6MDA6MDAuMDAwMDAwIiwKICAgICAgIm5vdGVzIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIGVkaXRlZCIsCiAgICAgICJwdWJsaXNoZWRfYXQiOiBudWxsLAogICAgICAicHVibGlzaGVkX2J5IjogbnVsbCwKICAgICAgImNyZWF0ZWRfYnkiOiAiY2NjN2RkZGItZTg4Zi0zNDY5LTlhYWEtNGYzYmY3Y2QyMDU0IiwKICAgICAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNjozMy4yMDQ0NTYiLAogICAgICAidXBkYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE2OjMzLjI2NjUwNCIsCiAgICAgICJkZWxldGVkX2F0IjogbnVsbAogICAgfSwKICAgIHsKICAgICAgImlkIjogIjYxNmViOWZkLTkyZjgtNGE3Yi05Y2I1LThmZWU2MjJmODA3MCIsCiAgICAgICJzdG9yZV9pZCI6ICI1NDBhODQ2ZS04ZmI0LTM1NDQtOTI4NS1iODM5NjBmZWIwYTUiLAogICAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICJkMGJlNzI1ZS02OWNjLTNiMjYtODYwOC00MDg1OWE3ZmEwODciLAogICAgICAicG9zaXRpb25faWQiOiBudWxsLAogICAgICAic3RhcnRzX2F0IjogIjIwMjYtMDMtMDkgMTY6MDA6MDAuMDAwMDAwIiwKICAgICAgImVuZHNfYXQiOiAiMjAyNi0wMy0xMCAwMDowMDowMC4wMDAwMDAiLAogICAgICAibm90ZXMiOiAiRTJFLTQ4ZWIzYzM0NTRjMzFiMmQgZWRpdGVkIiwKICAgICAgInB1Ymxpc2hlZF9hdCI6IG51bGwsCiAgICAgICJwdWJsaXNoZWRfYnkiOiBudWxsLAogICAgICAiY3JlYXRlZF9ieSI6ICIwZjNkNmI0Ni1mNGJhLTNhYjYtODA4My0yNWZiMGI4ZTdhYjEiLAogICAgICAiY3JlYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE2OjMzLjQ5MzEwNyIsCiAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTY6MzMuNDkzMTA3IiwKICAgICAgImRlbGV0ZWRfYXQiOiBudWxsCiAgICB9CiAgXQp9"
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c3074283c2bde52fc5f0-fa47491c20bb0435a9a7",
          "file": "10-schedule-api.spec.ts",
          "line": 3,
          "column": 5
        }
      ]
    },
    {
      "title": "20-schedule-browser.spec.ts",
      "file": "20-schedule-browser.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "owner creates assigned/open drafts, publishes, edits, copies and switches tenants using real UI",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 0,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 24353,
                  "error": {
                    "message": "TimeoutError: locator.selectOption: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('dialog').getByLabel('Employee', { exact: true })\u001b[22m\n",
                    "stack": "TimeoutError: locator.selectOption: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('dialog').getByLabel('Employee', { exact: true })\u001b[22m\n\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts:13:58",
                    "location": {
                      "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts",
                      "column": 58,
                      "line": 13
                    },
                    "snippet": "  11 |     await page.getByRole('button', { name: 'Add shift', exact: true }).click();\n  12 |     const dialog = page.getByRole('dialog');\n> 13 |     await dialog.getByLabel('Employee', { exact: true }).selectOption(membership);\n     |                                                          ^\n  14 |     await dialog.getByLabel('Starts (store time)', { exact: true }).fill(`${day}T09:00`);\n  15 |     await dialog.getByLabel('Ends (store time)', { exact: true }).fill(`${day}T17:00`);\n  16 |     await dialog.getByLabel('Notes', { exact: true }).fill(notes);"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts",
                        "column": 58,
                        "line": 13
                      },
                      "message": "TimeoutError: locator.selectOption: Timeout 20000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('dialog').getByLabel('Employee', { exact: true })\u001b[22m\n\n\n  11 |     await page.getByRole('button', { name: 'Add shift', exact: true }).click();\n  12 |     const dialog = page.getByRole('dialog');\n> 13 |     await dialog.getByLabel('Employee', { exact: true }).selectOption(membership);\n     |                                                          ^\n  14 |     await dialog.getByLabel('Starts (store time)', { exact: true }).fill(`${day}T09:00`);\n  15 |     await dialog.getByLabel('Ends (store time)', { exact: true }).fill(`${day}T17:00`);\n  16 |     await dialog.getByLabel('Notes', { exact: true }).fill(notes);\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts:13:58"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:16:33.753Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-owner--dccd3-tches-tenants-using-real-UI/test-failed-1.png"
                    },
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-owner--dccd3-tches-tenants-using-real-UI/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-owner--dccd3-tches-tenants-using-real-UI/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts",
                    "column": 58,
                    "line": 13
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "c6a1cb2133d4d2733fcf-68c4f0b40260b9ce6e19",
          "file": "20-schedule-browser.spec.ts",
          "line": 3,
          "column": 5
        },
        {
          "title": "staff browser excludes drafts, refreshes published own/team view and switches stores",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 24308,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n\n    at login (/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts:35:26)\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts:63:3",
                    "location": {
                      "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                      "column": 26,
                      "line": 35
                    },
                    "snippet": "   at helpers.ts:35\n\n  33 |   await page.goto(target);\n  34 |   const selector = page.getByRole('combobox', { name: 'Store', exact: true });\n> 35 |   await expect(selector).toBeVisible();\n     |                          ^\n  36 |   await selector.selectOption(fixture.stores[store].id);\n  37 | }\n  38 |"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                        "column": 26,
                        "line": 35
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n\n\n   at helpers.ts:35\n\n  33 |   await page.goto(target);\n  34 |   const selector = page.getByRole('combobox', { name: 'Store', exact: true });\n> 35 |   await expect(selector).toBeVisible();\n     |                          ^\n  36 |   await selector.selectOption(fixture.stores[store].id);\n  37 | }\n  38 |\n    at login (/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts:35:26)\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/20-schedule-browser.spec.ts:63:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:16:58.497Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-staff--8e787-am-view-and-switches-stores/test-failed-1.png"
                    },
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-staff--8e787-am-view-and-switches-stores/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/20-schedule-browser-staff--8e787-am-view-and-switches-stores/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                    "column": 26,
                    "line": 35
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "c6a1cb2133d4d2733fcf-5843f1afa85fddc88848",
          "file": "20-schedule-browser.spec.ts",
          "line": 60,
          "column": 5
        }
      ]
    },
    {
      "title": "30-clock-payroll.spec.ts",
      "file": "30-clock-payroll.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "staff clocks and breaks through real buttons with durable idempotent replay",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 2,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 24296,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n\n    at login (/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts:35:26)\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/30-clock-payroll.spec.ts:25:3",
                    "location": {
                      "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                      "column": 26,
                      "line": 35
                    },
                    "snippet": "   at helpers.ts:35\n\n  33 |   await page.goto(target);\n  34 |   const selector = page.getByRole('combobox', { name: 'Store', exact: true });\n> 35 |   await expect(selector).toBeVisible();\n     |                          ^\n  36 |   await selector.selectOption(fixture.stores[store].id);\n  37 | }\n  38 |"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                        "column": 26,
                        "line": 35
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('combobox', { name: 'Store', exact: true })\nExpected: visible\nTimeout: 20000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 20000ms\u001b[22m\n\u001b[2m  - waiting for getByRole('combobox', { name: 'Store', exact: true })\u001b[22m\n\n\n   at helpers.ts:35\n\n  33 |   await page.goto(target);\n  34 |   const selector = page.getByRole('combobox', { name: 'Store', exact: true });\n> 35 |   await expect(selector).toBeVisible();\n     |                          ^\n  36 |   await selector.selectOption(fixture.stores[store].id);\n  37 | }\n  38 |\n    at login (/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts:35:26)\n    at /Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/30-clock-payroll.spec.ts:25:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:17:23.278Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "screenshot",
                      "contentType": "image/png",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/30-clock-payroll-staff-clo-d4af5-h-durable-idempotent-replay/test-failed-1.png"
                    },
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/30-clock-payroll-staff-clo-d4af5-h-durable-idempotent-replay/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/Users/rvanvuren/Projects/alqove-web/.cache/scheduling-qa/E2E-48eb3c3454c31b2d/test-results/30-clock-payroll-staff-clo-d4af5-h-durable-idempotent-replay/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/Users/rvanvuren/Projects/alqove-web/e2e-scheduling-real/helpers.ts",
                    "column": 26,
                    "line": 35
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "11458750d704032b6e3f-8431482e12415154e32f",
          "file": "30-clock-payroll.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "manager correction and approval leads to owner browser CSV download and immutable replay",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9622,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:17:48.054Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "manager-correction-approval",
                      "contentType": "application/json",
                      "body": "ewogICJzaGVldCI6IHsKICAgICJpZCI6ICIzZDM3ZTMyMi03MTIwLTQ0OWQtYTIzOS1kZTlmMTQzNTA4ODMiLAogICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiMzFiZjliYzYtYzE0OS0zMTkyLWJhODYtZWI4YzA2OWUzNTA5IiwKICAgICJtZW1iZXJfbmFtZSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBNYW5hZ2VyIiwKICAgICJ3ZWVrX3N0YXJ0X2RhdGUiOiAiMjAyNi0wNS0wNCIsCiAgICAic2NoZWR1bGVkX21pbnV0ZXMiOiAwLAogICAgInJlZ3VsYXJfbWludXRlcyI6IDEyMCwKICAgICJvdmVydGltZV9taW51dGVzIjogMCwKICAgICJkb3VibGV0aW1lX21pbnV0ZXMiOiAwLAogICAgInVucGFpZF9icmVha19taW51dGVzIjogMCwKICAgICJ0b3RhbF9wYXlfY2VudHMiOiA0ODAwLAogICAgInN0YXR1cyI6ICJhcHByb3ZlZCIsCiAgICAiY2FsY3VsYXRpb25fbWV0YWRhdGEiOiB7CiAgICAgICJzY2hlbWFfdmVyc2lvbiI6IDEsCiAgICAgICJ0aW1lem9uZSI6ICJBbWVyaWNhL0xvc19BbmdlbGVzIiwKICAgICAgInN0YXJ0c19hdCI6ICIyMDI2LTA1LTA0VDA3OjAwOjAwKzAwOjAwIiwKICAgICAgImVuZHNfYXQiOiAiMjAyNi0wNS0xMVQwNzowMDowMCswMDowMCIsCiAgICAgICJkYWlseV9icmVha2Rvd24iOiB7CiAgICAgICAgIjIwMjYtMDUtMDQiOiB7CiAgICAgICAgICAicmVndWxhcl9taW51dGVzIjogMTIwLAogICAgICAgICAgIm92ZXJ0aW1lX21pbnV0ZXMiOiAwLAogICAgICAgICAgImRvdWJsZXRpbWVfbWludXRlcyI6IDAsCiAgICAgICAgICAidG90YWxfbWludXRlcyI6IDEyMCwKICAgICAgICAgICJjb25zZWN1dGl2ZV9kYXkiOiAxCiAgICAgICAgfQogICAgICB9LAogICAgICAic3RyYW5kZWRfY2xvY2tfaW5zIjogW10sCiAgICAgICJvcGVuX3Nlc3Npb25zIjogW10sCiAgICAgICJvdmVyc2l6ZWRfc2Vzc2lvbnMiOiBbXSwKICAgICAgInB1bmNoZXMiOiBbCiAgICAgICAgewogICAgICAgICAgImlkIjogIjg5ODVlYzJlLTZiNTUtNDU4OC05MjJmLWQ5MjliM2I3N2Y1ZiIsCiAgICAgICAgICAidHlwZSI6ICJjbG9ja19pbiIsCiAgICAgICAgICAidHMiOiAxNzc3OTA2ODAwLAogICAgICAgICAgImJyZWFrX3R5cGUiOiBudWxsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiaWQiOiAiOTEyNjc3NTktNGExYi00ODcxLWI2NmEtMmRhOGY5MmZlN2I3IiwKICAgICAgICAgICJ0eXBlIjogImNsb2NrX291dCIsCiAgICAgICAgICAidHMiOiAxNzc3OTE0MDAwLAogICAgICAgICAgImJyZWFrX3R5cGUiOiBudWxsCiAgICAgICAgfQogICAgICBdCiAgICB9CiAgfSwKICAic3FsIjogWwogICAgewogICAgICAiaWQiOiAiM2QzN2UzMjItNzEyMC00NDlkLWEyMzktZGU5ZjE0MzUwODgzIiwKICAgICAgInN0b3JlX2lkIjogIjU0MGE4NDZlLThmYjQtMzU0NC05Mjg1LWI4Mzk2MGZlYjBhNSIsCiAgICAgICJzdG9yZV9tZW1iZXJzaGlwX2lkIjogIjMxYmY5YmM2LWMxNDktMzE5Mi1iYTg2LWViOGMwNjllMzUwOSIsCiAgICAgICJ3ZWVrX3N0YXJ0X2RhdGUiOiAiMjAyNi0wNS0wNCIsCiAgICAgICJzY2hlZHVsZWRfbWludXRlcyI6IDAsCiAgICAgICJyZWd1bGFyX21pbnV0ZXMiOiAxMjAsCiAgICAgICJvdmVydGltZV9taW51dGVzIjogMCwKICAgICAgImRvdWJsZXRpbWVfbWludXRlcyI6IDAsCiAgICAgICJ1bnBhaWRfYnJlYWtfbWludXRlcyI6IDAsCiAgICAgICJ0b3RhbF9wYXlfY2VudHMiOiA0ODAwLAogICAgICAic3RhdHVzIjogImFwcHJvdmVkIiwKICAgICAgImNhbGN1bGF0aW9uX21ldGFkYXRhIjogIntcInNjaGVtYV92ZXJzaW9uXCI6MSxcInRpbWV6b25lXCI6XCJBbWVyaWNhXFwvTG9zX0FuZ2VsZXNcIixcInN0YXJ0c19hdFwiOlwiMjAyNi0wNS0wNFQwNzowMDowMCswMDowMFwiLFwiZW5kc19hdFwiOlwiMjAyNi0wNS0xMVQwNzowMDowMCswMDowMFwiLFwiZGFpbHlfYnJlYWtkb3duXCI6e1wiMjAyNi0wNS0wNFwiOntcInJlZ3VsYXJfbWludXRlc1wiOjEyMCxcIm92ZXJ0aW1lX21pbnV0ZXNcIjowLFwiZG91YmxldGltZV9taW51dGVzXCI6MCxcInRvdGFsX21pbnV0ZXNcIjoxMjAsXCJjb25zZWN1dGl2ZV9kYXlcIjoxfX0sXCJzdHJhbmRlZF9jbG9ja19pbnNcIjpbXSxcIm9wZW5fc2Vzc2lvbnNcIjpbXSxcIm92ZXJzaXplZF9zZXNzaW9uc1wiOltdLFwicHVuY2hlc1wiOlt7XCJpZFwiOlwiODk4NWVjMmUtNmI1NS00NTg4LTkyMmYtZDkyOWIzYjc3ZjVmXCIsXCJ0eXBlXCI6XCJjbG9ja19pblwiLFwidHNcIjoxNzc3OTA2ODAwLFwiYnJlYWtfdHlwZVwiOm51bGx9LHtcImlkXCI6XCI5MTI2Nzc1OS00YTFiLTQ4NzEtYjY2YS0yZGE4ZjkyZmU3YjdcIixcInR5cGVcIjpcImNsb2NrX291dFwiLFwidHNcIjoxNzc3OTE0MDAwLFwiYnJlYWtfdHlwZVwiOm51bGx9XX0iLAogICAgICAiYXBwcm92ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo1MiIsCiAgICAgICJhcHByb3ZlZF9ieSI6ICJjY2M3ZGRkYi1lODhmLTM0NjktOWFhYS00ZjNiZjdjZDIwNTQiLAogICAgICAiZXhwb3J0ZWRfYXQiOiBudWxsLAogICAgICAiY3JlYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjUyIiwKICAgICAgInVwZGF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo1MiIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICI4NGE1Zjk5Mi0wOGJhLTRiODAtYmYzZS1mY2RkYWQ2MTQ2NTkiLAogICAgICAic3RvcmVfaWQiOiAiNTQwYTg0NmUtOGZiNC0zNTQ0LTkyODUtYjgzOTYwZmViMGE1IiwKICAgICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiOGRkYmRmZTMtYmNiOS0zYmM5LTkzYjQtMjg2YzAyZmI2YWJiIiwKICAgICAgIndlZWtfc3RhcnRfZGF0ZSI6ICIyMDI2LTA1LTA0IiwKICAgICAgInNjaGVkdWxlZF9taW51dGVzIjogMCwKICAgICAgInJlZ3VsYXJfbWludXRlcyI6IDAsCiAgICAgICJvdmVydGltZV9taW51dGVzIjogMCwKICAgICAgImRvdWJsZXRpbWVfbWludXRlcyI6IDAsCiAgICAgICJ1bnBhaWRfYnJlYWtfbWludXRlcyI6IDAsCiAgICAgICJ0b3RhbF9wYXlfY2VudHMiOiAwLAogICAgICAic3RhdHVzIjogImFwcHJvdmVkIiwKICAgICAgImNhbGN1bGF0aW9uX21ldGFkYXRhIjogIntcInNjaGVtYV92ZXJzaW9uXCI6MSxcInRpbWV6b25lXCI6XCJBbWVyaWNhXFwvTG9zX0FuZ2VsZXNcIixcInN0YXJ0c19hdFwiOlwiMjAyNi0wNS0wNFQwNzowMDowMCswMDowMFwiLFwiZW5kc19hdFwiOlwiMjAyNi0wNS0xMVQwNzowMDowMCswMDowMFwiLFwiZGFpbHlfYnJlYWtkb3duXCI6W10sXCJzdHJhbmRlZF9jbG9ja19pbnNcIjpbXSxcIm9wZW5fc2Vzc2lvbnNcIjpbXSxcIm92ZXJzaXplZF9zZXNzaW9uc1wiOltdLFwicHVuY2hlc1wiOltdfSIsCiAgICAgICJhcHByb3ZlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjUyIiwKICAgICAgImFwcHJvdmVkX2J5IjogImNjYzdkZGRiLWU4OGYtMzQ2OS05YWFhLTRmM2JmN2NkMjA1NCIsCiAgICAgICJleHBvcnRlZF9hdCI6IG51bGwsCiAgICAgICJjcmVhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTIiLAogICAgICAidXBkYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjUyIgogICAgfSwKICAgIHsKICAgICAgImlkIjogIjRiMjMyMWY3LTkyNjEtNGVkMC1hMGIwLTE5MTJkZGQxNGUwZiIsCiAgICAgICJzdG9yZV9pZCI6ICI1NDBhODQ2ZS04ZmI0LTM1NDQtOTI4NS1iODM5NjBmZWIwYTUiLAogICAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICJkMGJlNzI1ZS02OWNjLTNiMjYtODYwOC00MDg1OWE3ZmEwODciLAogICAgICAid2Vla19zdGFydF9kYXRlIjogIjIwMjYtMDUtMDQiLAogICAgICAic2NoZWR1bGVkX21pbnV0ZXMiOiAwLAogICAgICAicmVndWxhcl9taW51dGVzIjogMCwKICAgICAgIm92ZXJ0aW1lX21pbnV0ZXMiOiAwLAogICAgICAiZG91YmxldGltZV9taW51dGVzIjogMCwKICAgICAgInVucGFpZF9icmVha19taW51dGVzIjogMCwKICAgICAgInRvdGFsX3BheV9jZW50cyI6IDAsCiAgICAgICJzdGF0dXMiOiAiYXBwcm92ZWQiLAogICAgICAiY2FsY3VsYXRpb25fbWV0YWRhdGEiOiAie1wic2NoZW1hX3ZlcnNpb25cIjoxLFwidGltZXpvbmVcIjpcIkFtZXJpY2FcXC9Mb3NfQW5nZWxlc1wiLFwic3RhcnRzX2F0XCI6XCIyMDI2LTA1LTA0VDA3OjAwOjAwKzAwOjAwXCIsXCJlbmRzX2F0XCI6XCIyMDI2LTA1LTExVDA3OjAwOjAwKzAwOjAwXCIsXCJkYWlseV9icmVha2Rvd25cIjpbXSxcInN0cmFuZGVkX2Nsb2NrX2luc1wiOltdLFwib3Blbl9zZXNzaW9uc1wiOltdLFwib3ZlcnNpemVkX3Nlc3Npb25zXCI6W10sXCJwdW5jaGVzXCI6W119IiwKICAgICAgImFwcHJvdmVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTIiLAogICAgICAiYXBwcm92ZWRfYnkiOiAiY2NjN2RkZGItZTg4Zi0zNDY5LTlhYWEtNGYzYmY3Y2QyMDU0IiwKICAgICAgImV4cG9ydGVkX2F0IjogbnVsbCwKICAgICAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo1MiIsCiAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTIiCiAgICB9CiAgXSwKICAicHVuY2hlcyI6IFsKICAgIHsKICAgICAgImlkIjogIjg5ODVlYzJlLTZiNTUtNDU4OC05MjJmLWQ5MjliM2I3N2Y1ZiIsCiAgICAgICJzdG9yZV9pZCI6ICI1NDBhODQ2ZS04ZmI0LTM1NDQtOTI4NS1iODM5NjBmZWIwYTUiLAogICAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICIzMWJmOWJjNi1jMTQ5LTMxOTItYmE4Ni1lYjhjMDY5ZTM1MDkiLAogICAgICAic2hpZnRfaWQiOiBudWxsLAogICAgICAicHVuY2hfdHlwZSI6ICJjbG9ja19pbiIsCiAgICAgICJwdW5jaGVkX2F0IjogIjIwMjYtMDUtMDQgMTU6MDA6MDAiLAogICAgICAiYnJlYWtfdHlwZSI6IG51bGwsCiAgICAgICJub3RlIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIGNvcnJlY3QgbWlzc2VkIGZpcnN0IGhvdXIiLAogICAgICAicmV2aXNpb24iOiAiODYwMzJjM2QtNzY4Mi00NDUyLTkxYWYtZTgyOTRiOTk3MjIwIiwKICAgICAgImlzX21hbnVhbCI6IDEsCiAgICAgICJjcmVhdGVkX2J5IjogImNjYzdkZGRiLWU4OGYtMzQ2OS05YWFhLTRmM2JmN2NkMjA1NCIsCiAgICAgICJ1cGRhdGVkX2J5IjogImNjYzdkZGRiLWU4OGYtMzQ2OS05YWFhLTRmM2JmN2NkMjA1NCIsCiAgICAgICJkZWxldGVkX2J5IjogbnVsbCwKICAgICAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo0OCIsCiAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTIiLAogICAgICAiZGVsZXRlZF9hdCI6IG51bGwKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICI5MTI2Nzc1OS00YTFiLTQ4NzEtYjY2YS0yZGE4ZjkyZmU3YjciLAogICAgICAic3RvcmVfaWQiOiAiNTQwYTg0NmUtOGZiNC0zNTQ0LTkyODUtYjgzOTYwZmViMGE1IiwKICAgICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiMzFiZjliYzYtYzE0OS0zMTkyLWJhODYtZWI4YzA2OWUzNTA5IiwKICAgICAgInNoaWZ0X2lkIjogbnVsbCwKICAgICAgInB1bmNoX3R5cGUiOiAiY2xvY2tfb3V0IiwKICAgICAgInB1bmNoZWRfYXQiOiAiMjAyNi0wNS0wNCAxNzowMDowMCIsCiAgICAgICJicmVha190eXBlIjogbnVsbCwKICAgICAgIm5vdGUiOiAiRTJFLTQ4ZWIzYzM0NTRjMzFiMmQgY29ycmVjdGlvbiBzZXR1cCIsCiAgICAgICJyZXZpc2lvbiI6ICI5ZjRmNmQyYy1iN2Q0LTRlZGEtYTQ1Mi0yYjZmZTQzZDgyMTUiLAogICAgICAiaXNfbWFudWFsIjogMSwKICAgICAgImNyZWF0ZWRfYnkiOiAiY2NjN2RkZGItZTg4Zi0zNDY5LTlhYWEtNGYzYmY3Y2QyMDU0IiwKICAgICAgInVwZGF0ZWRfYnkiOiBudWxsLAogICAgICAiZGVsZXRlZF9ieSI6IG51bGwsCiAgICAgICJjcmVhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NDgiLAogICAgICAidXBkYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjQ4IiwKICAgICAgImRlbGV0ZWRfYXQiOiBudWxsCiAgICB9CiAgXQp9"
                    },
                    {
                      "name": "payroll-browser-download-replay",
                      "contentType": "application/json",
                      "body": "ewogICJleHBvcnQiOiB7CiAgICAiaWQiOiAiMmQ5ZTEwMjYtMmQzZS00MzY1LThlMTctM2Y3NmFlZTA0YjcwIiwKICAgICJ3ZWVrX3N0YXJ0cyI6IFsKICAgICAgIjIwMjYtMDUtMDQiCiAgICBdLAogICAgInJvd19jb3VudCI6IDMsCiAgICAidG90YWxfbWludXRlcyI6IDEyMCwKICAgICJ0b3RhbF9wYXlfY2VudHMiOiA0ODAwLAogICAgInJvdW5kaW5nX21vZGUiOiAibm9uZSIsCiAgICAicm91bmRpbmdfaW5jcmVtZW50X21pbnV0ZXMiOiAxLAogICAgInBlcmlvZF9zdGFydCI6ICIyMDI2LTA1LTA0IiwKICAgICJwZXJpb2RfZW5kIjogIjIwMjYtMDUtMTAiLAogICAgImZpbGVuYW1lIjogInBheXJvbGxfMjAyNi0wNS0wNF8yMDI2LTA1LTA0LmNzdiIsCiAgICAiY3N2X2hhc2giOiAiZjBkNTU4OTU2YmIzNzAzYzc0MGNlYmMyODQwMWUxNzAxYzFkMmIxNGQ0OGEyMjI4NWY1MTQ1NDBlNzg4MjMzZCIsCiAgICAiY3JlYXRlZF9hdCI6ICIyMDI2LTA5LTA2VDE5OjE3OjU3LjAwMDAwMFoiLAogICAgInBheV9iYXNpcyI6ICJhY3R1YWxfbWludXRlcyIsCiAgICAid2FybmluZ3MiOiBbXQogIH0sCiAgImNzdl9zaGEyNTYiOiAiZjBkNTU4OTU2YmIzNzAzYzc0MGNlYmMyODQwMWUxNzAxYzFkMmIxNGQ0OGEyMjI4NWY1MTQ1NDBlNzg4MjMzZCIsCiAgImNzdl9ieXRlcyI6IDQzNiwKICAic3FsIjogWwogICAgewogICAgICAiaWQiOiAiMmQ5ZTEwMjYtMmQzZS00MzY1LThlMTctM2Y3NmFlZTA0YjcwIiwKICAgICAgInN0b3JlX2lkIjogIjU0MGE4NDZlLThmYjQtMzU0NC05Mjg1LWI4Mzk2MGZlYjBhNSIsCiAgICAgICJleHBvcnRlZF9ieSI6ICIwZjNkNmI0Ni1mNGJhLTNhYjYtODA4My0yNWZiMGI4ZTdhYjEiLAogICAgICAiaWRlbXBvdGVuY3lfa2V5IjogIjVkZDRkYWM4LWY5NmEtNDk3MS05MTZiLWZiMWE2N2JhNjFiMyIsCiAgICAgICJyZXF1ZXN0X2hhc2giOiAiYWQ0MGQzYTcyZTcyNDc0NDk5NDU5OWNlMTc4YmRkOTdhMmY3MTQ4MGE3NmM1ZjY3OTFmMjE5ZThlNWYyMmU1MyIsCiAgICAgICJjc3ZfaGFzaCI6ICJmMGQ1NTg5NTZiYjM3MDNjNzQwY2ViYzI4NDAxZTE3MDFjMWQyYjE0ZDQ4YTIyMjg1ZjUxNDU0MGU3ODgyMzNkIiwKICAgICAgImV4cG9ydF9kZXRhaWxzIjogIntcInNjaGVtYV92ZXJzaW9uXCI6MSxcInBheV9iYXNpc1wiOlwiYWN0dWFsX21pbnV0ZXNcIixcIndhcm5pbmdzXCI6W10sXCJoZWFkZXJzXCI6W1wiTWVtYmVyc2hpcCBJRFwiLFwiRW1wbG95ZWUgTmFtZVwiLFwiV2VlayBTdGFydFwiLFwiUmVndWxhciBIb3Vyc1wiLFwiT3ZlcnRpbWUgSG91cnNcIixcIkRvdWJsZXRpbWUgSG91cnNcIixcIlRvdGFsIEhvdXJzXCIsXCJUb3RhbCBQYXlcIl0sXCJyb3dzXCI6W1tcIjMxYmY5YmM2LWMxNDktMzE5Mi1iYTg2LWViOGMwNjllMzUwOVwiLFwiRTJFLTQ4ZWIzYzM0NTRjMzFiMmQgTWFuYWdlclwiLFwiMjAyNi0wNS0wNFwiLFwiMi4wMFwiLFwiMC4wMFwiLFwiMC4wMFwiLFwiMi4wMFwiLFwiNDguMDBcIl0sW1wiOGRkYmRmZTMtYmNiOS0zYmM5LTkzYjQtMjg2YzAyZmI2YWJiXCIsXCJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBPd25lclwiLFwiMjAyNi0wNS0wNFwiLFwiMC4wMFwiLFwiMC4wMFwiLFwiMC4wMFwiLFwiMC4wMFwiLFwiMC4wMFwiXSxbXCJkMGJlNzI1ZS02OWNjLTNiMjYtODYwOC00MDg1OWE3ZmEwODdcIixcIkUyRS00OGViM2MzNDU0YzMxYjJkIFN0YWZmXCIsXCIyMDI2LTA1LTA0XCIsXCIwLjAwXCIsXCIwLjAwXCIsXCIwLjAwXCIsXCIwLjAwXCIsXCIwLjAwXCJdXX0iLAogICAgICAid2Vla19zdGFydHMiOiAiW1wiMjAyNi0wNS0wNFwiXSIsCiAgICAgICJ0aW1lc2hlZXRfaWRzIjogIltcIjNkMzdlMzIyLTcxMjAtNDQ5ZC1hMjM5LWRlOWYxNDM1MDg4M1wiLFwiODRhNWY5OTItMDhiYS00YjgwLWJmM2UtZmNkZGFkNjE0NjU5XCIsXCI0YjIzMjFmNy05MjYxLTRlZDAtYTBiMC0xOTEyZGRkMTRlMGZcIl0iLAogICAgICAicm93X2NvdW50IjogMywKICAgICAgInRvdGFsX21pbnV0ZXMiOiAxMjAsCiAgICAgICJ0b3RhbF9wYXlfY2VudHMiOiA0ODAwLAogICAgICAicm91bmRpbmdfbW9kZSI6ICJub25lIiwKICAgICAgInJvdW5kaW5nX2luY3JlbWVudF9taW51dGVzIjogMSwKICAgICAgInBlcmlvZF9zdGFydCI6ICIyMDI2LTA1LTA0IiwKICAgICAgInBlcmlvZF9lbmQiOiAiMjAyNi0wNS0xMCIsCiAgICAgICJmaWxlbmFtZSI6ICJwYXlyb2xsXzIwMjYtMDUtMDRfMjAyNi0wNS0wNC5jc3YiLAogICAgICAiY29uZmxpY3RfcXVhcmFudGluZV9rZXkiOiBudWxsLAogICAgICAiY3JlYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjU3IiwKICAgICAgInVwZGF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo1NyIKICAgIH0KICBdCn0="
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "11458750d704032b6e3f-a0bda1f7103d193583ff",
          "file": "30-clock-payroll.spec.ts",
          "line": 53,
          "column": 5
        }
      ]
    },
    {
      "title": "40-guards.spec.ts",
      "file": "40-guards.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "stranded-clock approval/export guards and cross-store punch IDs fail closed",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 360,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:17:57.777Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "stranded-guards",
                      "contentType": "application/json",
                      "body": "ewogICJzaGVldCI6IHsKICAgICJpZCI6ICI0YmUzYTY3NS0zZjljLTQ2YzktOWI3Ni0wMGU2MjAzNDZlNzIiLAogICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiZGQ3ZTc5NzktOGE1NS0zNjgyLTk5M2MtZjUxZGNiMmZmYWY2IiwKICAgICJtZW1iZXJfbmFtZSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBNYW5hZ2VyIiwKICAgICJ3ZWVrX3N0YXJ0X2RhdGUiOiAiMjAyNi0wNC0wNiIsCiAgICAic2NoZWR1bGVkX21pbnV0ZXMiOiAwLAogICAgInJlZ3VsYXJfbWludXRlcyI6IDAsCiAgICAib3ZlcnRpbWVfbWludXRlcyI6IDAsCiAgICAiZG91YmxldGltZV9taW51dGVzIjogMCwKICAgICJ1bnBhaWRfYnJlYWtfbWludXRlcyI6IDAsCiAgICAic3RhdHVzIjogInBlbmRpbmciLAogICAgImNhbGN1bGF0aW9uX21ldGFkYXRhIjogewogICAgICAic2NoZW1hX3ZlcnNpb24iOiAxLAogICAgICAidGltZXpvbmUiOiAiQW1lcmljYS9Mb3NfQW5nZWxlcyIsCiAgICAgICJzdGFydHNfYXQiOiAiMjAyNi0wNC0wNlQwNzowMDowMCswMDowMCIsCiAgICAgICJlbmRzX2F0IjogIjIwMjYtMDQtMTNUMDc6MDA6MDArMDA6MDAiLAogICAgICAiZGFpbHlfYnJlYWtkb3duIjogW10sCiAgICAgICJzdHJhbmRlZF9jbG9ja19pbnMiOiBbCiAgICAgICAgewogICAgICAgICAgInB1bmNoX2lkIjogImQ0MTdkNDA2LTM2NzQtNDY1My1hYzU0LWE2ODc1M2YwZjhkNSIsCiAgICAgICAgICAiZGF0ZSI6ICIyMDI2LTA0LTA2IgogICAgICAgIH0KICAgICAgXSwKICAgICAgIm9wZW5fc2Vzc2lvbnMiOiBbCiAgICAgICAgewogICAgICAgICAgInB1bmNoX2lkIjogImQ0MTdkNDA2LTM2NzQtNDY1My1hYzU0LWE2ODc1M2YwZjhkNSIKICAgICAgICB9CiAgICAgIF0sCiAgICAgICJvdmVyc2l6ZWRfc2Vzc2lvbnMiOiBbXSwKICAgICAgInB1bmNoZXMiOiBbCiAgICAgICAgewogICAgICAgICAgImlkIjogImQ0MTdkNDA2LTM2NzQtNDY1My1hYzU0LWE2ODc1M2YwZjhkNSIsCiAgICAgICAgICAidHlwZSI6ICJjbG9ja19pbiIsCiAgICAgICAgICAidHMiOiAxNzc1NDkxMjAwLAogICAgICAgICAgImJyZWFrX3R5cGUiOiBudWxsCiAgICAgICAgfQogICAgICBdCiAgICB9CiAgfSwKICAicHVuY2hlcyI6IFsKICAgIHsKICAgICAgImlkIjogImQ0MTdkNDA2LTM2NzQtNDY1My1hYzU0LWE2ODc1M2YwZjhkNSIsCiAgICAgICJzdG9yZV9pZCI6ICI2ZjliODdiOC02YTM3LTM2MTUtYjRmZC00NjgxYjU3NzViODciLAogICAgICAic3RvcmVfbWVtYmVyc2hpcF9pZCI6ICJkZDdlNzk3OS04YTU1LTM2ODItOTkzYy1mNTFkY2IyZmZhZjYiLAogICAgICAic2hpZnRfaWQiOiBudWxsLAogICAgICAicHVuY2hfdHlwZSI6ICJjbG9ja19pbiIsCiAgICAgICJwdW5jaGVkX2F0IjogIjIwMjYtMDQtMDYgMTY6MDA6MDAiLAogICAgICAiYnJlYWtfdHlwZSI6IG51bGwsCiAgICAgICJub3RlIjogIkUyRS00OGViM2MzNDU0YzMxYjJkIHN0cmFuZGVkIGd1YXJkIiwKICAgICAgInJldmlzaW9uIjogIjVmN2ZkMjU4LTdkMGUtNDU0ZS04OTlkLTg3Mjc5M2MzZmZiMyIsCiAgICAgICJpc19tYW51YWwiOiAxLAogICAgICAiY3JlYXRlZF9ieSI6ICJjY2M3ZGRkYi1lODhmLTM0NjktOWFhYS00ZjNiZjdjZDIwNTQiLAogICAgICAidXBkYXRlZF9ieSI6IG51bGwsCiAgICAgICJkZWxldGVkX2J5IjogbnVsbCwKICAgICAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wOS0wNiAxOToxNzo1NyIsCiAgICAgICJ1cGRhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTciLAogICAgICAiZGVsZXRlZF9hdCI6IG51bGwKICAgIH0KICBdLAogICJleHBvcnRzIjogW10KfQ=="
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c7397b2a9aa80a519ce2-fb6432fabdc751085763",
          "file": "40-guards.spec.ts",
          "line": 3,
          "column": 5
        }
      ]
    },
    {
      "title": "50-payroll-api.spec.ts",
      "file": "50-payroll-api.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "real API payroll snapshot replays unchanged after settings mutation and rejects exported corrections",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "",
              "projectName": "",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 349,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-09-06T19:17:58.144Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "api-payroll-snapshot-replay",
                      "contentType": "application/json",
                      "body": "ewogICJhcHByb3ZlZCI6IHsKICAgICJpZCI6ICIwZWI0MjU2NC1lMDFkLTQ3ZjAtOWMwNi0xNjVhMzc1NDY1OTciLAogICAgInN0b3JlX21lbWJlcnNoaXBfaWQiOiAiNjlmZTFhZDUtOTRmYy0zMzM2LWFjZWQtYzMxMjI0OGYwZjNjIiwKICAgICJtZW1iZXJfbmFtZSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZCBPd25lciIsCiAgICAid2Vla19zdGFydF9kYXRlIjogIjIwMjYtMDYtMDEiLAogICAgInNjaGVkdWxlZF9taW51dGVzIjogMCwKICAgICJyZWd1bGFyX21pbnV0ZXMiOiAxMjAsCiAgICAib3ZlcnRpbWVfbWludXRlcyI6IDAsCiAgICAiZG91YmxldGltZV9taW51dGVzIjogMCwKICAgICJ1bnBhaWRfYnJlYWtfbWludXRlcyI6IDAsCiAgICAidG90YWxfcGF5X2NlbnRzIjogNDgwMCwKICAgICJzdGF0dXMiOiAiYXBwcm92ZWQiLAogICAgImNhbGN1bGF0aW9uX21ldGFkYXRhIjogewogICAgICAic2NoZW1hX3ZlcnNpb24iOiAxLAogICAgICAidGltZXpvbmUiOiAiQW1lcmljYS9Mb3NfQW5nZWxlcyIsCiAgICAgICJzdGFydHNfYXQiOiAiMjAyNi0wNi0wMVQwNzowMDowMCswMDowMCIsCiAgICAgICJlbmRzX2F0IjogIjIwMjYtMDYtMDhUMDc6MDA6MDArMDA6MDAiLAogICAgICAiZGFpbHlfYnJlYWtkb3duIjogewogICAgICAgICIyMDI2LTA2LTAxIjogewogICAgICAgICAgInJlZ3VsYXJfbWludXRlcyI6IDEyMCwKICAgICAgICAgICJvdmVydGltZV9taW51dGVzIjogMCwKICAgICAgICAgICJkb3VibGV0aW1lX21pbnV0ZXMiOiAwLAogICAgICAgICAgInRvdGFsX21pbnV0ZXMiOiAxMjAsCiAgICAgICAgICAiY29uc2VjdXRpdmVfZGF5IjogMQogICAgICAgIH0KICAgICAgfSwKICAgICAgInN0cmFuZGVkX2Nsb2NrX2lucyI6IFtdLAogICAgICAib3Blbl9zZXNzaW9ucyI6IFtdLAogICAgICAib3ZlcnNpemVkX3Nlc3Npb25zIjogW10sCiAgICAgICJwdW5jaGVzIjogWwogICAgICAgIHsKICAgICAgICAgICJpZCI6ICI5MDI3YzQyNi03YmY5LTRjODAtOTUzNy02M2ZmY2QwNGE3YjMiLAogICAgICAgICAgInR5cGUiOiAiY2xvY2tfaW4iLAogICAgICAgICAgInRzIjogMTc4MDMyNjAwMCwKICAgICAgICAgICJicmVha190eXBlIjogbnVsbAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImlkIjogImJiZTlmMWY3LTE3OTYtNDEwZC04NGVkLTQ0NzU2ZjYxMGU1OCIsCiAgICAgICAgICAidHlwZSI6ICJjbG9ja19vdXQiLAogICAgICAgICAgInRzIjogMTc4MDMzMzIwMCwKICAgICAgICAgICJicmVha190eXBlIjogbnVsbAogICAgICAgIH0KICAgICAgXQogICAgfQogIH0sCiAgImV4cG9ydGVkIjogewogICAgImlkIjogImU1ZWNmMjhhLWIwODYtNGU2NS1hOTYxLWFhNzc4NWEwM2JjZSIsCiAgICAid2Vla19zdGFydHMiOiBbCiAgICAgICIyMDI2LTA2LTAxIgogICAgXSwKICAgICJyb3dfY291bnQiOiAxLAogICAgInRvdGFsX21pbnV0ZXMiOiAxMjAsCiAgICAidG90YWxfcGF5X2NlbnRzIjogNDgwMCwKICAgICJyb3VuZGluZ19tb2RlIjogIm5vbmUiLAogICAgInJvdW5kaW5nX2luY3JlbWVudF9taW51dGVzIjogMSwKICAgICJwZXJpb2Rfc3RhcnQiOiAiMjAyNi0wNi0wMSIsCiAgICAicGVyaW9kX2VuZCI6ICIyMDI2LTA2LTA3IiwKICAgICJmaWxlbmFtZSI6ICJwYXlyb2xsXzIwMjYtMDYtMDFfMjAyNi0wNi0wMS5jc3YiLAogICAgImNzdl9oYXNoIjogIjMyYzNiMzBmZjIxZjM5MzJjZThlYTYzNmFhY2VmNmRlNjYzYjQ0N2Y4MDA4NzNmOTZjOWIxMzU1YThkMTE2ZmMiLAogICAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wOS0wNlQxOToxNzo1OC4wMDAwMDBaIiwKICAgICJwYXlfYmFzaXMiOiAiYWN0dWFsX21pbnV0ZXMiLAogICAgIndhcm5pbmdzIjogW10KICB9LAogICJyZXBsYXkiOiB7CiAgICAiaWQiOiAiZTVlY2YyOGEtYjA4Ni00ZTY1LWE5NjEtYWE3Nzg1YTAzYmNlIiwKICAgICJ3ZWVrX3N0YXJ0cyI6IFsKICAgICAgIjIwMjYtMDYtMDEiCiAgICBdLAogICAgInJvd19jb3VudCI6IDEsCiAgICAidG90YWxfbWludXRlcyI6IDEyMCwKICAgICJ0b3RhbF9wYXlfY2VudHMiOiA0ODAwLAogICAgInJvdW5kaW5nX21vZGUiOiAibm9uZSIsCiAgICAicm91bmRpbmdfaW5jcmVtZW50X21pbnV0ZXMiOiAxLAogICAgInBlcmlvZF9zdGFydCI6ICIyMDI2LTA2LTAxIiwKICAgICJwZXJpb2RfZW5kIjogIjIwMjYtMDYtMDciLAogICAgImZpbGVuYW1lIjogInBheXJvbGxfMjAyNi0wNi0wMV8yMDI2LTA2LTAxLmNzdiIsCiAgICAiY3N2X2hhc2giOiAiMzJjM2IzMGZmMjFmMzkzMmNlOGVhNjM2YWFjZWY2ZGU2NjNiNDQ3ZjgwMDg3M2Y5NmM5YjEzNTVhOGQxMTZmYyIsCiAgICAiY3JlYXRlZF9hdCI6ICIyMDI2LTA5LTA2VDE5OjE3OjU4LjAwMDAwMFoiLAogICAgInBheV9iYXNpcyI6ICJhY3R1YWxfbWludXRlcyIsCiAgICAid2FybmluZ3MiOiBbXQogIH0sCiAgImNzdl9zaGEyNTYiOiAiMzJjM2IzMGZmMjFmMzkzMmNlOGVhNjM2YWFjZWY2ZGU2NjNiNDQ3ZjgwMDg3M2Y5NmM5YjEzNTVhOGQxMTZmYyIsCiAgImNzdl9ieXRlcyI6IDIyOCwKICAiZXhwb3J0cyI6IFsKICAgIHsKICAgICAgImlkIjogImU1ZWNmMjhhLWIwODYtNGU2NS1hOTYxLWFhNzc4NWEwM2JjZSIsCiAgICAgICJzdG9yZV9pZCI6ICI2ZjliODdiOC02YTM3LTM2MTUtYjRmZC00NjgxYjU3NzViODciLAogICAgICAiZXhwb3J0ZWRfYnkiOiAiMGYzZDZiNDYtZjRiYS0zYWI2LTgwODMtMjVmYjBiOGU3YWIxIiwKICAgICAgImlkZW1wb3RlbmN5X2tleSI6ICJFMkUtNDhlYjNjMzQ1NGMzMWIyZC1zbmFwc2hvdCIsCiAgICAgICJyZXF1ZXN0X2hhc2giOiAiYmE2OGIwNTdlODdmMDQ2YzcwNzdlYTFiODk1NDI5MzliNGM2N2RiMGYyZGYyMDlkMGFhNzRjMzdiYzY4MjY5MiIsCiAgICAgICJjc3ZfaGFzaCI6ICIzMmMzYjMwZmYyMWYzOTMyY2U4ZWE2MzZhYWNlZjZkZTY2M2I0NDdmODAwODczZjk2YzliMTM1NWE4ZDExNmZjIiwKICAgICAgImV4cG9ydF9kZXRhaWxzIjogIntcInNjaGVtYV92ZXJzaW9uXCI6MSxcInBheV9iYXNpc1wiOlwiYWN0dWFsX21pbnV0ZXNcIixcIndhcm5pbmdzXCI6W10sXCJoZWFkZXJzXCI6W1wiTWVtYmVyc2hpcCBJRFwiLFwiRW1wbG95ZWUgTmFtZVwiLFwiV2VlayBTdGFydFwiLFwiUmVndWxhciBIb3Vyc1wiLFwiT3ZlcnRpbWUgSG91cnNcIixcIkRvdWJsZXRpbWUgSG91cnNcIixcIlRvdGFsIEhvdXJzXCIsXCJUb3RhbCBQYXlcIl0sXCJyb3dzXCI6W1tcIjY5ZmUxYWQ1LTk0ZmMtMzMzNi1hY2VkLWMzMTIyNDhmMGYzY1wiLFwiRTJFLTQ4ZWIzYzM0NTRjMzFiMmQgT3duZXJcIixcIjIwMjYtMDYtMDFcIixcIjIuMDBcIixcIjAuMDBcIixcIjAuMDBcIixcIjIuMDBcIixcIjQ4LjAwXCJdXX0iLAogICAgICAid2Vla19zdGFydHMiOiAiW1wiMjAyNi0wNi0wMVwiXSIsCiAgICAgICJ0aW1lc2hlZXRfaWRzIjogIltcIjBlYjQyNTY0LWUwMWQtNDdmMC05YzA2LTE2NWEzNzU0NjU5N1wiXSIsCiAgICAgICJyb3dfY291bnQiOiAxLAogICAgICAidG90YWxfbWludXRlcyI6IDEyMCwKICAgICAgInRvdGFsX3BheV9jZW50cyI6IDQ4MDAsCiAgICAgICJyb3VuZGluZ19tb2RlIjogIm5vbmUiLAogICAgICAicm91bmRpbmdfaW5jcmVtZW50X21pbnV0ZXMiOiAxLAogICAgICAicGVyaW9kX3N0YXJ0IjogIjIwMjYtMDYtMDEiLAogICAgICAicGVyaW9kX2VuZCI6ICIyMDI2LTA2LTA3IiwKICAgICAgImZpbGVuYW1lIjogInBheXJvbGxfMjAyNi0wNi0wMV8yMDI2LTA2LTAxLmNzdiIsCiAgICAgICJjb25mbGljdF9xdWFyYW50aW5lX2tleSI6IG51bGwsCiAgICAgICJjcmVhdGVkX2F0IjogIjIwMjYtMDktMDYgMTk6MTc6NTgiLAogICAgICAidXBkYXRlZF9hdCI6ICIyMDI2LTA5LTA2IDE5OjE3OjU4IgogICAgfQogIF0KfQ=="
                    }
                  ]
                }
              ],
              "status": "expected"
            }
          ],
          "id": "f2d6717b33a336c9d05a-ca5474418c34094d247c",
          "file": "50-payroll-api.spec.ts",
          "line": 4,
          "column": 5
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-09-06T19:16:27.263Z",
    "duration": 91271.856,
    "expected": 5,
    "skipped": 0,
    "unexpected": 3,
    "flaky": 0
  }
}