Run #7 harness failed: global-setup polled :5173/health (Vite proxy → :3000) and never got 200. The API connected to the DB and :3000/health was green during the separate 'Wait for API' step, but the bare-backgrounded node process was reaped at the step boundary and was dead by the time the e2e step ran (after the multi-minute browser install). Confirmed locally the API does not self-crash (alive + healthy for 75s in-shell). Install browsers first, then start the API and run Playwright in a SINGLE step so the API stays a child of the test shell for the whole run; capture the test exit code and kill the API after. No harness files touched.