SAME PLATEAU — 826 passed, 742 failed, 140 skipped (1708 total), 0 flaky — identical to 07-17→18 through 07-20→21, no new regressions.

## Nightly run 2026-07-21→22 (IST)

- Report: test_reports/nightly_20260721.json
- Started: 2026-07-22 00:15:10 IST (2026-07-21T18:45:10.328Z)
- Finished: 2026-07-22 04:55:28 IST (2026-07-21T23:25:28Z) — marker `date` field says 20260721 because it is UTC-run-start-stamped, not IST; this run belongs to the night of 2026-07-21→22 IST.
- **Stats: 1708 total, 826 passed, 742 failed, 140 skipped, 0 flaky**

This is the 21st consecutive night of the "server/DB/proxy unreachable during the ~00:15–05:00 IST window" outage pattern. Failure set is **byte-identical** to 07-20→21 (371 distinct failing specs, confirmed via direct diff — zero new failures, zero resolved). No new regressions tonight.

## Comparison vs baseline

The trusted baseline remains the 2026-06-20 snapshot (0 failed) in `project_pwa_test_coverage.md` — this outage has never been re-baselined. No new failures beyond the existing 742-failure plateau, so **no regressions vs the last confirmed-clean state or vs the immediately preceding nights**.

## Failing specs by file (top, max 20 shown — all pre-existing, part of the plateau)

| File | Failing tests |
|---|---|
| fundcustodian.spec.js | 154 |
| sales_billing.spec.js | 78 |
| vendors.spec.js | 74 |
| upi_pay.spec.js | 68 |
| customers.spec.js | 50 |
| custodian.spec.js | 40 |
| recce_client.spec.js | 32 |
| recce.spec.js | 32 |
| sales.spec.js | 32 |
| safe_bottom.spec.js | 28 |
| stores.spec.js | 26 |
| counters.spec.js | 18 |
| yagya-portfolio.spec.js | 18 |
| contacts.spec.js | 14 |
| finance.spec.js | 10 |
| installation.spec.js | 10 |
| tour_planner.spec.js | 10 |
| hub.spec.js | 8 |
| oc_admin.spec.js | 8 |
| vrs.spec.js | 8 |

(admin/smoke 6 each, client 4, debug_tour/hr/rentveh/tour_pg 2 each — omitted above per 20-row cap, unchanged from prior nights.)

Green set unchanged: printing, activity, drive_consolidator, hr, expense, dispatch, production, vehicle, btl, tour_pg_sharing.

Known persistent issues (unchanged tonight, not re-verified in detail — same failure-set diff already confirms no change):
- `tour_pg.spec.js › matrix + 2-opt path for 14 stops` — 502 regression, confirmed since 07-15→16.
- `rentveh.spec.js › SW cache version matches CACHE_VER in app` — stale `SW_VER` constant (`v3` vs shipped `v5`), routine test maintenance still pending.

**Not re-baselined.** The 2026-06-20 numbers remain the trusted baseline until the dev stack's uptime through the nightly window is confirmed and a clean run comes back.
