{
  "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_client.spec.js",
      "file": "recce_client.spec.js",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "Phase 4.1 — DB schema present",
          "file": "recce_client.spec.js",
          "line": 29,
          "column": 6,
          "specs": [
            {
              "title": "PostgREST exposes client + client_visible_recces_v + mail_outbox",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 125,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:41.295Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-2eb686f95b6e6f5196d9",
              "file": "recce_client.spec.js",
              "line": 30,
              "column": 3
            },
            {
              "title": "sensitive tables (client_user, client_session, client_invite) are NOT directly readable",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 70,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:41.491Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-465ce260ba7e6bd0fa43",
              "file": "recce_client.spec.js",
              "line": 39,
              "column": 3
            },
            {
              "title": "PostgREST exposes client + client_visible_recces_v + mail_outbox",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 142,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:03.410Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-2ce0aac8156834b76b73",
              "file": "recce_client.spec.js",
              "line": 30,
              "column": 3
            },
            {
              "title": "sensitive tables (client_user, client_session, client_invite) are NOT directly readable",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 87,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:03.641Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-75a392213d756dc1a942",
              "file": "recce_client.spec.js",
              "line": 39,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.1 — supervisor gate",
          "file": "recce_client.spec.js",
          "line": 51,
          "column": 6,
          "specs": [
            {
              "title": "non-supervisor invite attempt returns forbidden",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 69,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:41.585Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-ee86b5d78885b6d436ec",
              "file": "recce_client.spec.js",
              "line": 52,
              "column": 3
            },
            {
              "title": "non-supervisor invite attempt returns forbidden",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 28,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:03.759Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-39a2c0b302b1b2681d65",
              "file": "recce_client.spec.js",
              "line": 52,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.1 — end-to-end auth + visibility",
          "file": "recce_client.spec.js",
          "line": 68,
          "column": 6,
          "specs": [
            {
              "title": "invite → consume → validate → recces_for_client_user → revoke",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 238,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:41.675Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-546da71e4f9760dc0c40",
              "file": "recce_client.spec.js",
              "line": 69,
              "column": 3
            },
            {
              "title": "brand filter: HP client_user does NOT see Lenovo Recces",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 149,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:41.931Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-92620518c8f4d6f343fe",
              "file": "recce_client.spec.js",
              "line": 170,
              "column": 3
            },
            {
              "title": "invite → consume → validate → recces_for_client_user → revoke",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 271,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:03.814Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-cfada63b1cb12a94dfc4",
              "file": "recce_client.spec.js",
              "line": 69,
              "column": 3
            },
            {
              "title": "brand filter: HP client_user does NOT see Lenovo Recces",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 233,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:04.121Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-0fd992f8258e53f153d6",
              "file": "recce_client.spec.js",
              "line": 170,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.2 — PWA shell",
          "file": "recce_client.spec.js",
          "line": 220,
          "column": 6,
          "specs": [
            {
              "title": "login screen renders without session",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 1363,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:42.100Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-65d9e3fb5718270df3fa",
              "file": "recce_client.spec.js",
              "line": 223,
              "column": 3
            },
            {
              "title": "SW version + manifest reachable",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 19,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:43.627Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-c3c5315fc7aac68f0469",
              "file": "recce_client.spec.js",
              "line": 231,
              "column": 3
            },
            {
              "title": "login does not leak existence (returns ok=true for non-existent email)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2665,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:43.670Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-9c21e54f9fbbd6477563",
              "file": "recce_client.spec.js",
              "line": 241,
              "column": 3
            },
            {
              "title": "magic-link → list renders → viewer signs+opens → logout revokes",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 3864,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:46.369Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-d35c41195d319c4ff459",
              "file": "recce_client.spec.js",
              "line": 253,
              "column": 3
            },
            {
              "title": "expired/used token shows error on the login screen",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2035,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:50.276Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-2394a60373cb4e8b448c",
              "file": "recce_client.spec.js",
              "line": 361,
              "column": 3
            },
            {
              "title": "login screen renders without session",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 1673,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:04.369Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-74d0473e431cae3c642e",
              "file": "recce_client.spec.js",
              "line": 223,
              "column": 3
            },
            {
              "title": "SW version + manifest reachable",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 26,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:06.320Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-46eba6276c21b0191c67",
              "file": "recce_client.spec.js",
              "line": 231,
              "column": 3
            },
            {
              "title": "login does not leak existence (returns ok=true for non-existent email)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2558,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:06.363Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-0cf92f625917f085eecd",
              "file": "recce_client.spec.js",
              "line": 241,
              "column": 3
            },
            {
              "title": "magic-link → list renders → viewer signs+opens → logout revokes",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 4030,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:08.933Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-ff8f74ac1db8d1de7ada",
              "file": "recce_client.spec.js",
              "line": 253,
              "column": 3
            },
            {
              "title": "expired/used token shows error on the login screen",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2123,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:13.022Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-bb5cd1a4e0c08edf40e6",
              "file": "recce_client.spec.js",
              "line": 361,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.4 — client_set_response RPC",
          "file": "recce_client.spec.js",
          "line": 371,
          "column": 6,
          "specs": [
            {
              "title": "validation: bad_status / comment_required / forbidden / session_invalid",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 231,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:52.341Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-9ccc07f6111bdd197350",
              "file": "recce_client.spec.js",
              "line": 372,
              "column": 3
            },
            {
              "title": "validation: bad_status / comment_required / forbidden / session_invalid",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 244,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:15.181Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-af2cc5d76f5af80dd3fc",
              "file": "recce_client.spec.js",
              "line": 372,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.4 — PWA viewer response form",
          "file": "recce_client.spec.js",
          "line": 466,
          "column": 6,
          "specs": [
            {
              "title": "initial pending state → Approve → list status updates → re-open → Approve with changes",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 7442,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:16:52.585Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-2f186cf814b3b4a3d30b",
              "file": "recce_client.spec.js",
              "line": 469,
              "column": 3
            },
            {
              "title": "initial pending state → Approve → list status updates → re-open → Approve with changes",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 7205,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:15.439Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-152bd10f2a441dd03e95",
              "file": "recce_client.spec.js",
              "line": 469,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.2 — recce-view-proxy ClientPortal auth",
          "file": "recce_client.spec.js",
          "line": 565,
          "column": 6,
          "specs": [
            {
              "title": "proxy /sign accepts ClientPortal session and rejects bogus session",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 186,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:17:00.070Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-759d29ff1a9acb01f947",
              "file": "recce_client.spec.js",
              "line": 566,
              "column": 3
            },
            {
              "title": "proxy /sign accepts ClientPortal session and rejects bogus session",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 74,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:22.659Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-efd5279c000d943cf03e",
              "file": "recce_client.spec.js",
              "line": 566,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.1 — mail relay worker",
          "file": "recce_client.spec.js",
          "line": 607,
          "column": 6,
          "specs": [
            {
              "title": "worker drains pending mail rows produced via the invite RPC",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 60342,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:17:00.300Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-da75682d0441589a9324",
              "file": "recce_client.spec.js",
              "line": 608,
              "column": 3
            },
            {
              "title": "worker drains pending mail rows produced via the invite RPC",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 120000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 8058,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:22.749Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-6564155f9f9c900dabc8",
              "file": "recce_client.spec.js",
              "line": 608,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.9 — notification preferences",
          "file": "recce_client.spec.js",
          "line": 654,
          "column": 6,
          "specs": [
            {
              "title": "list_my_notify_prefs defaults all-on; set_my_notify_pref toggles; dispatch_notify suppresses when opted out",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 424,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:00.654Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-0605e0a74bdee130d1af",
              "file": "recce_client.spec.js",
              "line": 655,
              "column": 3
            },
            {
              "title": "list_my_notify_prefs defaults all-on; set_my_notify_pref toggles; dispatch_notify suppresses when opted out",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 273,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:30.821Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-a7dfc39ea0adfe145457",
              "file": "recce_client.spec.js",
              "line": 655,
              "column": 3
            }
          ]
        },
        {
          "title": "Phase 4.10 — bulk response RPC",
          "file": "recce_client.spec.js",
          "line": 801,
          "column": 6,
          "specs": [
            {
              "title": "client_bulk_response: validation + partial visibility + N audit rows + N trigger fires",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 675,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:01.097Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-282e2760b0a2be924687",
              "file": "recce_client.spec.js",
              "line": 802,
              "column": 3
            },
            {
              "title": "client_bulk_response: validation + partial visibility + N audit rows + N trigger fires",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 215,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-14T08:18:31.103Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "6b4c999b8a1aeac1a890-ade3092e7b584a909b75",
              "file": "recce_client.spec.js",
              "line": 802,
              "column": 3
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-06-14T08:16:39.602Z",
    "duration": 111829.27500000001,
    "expected": 32,
    "skipped": 0,
    "unexpected": 0,
    "flaky": 0
  }
}
