# Nightly Test Summary — 2026-07-11 run (2026-07-12 IST)

**VERDICT: INFRA OUTAGE (recurring, "server/DB/proxy unreachable" signature, 5th occurrence) — 602 passed, 920 failed, 166 skipped of 1688. NOT code regressions.**

- Marker: `nightly_marker.json` date=20260711, finished_at 2026-07-11T23:44:07Z = **2026-07-12 05:14:07 IST** (marker date field is UTC-run-start-stamped, not IST — same known stamping quirk as prior nights; `finished_at` confirms this is last night's run).
- Report file: `test_reports/nightly_20260711.json`
- Playwright `startTime`: 2026-07-11T18:45:04.328Z = 2026-07-12 00:15 IST; duration ~4h59m.

## Totals
| Metric | Count |
|---|---|
| Total | 1688 |
| Passed (expected) | 602 |
| Failed (unexpected) | 920 |
| Skipped | 166 |
| Flaky | 0 |

Total grew by 18 vs the prior night (1670 → 1688) and passed grew by the same 18 (584 → 602) — consistent with new tests added since (custodian v43 work landed 2026-07-11); every new test passed, failure count unchanged.

## Root cause (confirmed from error messages)
NOT the missing-Playwright-browser-binary bug (0 occurrences of `Executable doesn't exist` in this run's JSON). It is the same "server/DB/proxy unreachable" signature seen on 07-04→05, 05→06, 06→07, and 10→11:
- `manifest.json returns 200` → 404 (raw Apache error HTML instead of JSON)
- `sw.js` checks → HTML instead of the service worker script
- PostgREST table-existence checks (`Accept-Profile` header requests) → 406 instead of 200
- Dashboards never render (`#screen-dash.active` etc. timeout), balance/list locators never appear

Top grouped error types: 176× timeout waiting for `#screen-dash.active`, 124× expected 200 got 404, 116× 30s test timeout, 76× beforeEach timeout, 68× `#my-balance` missing ₹ — all downstream of the backend being unreachable.

## REGRESSIONS vs baseline
**None identifiable this run.** The trusted 2026-06-20 baseline (~1220+ tests, 0 failed — `project_pwa_test_coverage.md`) is not comparable while the dev stack was unreachable during the test window. Per-spec-file failing-test counts are numerically IDENTICAL to the 07-10→11 run (fundcustodian 154, printing 94, sales_billing 82, … debug_tour 2) — no new failure signature, same recurring outage.

## Failing spec files (29 files, identical counts to prior "server down" nights)
| Spec file | Failing tests | Spec file | Failing tests |
|---|---|---|---|
| fundcustodian.spec.js | 154 | contacts.spec.js | 14 |
| printing.spec.js | 94 | tour_planner.spec.js | 10 |
| sales_billing.spec.js | 82 | learn.spec.js | 10 |
| vendors.spec.js | 74 | installation.spec.js | 10 |
| upi_pay.spec.js | 68 | finance.spec.js | 10 |
| customers.spec.js | 50 | vrs.spec.js | 8 |
| recce.spec.js | 44 | production.spec.js | 8 |
| custodian.spec.js | 40 | oc_admin.spec.js | 8 |
| hr.spec.js | 36 | hub.spec.js | 8 |
| sales.spec.js | 34 | smoke.spec.js | 6 |
| recce_client.spec.js | 32 | admin.spec.js | 6 |
| safe_bottom.spec.js | 28 | client.spec.js | 4 |
| stores.spec.js | 26 | debug_tour.spec.js | 2 |
| vehicle.spec.js | 20 | counters.spec.js | 18 |
| expense.spec.js | 16 | | |

## Sample failing tests (first per file, max 20)
- admin.spec.js :: client.zones table exists and is accessible via PostgREST (406)
- client.spec.js :: manifest.json returns 200 (404)
- contacts.spec.js :: manifest.json returns 200 (404)
- counters.spec.js :: Phase 4.17 — comments modal + RPCs referenced
- custodian.spec.js :: dashboard loads with balance display
- customers.spec.js :: page returns 200
- debug_tour.spec.js :: debug tour-pg Excel upload
- expense.spec.js :: manifest.json returns 200 (404)
- finance.spec.js :: manifest.json returns 200 (404)
- fundcustodian.spec.js :: balance card renders and shows shambhu name
- hr.spec.js :: no session → redirects to /hub/
- hub.spec.js :: Print Nest tile is visible
- installation.spec.js :: manifest.json returns 200 (404)
- learn.spec.js :: manifest.json returns 200 (404)
- oc_admin.spec.js :: manifest.json returns 200 (404)
- printing.spec.js :: no session → redirects to hub
- production.spec.js :: manifest.json returns 200 (404)
- recce.spec.js :: source contains client_name field and renderClientChips
- recce_client.spec.js :: non-supervisor invite attempt returns forbidden
- safe_bottom.spec.js :: expense HTML loads safe-bottom.css
(9 more affected files: sales, sales_billing, smoke, stores, tour_planner, upi_pay, vehicle, vendors, vrs — same 404/406 signature.)

## Action needed (not performed by this autonomous task)
- The "server unreachable during the nightly window" signature has now hit 5 nights (07-04→05, 05→06, 06→07, 10→11, 11→12), interleaved with the 3-night browser-binary bug. Needs a human/ops fix confirming the dev stack (Apache/PostgREST/DB) stays up through the ~00:15–05:15 IST run window — not another automated retry.
- Marker `date` UTC-vs-IST stamping quirk remains unfixed (cosmetic; `finished_at` disambiguates).
- No re-baseline — trusted baseline remains 2026-06-20 (0 failed) until a clean run comes back.
