{
  "config": {
    "configFile": "/var/www/360lm/playwright.config.js",
    "rootDir": "/var/www/360lm/tests",
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 1
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/var/www/360lm/test-results",
        "repeatEach": 1,
        "retries": 1,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "android-chrome",
        "name": "android-chrome",
        "testDir": "/var/www/360lm/tests",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 30000
      },
      {
        "outputDir": "/var/www/360lm/test-results",
        "repeatEach": 1,
        "retries": 1,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "desktop-chrome",
        "name": "desktop-chrome",
        "testDir": "/var/www/360lm/tests",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 30000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "json"
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.60.0",
    "workers": 1,
    "webServer": null
  },
  "suites": [
    {
      "title": "recce.spec.js",
      "file": "recce.spec.js",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "Branding Recce — Page Load",
          "file": "recce.spec.js",
          "line": 24,
          "column": 6,
          "specs": [
            {
              "title": "no session — page either restricts or loads without crash",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 988,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:23.381Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-1753c18a0885d52c9a8b",
              "file": "recce.spec.js",
              "line": 25,
              "column": 3
            },
            {
              "title": "with hub session — home view renders",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 643,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:24.538Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-4e2ec7a3c80b44ada57c",
              "file": "recce.spec.js",
              "line": 33,
              "column": 3
            },
            {
              "title": "no session — page either restricts or loads without crash",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 737,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:11.515Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-a7868269ce4d683dca11",
              "file": "recce.spec.js",
              "line": 25,
              "column": 3
            },
            {
              "title": "with hub session — home view renders",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 544,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:12.452Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-266a5a3329e21b0c0eb9",
              "file": "recce.spec.js",
              "line": 33,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — Hero Section",
          "file": "recce.spec.js",
          "line": 43,
          "column": 6,
          "specs": [
            {
              "title": "hero Hub button exists and navigates to /hub/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 612,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:25.212Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d0678eca61955c559273",
              "file": "recce.spec.js",
              "line": 48,
              "column": 3
            },
            {
              "title": "hero shows today-date populated (init complete)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 543,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:25.852Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-ce30c36ecd7a8bce1b47",
              "file": "recce.spec.js",
              "line": 58,
              "column": 3
            },
            {
              "title": "hero Hub button exists and navigates to /hub/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 587,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:13.037Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-28ba7b0f3b4e7160480d",
              "file": "recce.spec.js",
              "line": 48,
              "column": 3
            },
            {
              "title": "hero shows today-date populated (init complete)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 476,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:13.649Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-b2b4a5b858c6f28097a1",
              "file": "recce.spec.js",
              "line": 58,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — Settings Screen",
          "file": "recce.spec.js",
          "line": 67,
          "column": 6,
          "specs": [
            {
              "title": "settings screen opens via gear icon",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 636,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:26.414Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-7cfdb05507781d19e4c1",
              "file": "recce.spec.js",
              "line": 72,
              "column": 3
            },
            {
              "title": "settings hdr has Hub button (injected by injectHubButtons)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 781,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:27.073Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-43d147e7ce8304f4d248",
              "file": "recce.spec.js",
              "line": 81,
              "column": 3
            },
            {
              "title": "settings Hub button navigates to /hub/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 695,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:27.883Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-bb4a3763afdab1fd351c",
              "file": "recce.spec.js",
              "line": 91,
              "column": 3
            },
            {
              "title": "settings screen opens via gear icon",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 535,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:14.151Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-44ed18ecb42e594c0b85",
              "file": "recce.spec.js",
              "line": 72,
              "column": 3
            },
            {
              "title": "settings hdr has Hub button (injected by injectHubButtons)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 573,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:14.706Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-a591eb06fe80a692ed9e",
              "file": "recce.spec.js",
              "line": 81,
              "column": 3
            },
            {
              "title": "settings Hub button navigates to /hub/",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 729,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:15.308Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-3a3c6537d3e93ee9628a",
              "file": "recce.spec.js",
              "line": 91,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — Existing Functionality Unchanged",
          "file": "recce.spec.js",
          "line": 103,
          "column": 6,
          "specs": [
            {
              "title": "stats cards visible on home",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 467,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:28.607Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-583c8d69d0547dbfb56d",
              "file": "recce.spec.js",
              "line": 108,
              "column": 3
            },
            {
              "title": "New Recce button exists in DOM (hidden for admin users, visible for field agents)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 441,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:29.094Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-ec42f7c5c6dd7545fd67",
              "file": "recce.spec.js",
              "line": 115,
              "column": 3
            },
            {
              "title": "language toggle button visible in hero",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 479,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:29.561Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d82c8374086879bd627f",
              "file": "recce.spec.js",
              "line": 123,
              "column": 3
            },
            {
              "title": "existing Hub button in hero still works",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 646,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:30.063Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-4a8ea58eef21687bc344",
              "file": "recce.spec.js",
              "line": 130,
              "column": 3
            },
            {
              "title": "stats cards visible on home",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 450,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:16.059Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-b8d172515e7502575bed",
              "file": "recce.spec.js",
              "line": 108,
              "column": 3
            },
            {
              "title": "New Recce button exists in DOM (hidden for admin users, visible for field agents)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 441,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:16.525Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-286cffb21bd655860a5c",
              "file": "recce.spec.js",
              "line": 115,
              "column": 3
            },
            {
              "title": "language toggle button visible in hero",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 492,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:16.988Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d422b9473e63f3982a2e",
              "file": "recce.spec.js",
              "line": 123,
              "column": 3
            },
            {
              "title": "existing Hub button in hero still works",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 598,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:17.498Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-192ed33ae9f0ae180ff9",
              "file": "recce.spec.js",
              "line": 130,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v9 Delete Modal (B2/B3/B4 — I1/I3)",
          "file": "recce.spec.js",
          "line": 150,
          "column": 6,
          "specs": [
            {
              "title": "I1: delete toggle button shows \"View Deleted\" (not \"🗑 Deleted\")",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 157,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12604,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:30.734Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 157,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-ffb47deb7915088dce02",
              "file": "recce.spec.js",
              "line": 155,
              "column": 3
            },
            {
              "title": "I1: toggle label flips to \"Hide Deleted\" when clicked",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 166,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12618,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:43.364Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 166,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-7ffcdd277c5c49ea70b0",
              "file": "recce.spec.js",
              "line": 164,
              "column": 3
            },
            {
              "title": "delete modal opens on 🗑 button click",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 176,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12516,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:33:56.005Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 176,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-74b7d917d5e58853863e",
              "file": "recce.spec.js",
              "line": 174,
              "column": 3
            },
            {
              "title": "B2: confirm button has no-reason class (grey) on modal open",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 186,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12793,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:08.555Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 186,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d164c8cfa7c4ae7dc12d",
              "file": "recce.spec.js",
              "line": 184,
              "column": 3
            },
            {
              "title": "B2: no-reason class removed when reason is selected",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 199,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12762,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:21.373Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 199,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-f28ceb5b4817a96370cd",
              "file": "recce.spec.js",
              "line": 197,
              "column": 3
            },
            {
              "title": "B3: toast fires when Delete clicked without selecting a reason",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 211,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12767,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:34.173Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 211,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-8d432e3c43ec933e624f",
              "file": "recce.spec.js",
              "line": 209,
              "column": 3
            },
            {
              "title": "B4: delete modal bdialog has max-height:85vh and overflow-y:auto",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 698,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:46.990Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-092aaa8f73d34c439292",
              "file": "recce.spec.js",
              "line": 222,
              "column": 3
            },
            {
              "title": "I3: Test Recce reason option has danger class",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 470,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:47.711Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-343e94f579d36f7a757e",
              "file": "recce.spec.js",
              "line": 229,
              "column": 3
            },
            {
              "title": "I3: Test Recce option shows ⚠️ icon",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 467,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:48.202Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-fe3ed23b6e3d4d7bf390",
              "file": "recce.spec.js",
              "line": 234,
              "column": 3
            },
            {
              "title": "cancel button closes delete modal cleanly",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 241,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12522,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:34:48.687Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 241,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-596c740377755ffd23af",
              "file": "recce.spec.js",
              "line": 239,
              "column": 3
            },
            {
              "title": "I1: delete toggle button shows \"View Deleted\" (not \"🗑 Deleted\")",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 157,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12520,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:18.118Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 157,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-adbba25ffb365b2f9f89",
              "file": "recce.spec.js",
              "line": 155,
              "column": 3
            },
            {
              "title": "I1: toggle label flips to \"Hide Deleted\" when clicked",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 166,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12481,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:30.658Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 166,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-b832889f85d6527d6aab",
              "file": "recce.spec.js",
              "line": 164,
              "column": 3
            },
            {
              "title": "delete modal opens on 🗑 button click",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 176,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12472,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:43.163Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 176,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-566aaf8dada24ba0adec",
              "file": "recce.spec.js",
              "line": 174,
              "column": 3
            },
            {
              "title": "B2: confirm button has no-reason class (grey) on modal open",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 186,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12499,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:55.648Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 186,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-02c0045840bc7dd39db5",
              "file": "recce.spec.js",
              "line": 184,
              "column": 3
            },
            {
              "title": "B2: no-reason class removed when reason is selected",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 199,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12499,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:08.168Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 199,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-68089c0e18f7fec862dc",
              "file": "recce.spec.js",
              "line": 197,
              "column": 3
            },
            {
              "title": "B3: toast fires when Delete clicked without selecting a reason",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 211,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12483,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:20.685Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 211,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d97019103c7b86a9f55c",
              "file": "recce.spec.js",
              "line": 209,
              "column": 3
            },
            {
              "title": "B4: delete modal bdialog has max-height:85vh and overflow-y:auto",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 478,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:33.182Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-62f7a7730d892c776d77",
              "file": "recce.spec.js",
              "line": 222,
              "column": 3
            },
            {
              "title": "I3: Test Recce reason option has danger class",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 455,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:33.678Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-2c22af5cd25674047383",
              "file": "recce.spec.js",
              "line": 229,
              "column": 3
            },
            {
              "title": "I3: Test Recce option shows ⚠️ icon",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 471,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:34.153Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-2626ce0fbf43e023a673",
              "file": "recce.spec.js",
              "line": 234,
              "column": 3
            },
            {
              "title": "cancel button closes delete modal cleanly",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 241,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12482,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:34.639Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 241,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-a0f042117f9f304f199a",
              "file": "recce.spec.js",
              "line": 239,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v10 Inside View max 5 photos",
          "file": "recce.spec.js",
          "line": 292,
          "column": 6,
          "specs": [
            {
              "title": "inside view label shows \"(optional, max 5)\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 11390,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:01.233Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-e5a037bf3a572788f8a5",
              "file": "recce.spec.js",
              "line": 293,
              "column": 3
            },
            {
              "title": "front view label still shows \"(min 1, max 3)\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10513,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:12.658Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-2ae6a84e5315a3352ec1",
              "file": "recce.spec.js",
              "line": 307,
              "column": 3
            },
            {
              "title": "add-inside button hidden after 3 photos (before limit) — regression guard",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 471,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:23.198Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-57db3c51e2e91116dd5a",
              "file": "recce.spec.js",
              "line": 319,
              "column": 3
            },
            {
              "title": "SW version is recce-v15",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 175,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:23.686Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-bf9dff1f1d39f21f2c57",
              "file": "recce.spec.js",
              "line": 334,
              "column": 3
            },
            {
              "title": "inside view label shows \"(optional, max 5)\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10436,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:47.139Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-290e517ef1b0aa6969f1",
              "file": "recce.spec.js",
              "line": 293,
              "column": 3
            },
            {
              "title": "front view label still shows \"(min 1, max 3)\"",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10443,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:38:57.598Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-c2186030fc7e5640d768",
              "file": "recce.spec.js",
              "line": 307,
              "column": 3
            },
            {
              "title": "add-inside button hidden after 3 photos (before limit) — regression guard",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 792,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:08.066Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-61a619f43cbfc0e44e4f",
              "file": "recce.spec.js",
              "line": 319,
              "column": 3
            },
            {
              "title": "SW version is recce-v15",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 516,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:08.892Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-3c265e083925f4819dfa",
              "file": "recce.spec.js",
              "line": 334,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v11 Restore Deleted Recce",
          "file": "recce.spec.js",
          "line": 343,
          "column": 6,
          "specs": [
            {
              "title": "restore-btn present on deleted cards for admin",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 350,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12671,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:23.878Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 350,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-6463bebd75c84f09c335",
              "file": "recce.spec.js",
              "line": 348,
              "column": 3
            },
            {
              "title": "restore-btn has green outline style (not red)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 365,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12470,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:36.575Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 365,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-48a07d43216b73bf9ac2",
              "file": "recce.spec.js",
              "line": 363,
              "column": 3
            },
            {
              "title": "restore source contains restoreRecce function",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 168,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:49.062Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-d74f1b14ccdf5c810915",
              "file": "recce.spec.js",
              "line": 375,
              "column": 3
            },
            {
              "title": "restore-btn present on deleted cards for admin",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 350,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12911,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:09.439Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 350,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-e40fa3249ad2fc9f04a6",
              "file": "recce.spec.js",
              "line": 348,
              "column": 3
            },
            {
              "title": "restore-btn has green outline style (not red)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 365,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12500,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:22.385Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 365,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-490192bede51abdc7aba",
              "file": "recce.spec.js",
              "line": 363,
              "column": 3
            },
            {
              "title": "restore source contains restoreRecce function",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 142,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:34.902Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-26f3d4e4c96bc271855f",
              "file": "recce.spec.js",
              "line": 375,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v9 Sync Text (B5)",
          "file": "recce.spec.js",
          "line": 384,
          "column": 6,
          "specs": [
            {
              "title": "B5: last-sync-txt shows \"Loaded HH:MM\" after admin fetch",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 391,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12609,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:35:49.255Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 391,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-5d8091a756965e8306bc",
              "file": "recce.spec.js",
              "line": 389,
              "column": 3
            },
            {
              "title": "B5: last-sync-txt shows \"Loaded HH:MM\" after admin fetch",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [
                    {
                      "type": "skip",
                      "location": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "line": 391,
                        "column": 21
                      }
                    }
                  ],
                  "expectedStatus": "skipped",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "skipped",
                      "duration": 12515,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:35.067Z",
                      "annotations": [
                        {
                          "type": "skip",
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "line": 391,
                            "column": 21
                          }
                        }
                      ],
                      "attachments": []
                    }
                  ],
                  "status": "skipped"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-bcbabcaa47cb3989fcce",
              "file": "recce.spec.js",
              "line": 389,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v12 Supervisor Landing",
          "file": "recce.spec.js",
          "line": 399,
          "column": 6,
          "specs": [
            {
              "title": "supervisor sees 2 tiles on home",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 1122,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:01.904Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-32dd12189820e577cc28",
              "file": "recce.spec.js",
              "line": 404,
              "column": 3
            },
            {
              "title": "first tile shows View All Recces label",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 689,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:03.093Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-76b71c62781d8f598e1b",
              "file": "recce.spec.js",
              "line": 411,
              "column": 3
            },
            {
              "title": "second tile shows Create Recce label",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 633,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:03.824Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-a225d403ad501b14b4c1",
              "file": "recce.spec.js",
              "line": 419,
              "column": 3
            },
            {
              "title": "new-btn is hidden on supervisor landing",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 673,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:04.492Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-7f134ebb5d9b57ad146f",
              "file": "recce.spec.js",
              "line": 427,
              "column": 3
            },
            {
              "title": "View All Recces tile opens admin list with back button",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 652,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:05.206Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-e54999ec840db1c59e8e",
              "file": "recce.spec.js",
              "line": 435,
              "column": 3
            },
            {
              "title": "source contains renderSupLanding and _isSupervisor",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 189,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:05.881Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-98438642e8d641f2a6c3",
              "file": "recce.spec.js",
              "line": 449,
              "column": 3
            },
            {
              "title": "supervisor sees 2 tiles on home",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 625,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:47.600Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-66b7a0ac658e6bcb2278",
              "file": "recce.spec.js",
              "line": 404,
              "column": 3
            },
            {
              "title": "first tile shows View All Recces label",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 487,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:48.241Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-09892f9b1425f01edfcd",
              "file": "recce.spec.js",
              "line": 411,
              "column": 3
            },
            {
              "title": "second tile shows Create Recce label",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 480,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:48.743Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-442562ce9f25ea586725",
              "file": "recce.spec.js",
              "line": 419,
              "column": 3
            },
            {
              "title": "new-btn is hidden on supervisor landing",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 490,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:49.241Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-5649d411bb93d21e8200",
              "file": "recce.spec.js",
              "line": 427,
              "column": 3
            },
            {
              "title": "View All Recces tile opens admin list with back button",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 580,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:49.749Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-b0d82362c6dae755428a",
              "file": "recce.spec.js",
              "line": 435,
              "column": 3
            },
            {
              "title": "source contains renderSupLanding and _isSupervisor",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 202,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:50.348Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-241d52c1c2b7615b4413",
              "file": "recce.spec.js",
              "line": 449,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v13 Supervisor Landing Bug Fixes",
          "file": "recce.spec.js",
          "line": 459,
          "column": 6,
          "specs": [
            {
              "title": "filter bar hidden on supervisor landing (STEP1-BUG-01)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 655,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:06.096Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-621c573624d7b4830de2",
              "file": "recce.spec.js",
              "line": 464,
              "column": 3
            },
            {
              "title": "filter bar reappears when View All Recces tapped again",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 727,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:06.772Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-17234def6ac6ea19ef0c",
              "file": "recce.spec.js",
              "line": 480,
              "column": 3
            },
            {
              "title": "source contains checkDraft call in exitSaveAndLeave (STEP3-BUG-01)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 146,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:07.522Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-e7554596fa1c08be9fe1",
              "file": "recce.spec.js",
              "line": 493,
              "column": 3
            },
            {
              "title": "filter bar hidden on supervisor landing (STEP1-BUG-01)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 580,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:50.574Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-5a3debfe5e2edf742e2a",
              "file": "recce.spec.js",
              "line": 464,
              "column": 3
            },
            {
              "title": "filter bar reappears when View All Recces tapped again",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 669,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:51.178Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-925c12b205b25c5229a9",
              "file": "recce.spec.js",
              "line": 480,
              "column": 3
            },
            {
              "title": "source contains checkDraft call in exitSaveAndLeave (STEP3-BUG-01)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 115,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:51.866Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-5db89deff03f0e8f9479",
              "file": "recce.spec.js",
              "line": 493,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — Logout clears both session keys",
          "file": "recce.spec.js",
          "line": 506,
          "column": 6,
          "specs": [
            {
              "title": "after logout lm360-session is removed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 667,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:07.688Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-b70f817f31b4f076a866",
              "file": "recce.spec.js",
              "line": 521,
              "column": 3
            },
            {
              "title": "after logout 360exp-session is also removed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 640,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:08.381Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-98b8db8009e20bf40780",
              "file": "recce.spec.js",
              "line": 532,
              "column": 3
            },
            {
              "title": "hub shows PIN login screen after logout (not auto-logged in)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2514,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:09.062Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-1376d88785c5b76b34f2",
              "file": "recce.spec.js",
              "line": 543,
              "column": 3
            },
            {
              "title": "dismiss logout confirm — session keys remain intact",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 608,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:11.596Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-a5b5547327cdf1e068fe",
              "file": "recce.spec.js",
              "line": 554,
              "column": 3
            },
            {
              "title": "after logout lm360-session is removed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 688,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:52.000Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-14c414fd5c58b50e6599",
              "file": "recce.spec.js",
              "line": 521,
              "column": 3
            },
            {
              "title": "after logout 360exp-session is also removed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 635,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:52.701Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-f083ec7a412bc4c45386",
              "file": "recce.spec.js",
              "line": 532,
              "column": 3
            },
            {
              "title": "hub shows PIN login screen after logout (not auto-logged in)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2473,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:53.368Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-aa34efb0cf330169da86",
              "file": "recce.spec.js",
              "line": 543,
              "column": 3
            },
            {
              "title": "dismiss logout confirm — session keys remain intact",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 553,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:55.862Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-1e1deb52d1442d3306f2",
              "file": "recce.spec.js",
              "line": 554,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v14 Create Recce Field Agent View",
          "file": "recce.spec.js",
          "line": 569,
          "column": 6,
          "specs": [
            {
              "title": "Create Recce tile shows New Recce button (not direct form)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 660,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:12.233Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-639d22b29d5715c5156a",
              "file": "recce.spec.js",
              "line": 574,
              "column": 3
            },
            {
              "title": "Create Recce tile shows Back to Menu button",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 573,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:12.927Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-8b35e4667b05b9e62170",
              "file": "recce.spec.js",
              "line": 583,
              "column": 3
            },
            {
              "title": "Back to Menu on create view returns to supervisor landing",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 615,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:13.519Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-81cd562a3f5f0fb739dd",
              "file": "recce.spec.js",
              "line": 591,
              "column": 3
            },
            {
              "title": "source contains supervisorCreateView and _supCreateMode",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 130,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:14.149Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-eaea6dabebff3c0fb5cd",
              "file": "recce.spec.js",
              "line": 604,
              "column": 3
            },
            {
              "title": "Create Recce tile shows New Recce button (not direct form)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 551,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:56.448Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-8c60b15037d387364f6b",
              "file": "recce.spec.js",
              "line": 574,
              "column": 3
            },
            {
              "title": "Create Recce tile shows Back to Menu button",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 556,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:57.023Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-668163584e360b5f816d",
              "file": "recce.spec.js",
              "line": 583,
              "column": 3
            },
            {
              "title": "Back to Menu on create view returns to supervisor landing",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 641,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:57.598Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-878f55edf147f3cf32b7",
              "file": "recce.spec.js",
              "line": 591,
              "column": 3
            },
            {
              "title": "source contains supervisorCreateView and _supCreateMode",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 153,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:58.262Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-16d2fc1b7e5fb8249617",
              "file": "recce.spec.js",
              "line": 604,
              "column": 3
            }
          ]
        },
        {
          "title": "Branding Recce — v15 Client Field",
          "file": "recce.spec.js",
          "line": 613,
          "column": 6,
          "specs": [
            {
              "title": "source contains client_name field and renderClientChips",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 134,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:14.295Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-8664dc05f6f0af92aa01",
              "file": "recce.spec.js",
              "line": 614,
              "column": 3
            },
            {
              "title": "client chip grid is present in form DOM",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10400,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:14.446Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-1fe499ea1a43aa73afb9",
              "file": "recce.spec.js",
              "line": 623,
              "column": 3
            },
            {
              "title": "Other chip appears and reveals text input when clicked",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10615,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:24.872Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-0c481fa381af20546351",
              "file": "recce.spec.js",
              "line": 634,
              "column": 3
            },
            {
              "title": "Next blocked and toast shown when no client selected",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 977,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:35.500Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-5355a5f858f2ec3031e8",
              "file": "recce.spec.js",
              "line": 653,
              "column": 3
            },
            {
              "title": "admin filter bar has af-client dropdown",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15490,
                      "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × 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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /var/www/360lm/tests/recce.spec.js:682:46",
                        "location": {
                          "file": "/var/www/360lm/tests/recce.spec.js",
                          "column": 46,
                          "line": 682
                        },
                        "snippet": "  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "column": 46,
                            "line": 682
                          },
                          "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {\n    at /var/www/360lm/tests/recce.spec.js:682:46"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:36:36.494Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "column": 46,
                        "line": 682
                      }
                    },
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15616,
                      "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × 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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /var/www/360lm/tests/recce.spec.js:682:46",
                        "location": {
                          "file": "/var/www/360lm/tests/recce.spec.js",
                          "column": 46,
                          "line": 682
                        },
                        "snippet": "  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "column": 46,
                            "line": 682
                          },
                          "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {\n    at /var/www/360lm/tests/recce.spec.js:682:46"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-20T12:36:53.008Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "column": 46,
                        "line": 682
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-328b883fa14a0c9d507d",
              "file": "recce.spec.js",
              "line": 679,
              "column": 3
            },
            {
              "title": "Group: Client option exists in group selector",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 2,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 335,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:09.745Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-96b51059abc9e575731d",
              "file": "recce.spec.js",
              "line": 685,
              "column": 3
            },
            {
              "title": "settings panel has client management section",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 2,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 196,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:10.240Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-ca077ad27f6361add759",
              "file": "recce.spec.js",
              "line": 692,
              "column": 3
            },
            {
              "title": "recce-cfg.json contains clients array",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 2,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 139,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:37:10.468Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-c75d823bca0e44a233a6",
              "file": "recce.spec.js",
              "line": 700,
              "column": 3
            },
            {
              "title": "source contains client_name field and renderClientChips",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 131,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:58.453Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-1e55a38eb3040c5f54bb",
              "file": "recce.spec.js",
              "line": 614,
              "column": 3
            },
            {
              "title": "client chip grid is present in form DOM",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10405,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:39:58.599Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-376d9e9178e5cfe587ea",
              "file": "recce.spec.js",
              "line": 623,
              "column": 3
            },
            {
              "title": "Other chip appears and reveals text input when clicked",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 10623,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:09.019Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-e81e760851b52970239a",
              "file": "recce.spec.js",
              "line": 634,
              "column": 3
            },
            {
              "title": "Next blocked and toast shown when no client selected",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 797,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:19.658Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-87c1674be7b4292ccd02",
              "file": "recce.spec.js",
              "line": 653,
              "column": 3
            },
            {
              "title": "admin filter bar has af-client dropdown",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15484,
                      "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × 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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /var/www/360lm/tests/recce.spec.js:682:46",
                        "location": {
                          "file": "/var/www/360lm/tests/recce.spec.js",
                          "column": 46,
                          "line": 682
                        },
                        "snippet": "  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "column": 46,
                            "line": 682
                          },
                          "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {\n    at /var/www/360lm/tests/recce.spec.js:682:46"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:20.476Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "column": 46,
                        "line": 682
                      }
                    },
                    {
                      "workerIndex": 4,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 15636,
                      "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × 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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n    at /var/www/360lm/tests/recce.spec.js:682:46",
                        "location": {
                          "file": "/var/www/360lm/tests/recce.spec.js",
                          "column": 46,
                          "line": 682
                        },
                        "snippet": "  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/recce.spec.js",
                            "column": 46,
                            "line": 682
                          },
                          "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('#af-client')\nExpected: \u001b[32m1\u001b[39m\nReceived: \u001b[31m0\u001b[39m\nTimeout:  5000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveCount\" with timeout 5000ms\u001b[22m\n\u001b[2m  - waiting for locator('#af-client')\u001b[22m\n\u001b[2m    14 × locator resolved to 0 elements\u001b[22m\n\u001b[2m       - unexpected value \"0\"\u001b[22m\n\n\n  680 |     await page.goto(BASE_URL);\n  681 |     await page.waitForSelector('#view-home.active', { timeout: 10000 }).catch(() => {});\n> 682 |     await expect(page.locator('#af-client')).toHaveCount(1);\n      |                                              ^\n  683 |   });\n  684 |\n  685 |   test('Group: Client option exists in group selector', async ({ page }) => {\n    at /var/www/360lm/tests/recce.spec.js:682:46"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-20T12:40:36.904Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/recce-Branding-Recce-—-v15-d7dbd--bar-has-af-client-dropdown-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/recce.spec.js",
                        "column": 46,
                        "line": 682
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-ace4ded865503ff8b28c",
              "file": "recce.spec.js",
              "line": 679,
              "column": 3
            },
            {
              "title": "Group: Client option exists in group selector",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 273,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:53.657Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-76259ca18815bc0b4f5d",
              "file": "recce.spec.js",
              "line": 685,
              "column": 3
            },
            {
              "title": "settings panel has client management section",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 157,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:54.149Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-f9196413e362edc15f28",
              "file": "recce.spec.js",
              "line": 692,
              "column": 3
            },
            {
              "title": "recce-cfg.json contains clients array",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 5,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 174,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-20T12:40:54.332Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "bb27ca683ce0a15e9d22-019d6edb9b3f2d5d487f",
              "file": "recce.spec.js",
              "line": 700,
              "column": 3
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-05-20T12:33:22.052Z",
    "duration": 452566.41,
    "expected": 86,
    "skipped": 20,
    "unexpected": 2,
    "flaky": 0
  }
}
