The top-level testDir is './tests', which scopes Playwright's file discovery.
global.setup.ts lives at repo root, so the setup project's testMatch regex
never got a chance to match — Playwright silently ran 0 setup tests, the
storage-state file at playwright/.auth/admin.json was never written, and
every dependent test failed on storageState load with ENOENT.
Adding 'testDir: \".\"' on the setup project lets Playwright scan repo root
for files matching the testMatch regex without affecting the chromium
project, which still uses the top-level './tests' testDir.
Bug present since the initial smoke suite (d46a1e4). Has been blocking
PRAutoBlogger workflow-driven prod deploys since the smoke gate was added
on 2026-04-26 (prautoblogger 96f0248d). v0.14.0 and v0.15.0 reached prod
via manual SSH rsync outside the workflow.
Agent-Session: cto peptide-e2e-setup-project-fix