{
  "config": {
    "argv": [
      "/usr/bin/node",
      "/app/node_modules/.bin/playwright",
      "test",
      "--project=ui",
      "--output=/workspace/artifacts/7dab2de/news-preview/test-output"
    ],
    "configFile": "/app/playwright.config.ts",
    "rootDir": "/app",
    "failOnFlakyTests": false,
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 1
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/workspace/artifacts/7dab2de/news-preview/test-output",
        "repeatEach": 1,
        "retries": 2,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "ui",
        "name": "ui",
        "testDir": "/app/tests/ui",
        "testIgnore": [],
        "testMatch": [
          "**/*.spec.ts"
        ],
        "timeout": 30000
      },
      {
        "outputDir": "/workspace/artifacts/7dab2de/news-preview/test-output",
        "repeatEach": 1,
        "retries": 2,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "api",
        "name": "api",
        "testDir": "/app/tests/api",
        "testIgnore": [],
        "testMatch": [
          "**/*.spec.ts"
        ],
        "timeout": 30000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "html",
        {
          "outputFolder": "/workspace/artifacts/7dab2de/news-preview/reports/html",
          "open": "never"
        }
      ],
      [
        "json",
        {
          "outputFile": "/workspace/artifacts/7dab2de/news-preview/reports/results.json"
        }
      ],
      [
        "list",
        null
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.63.0",
    "workers": 32,
    "webServer": null
  },
  "suites": [
    {
      "title": "tests/ui/responsive.spec.ts",
      "file": "tests/ui/responsive.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "phone layout (iPhone 13, 390px)",
          "file": "tests/ui/responsive.spec.ts",
          "line": 47,
          "column": 8,
          "specs": [
            {
              "title": "feed fits the screen width",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 679,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:16.043Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-13f12--feed-fits-the-screen-width-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-3c835ff1b3411f062858",
              "file": "tests/ui/responsive.spec.ts",
              "line": 50,
              "column": 9
            },
            {
              "title": "first article starts on the first screen",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 395,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:17.171Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-2caff--starts-on-the-first-screen-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-9c084ff68c22d5f8bb03",
              "file": "tests/ui/responsive.spec.ts",
              "line": 55,
              "column": 9
            },
            {
              "title": "filter panel scrolls away instead of covering the feed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 314,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:17.576Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-6b680-nstead-of-covering-the-feed-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-50ba706805d98fcec48e",
              "file": "tests/ui/responsive.spec.ts",
              "line": 62,
              "column": 9
            },
            {
              "title": "filters collapse behind a toggle that counts active filters",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 1362,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:17.904Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-decb6--that-counts-active-filters-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-07d69b5171698f68f4ad",
              "file": "tests/ui/responsive.spec.ts",
              "line": 72,
              "column": 9
            },
            {
              "title": "form fields are 16px so iOS does not zoom on focus",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 371,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:19.284Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-e60ac--iOS-does-not-zoom-on-focus-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-c09474f67b72aff4e103",
              "file": "tests/ui/responsive.spec.ts",
              "line": 93,
              "column": 9
            },
            {
              "title": "tap targets are at least 24px tall",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 314,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:19.670Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-4b98a-gets-are-at-least-24px-tall-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-443e74039ab40c7a67fb",
              "file": "tests/ui/responsive.spec.ts",
              "line": 104,
              "column": 9
            },
            {
              "title": "tapping an also-mentioned chip searches for it",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 314,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:19.994Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-c5aa1-tioned-chip-searches-for-it-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-c99136185daf52da3c8d",
              "file": "tests/ui/responsive.spec.ts",
              "line": 120,
              "column": 9
            },
            {
              "title": "entity page fits the screen and its card scrolls away",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 250,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:20.321Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-3d82b-n-and-its-card-scrolls-away-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-08f8dcdf9686c2c99b11",
              "file": "tests/ui/responsive.spec.ts",
              "line": 130,
              "column": 9
            }
          ]
        },
        {
          "title": "phone layout (iPhone SE, 320px)",
          "file": "tests/ui/responsive.spec.ts",
          "line": 47,
          "column": 8,
          "specs": [
            {
              "title": "feed fits the screen width",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 229,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:20.587Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-250df--feed-fits-the-screen-width-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-8a140fa0aa81b532d91a",
              "file": "tests/ui/responsive.spec.ts",
              "line": 50,
              "column": 9
            },
            {
              "title": "first article starts on the first screen",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 242,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:20.828Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-6381c--starts-on-the-first-screen-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-a0282d7dc196ed04b786",
              "file": "tests/ui/responsive.spec.ts",
              "line": 55,
              "column": 9
            },
            {
              "title": "filter panel scrolls away instead of covering the feed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 262,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:21.078Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-bbd8e-nstead-of-covering-the-feed-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-4fd48ada87ea5478123d",
              "file": "tests/ui/responsive.spec.ts",
              "line": 62,
              "column": 9
            },
            {
              "title": "filters collapse behind a toggle that counts active filters",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 435,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:21.350Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-c4540--that-counts-active-filters-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-1db4e76ac30f347998c7",
              "file": "tests/ui/responsive.spec.ts",
              "line": 72,
              "column": 9
            },
            {
              "title": "form fields are 16px so iOS does not zoom on focus",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 276,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:21.798Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-ad47e--iOS-does-not-zoom-on-focus-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-256a90131eeb2b8887e8",
              "file": "tests/ui/responsive.spec.ts",
              "line": 93,
              "column": 9
            },
            {
              "title": "tap targets are at least 24px tall",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 228,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:22.087Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-c297c-gets-are-at-least-24px-tall-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-609aa6169b2d624b665a",
              "file": "tests/ui/responsive.spec.ts",
              "line": 104,
              "column": 9
            },
            {
              "title": "tapping an also-mentioned chip searches for it",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 302,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:22.330Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-81d4c-tioned-chip-searches-for-it-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-5613f060b4cd05db6a7d",
              "file": "tests/ui/responsive.spec.ts",
              "line": 120,
              "column": 9
            },
            {
              "title": "entity page fits the screen and its card scrolls away",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 183,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:22.642Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-phone-layout-iP-6a63f-n-and-its-card-scrolls-away-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-7782d1fdd2729bfd35b9",
              "file": "tests/ui/responsive.spec.ts",
              "line": 130,
              "column": 9
            }
          ]
        },
        {
          "title": "desktop layout (1280px)",
          "file": "tests/ui/responsive.spec.ts",
          "line": 140,
          "column": 6,
          "specs": [
            {
              "title": "filters stay an open, sticky sidebar beside the feed",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 253,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:22.835Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-desktop-layout--b7d31-cky-sidebar-beside-the-feed-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-1ccdfdca05420b6add45",
              "file": "tests/ui/responsive.spec.ts",
              "line": 143,
              "column": 7
            },
            {
              "title": "search keeps the long placeholder",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "ui",
                  "projectName": "ui",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 235,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-10-16T17:39:23.097Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/workspace/artifacts/7dab2de/news-preview/test-output/responsive-desktop-layout--435b1--keeps-the-long-placeholder-ui/test-finished-1.png"
                        }
                      ]
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "e0223b006feb3d306446-b0ef9e8d1a68f49089b4",
              "file": "tests/ui/responsive.spec.ts",
              "line": 155,
              "column": 7
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-10-16T17:39:15.555Z",
    "duration": 7842.956999999999,
    "expected": 18,
    "skipped": 0,
    "unexpected": 0,
    "flaky": 0
  }
}