22nd consecutive plateau night — no new regressions; tour_pg 502 flipped back to 0 (flip-flopping, not durable) — 1760 total, 860 passed, 758 failed, 142 skipped, 0 flaky.

## Run identity
- Marker: `test_reports/nightly_marker.json` — `date: "20260731"` (UTC-run-start-stamped, as usual for this pipeline)
- Source JSON: `test_reports/nightly_20260731.json`
- `finished_at`: 2026-07-31T23:29:32Z = **2026-08-01 04:59:32 IST** → this run belongs to **today (2026-08-01 IST)**, per the established UTC-vs-IST naming quirk documented in `project_pwa_test_coverage.md` for every prior night.

## Totals
| Metric | Tonight (07-31→08-01) | Last night (07-30→31) | Delta |
|---|---|---|---|
| Total | 1760 | 1760 | 0 |
| Passed | 860 | 858 | +2 |
| Failed | 758 | 760 | −2 |
| Skipped | 142 | 142 | 0 |
| Flaky | 0 | 0 | 0 |

## Comparison vs baseline memory (project_pwa_test_coverage.md)
The trusted clean baseline remains **2026-06-20: ~1220+ tests, 0 failed**. Tonight is still part of the ongoing "server/DB/proxy partially unreachable" plateau that has held (with minor drift) for 22 consecutive nights — **NOT a clean run, NOT eligible for re-baselining**.

All 26 other spec files are byte-identical in failure count to last night:
fundcustodian 154, sales_billing 78, vendors 74, upi_pay 68, customers 50, custodian 40, recce_client 32, recce 32, sales 32, safe_bottom 28, stores 26, counters 18, yagya-portfolio 18, contacts 14, dispatch 14, finance 10, installation 10, tour_planner 10, hub 8, oc_admin 8, vrs 8, admin 6, rentveh 6, smoke 6, client 4, debug_tour 2, hr 2.

### Changes vs last night
- **`tour_pg.spec.js`: 2 → 0 failures.** The `matrix + 2-opt path for 14 stops` 502 (first confirmed 2026-07-15→16) is absent again tonight. This is the 4th flip between 0 and 2 failures across the last ~2 weeks (0 for 07-27→28 through 07-29→30, back to 2 on 07-30→31, now 0 again) — treat as still-flaky/non-durable, do not mark resolved yet.
- No other file changed. No new spec files failed for the first time.

### Known unresolved issues (unchanged tonight)
1. **`dispatch.spec.js` — 14 failures, `HUB_JWT_SECRET not set in environment`.** 5th consecutive night. Needs `.env` sourcing fix in the nightly runner (action item outstanding since 2026-07-27→28).
2. **`rentveh.spec.js` — 6 failures:** stale `SW_VER` constant (`v3` in spec vs shipped `v5`, routine test-maintenance item) + 2 "Record Payment" timeouts, still correlated with the uncommitted local edit to `rentveh/index.html` (git status shows it modified, plus several `.bak-*` files in that dir) — still not committed as of tonight.
3. Ops uptime fix for the dev stack during the ~00:15–05:00 IST nightly window is still outstanding — 22nd consecutive night of the underlying plateau.

## Failing spec files tonight (max 20 shown, by failure count)
1. fundcustodian.spec.js — 154
2. sales_billing.spec.js — 78
3. vendors.spec.js — 74
4. upi_pay.spec.js — 68
5. customers.spec.js — 50
6. custodian.spec.js — 40
7. recce_client.spec.js — 32
8. recce.spec.js — 32
9. sales.spec.js — 32
10. safe_bottom.spec.js — 28
11. stores.spec.js — 26
12. counters.spec.js — 18
13. yagya-portfolio.spec.js — 18
14. contacts.spec.js — 14
15. dispatch.spec.js — 14
16. finance.spec.js — 10
17. installation.spec.js — 10
18. tour_planner.spec.js — 10
19. hub.spec.js — 8
20. oc_admin.spec.js — 8

(also failing, beyond top 20: vrs 8, admin 6, rentveh 6, smoke 6, client 4, debug_tour 2, hr 2 — full list, no truncation beyond this report's display cap)

## Memory update
`project_pwa_test_coverage.md` updated with a new dated entry for this run (22nd consecutive plateau night), following the file's existing format. No other memory file touched.
