# Nightly Test Summary — run of 2026-07-13→14 (IST)

760 FAILURES — 13th consecutive infra-outage night ("server unreachable" signature, 7th occurrence); failing set IDENTICAL to the prior night, 0 NEW regressions vs 2026-07-12→13; 18 new tests added and all passed.

- Report: `test_reports/nightly_20260713.json` (marker `date` field is UTC-run-start-stamped as usual; `finished_at` 2026-07-13T23:23:39Z = **2026-07-14 04:53 IST** — this run belongs to 2026-07-14 IST). exit_code 1.
- Analyzed: 2026-07-14 06:01 IST

## Totals

| Metric | Count | vs prior night (07-12→13) |
|---|---|---|
| Total | 1706 | +18 |
| Passed | 798 | +18 |
| Failed | 760 | unchanged |
| Skipped | 148 | unchanged |
| Flaky | 0 | unchanged |

## Regressions vs baseline

Trusted baseline (2026-06-20, `project_pwa_test_coverage.md`) is **0 failed**, so all 760 failures are nominally regressions vs baseline — but they carry the same known "server/DB/proxy unreachable during the nightly window" signature documented since 2026-07-02, and the per-file failing counts are **byte-identical to the prior night** (diff confirmed). **No new failures appeared tonight.** Not re-baselined.

Error signatures (per result instance, incl. retries): 544 timeouts, 380 × 404 (raw Apache HTML where manifest.json/sw.js expected), 188 assertion mismatches, 8 × PostgREST 406, 400 other. **No browser-binary (`Executable doesn't exist`) errors.**

## Failing spec files (26 files, failure counts per spec)

154 fundcustodian · 78 sales_billing · 74 vendors · 68 upi_pay · 50 customers · 44 recce · 40 custodian · 32 recce_client · 32 sales · 28 safe_bottom · 26 stores · 18 counters · 18 yagya-portfolio · 14 contacts · 10 finance · 10 installation · 10 learn · 10 tour_planner · 8 hub · 8 oc_admin · 8 vrs · 6 admin · 6 smoke · 4 client · 2 debug_tour · 2 rentveh

Still fully green (as prior night): printing, activity, drive_consolidator, tour_pg(+sharing), hr, expense, dispatch, production, vehicle, btl.

## Sample failing tests (first 20, unique)

1. admin.spec.js › client.accounts has zone and is_head columns
2. admin.spec.js › client.zones table exists and is accessible via PostgREST
3. admin.spec.js › sales.jobs has zones column (ADR-111: sales.jobs is canonical)
4. client.spec.js › manifest.json returns 200
5. client.spec.js › sw.js contains current 360client version
6. contacts.spec.js › Dexie offline DB used
7. contacts.spec.js › Top Management access control in place
8. contacts.spec.js › auth screen and app container present
9. contacts.spec.js › hub navigation button present
10. contacts.spec.js › manifest.json returns 200
11. contacts.spec.js › search and contact list elements present
12. contacts.spec.js › sw.js is versioned
13. counters.spec.js › Phase 4.0a — legacy public path blocked + signed proxy URL serves the same file
14. counters.spec.js › Phase 4.12 — admin_list_audit date range + prune RPCs gating + count
15. counters.spec.js › Phase 4.14 — admin_audit_stats: shape + supervisor gate + counts match seeded events
16. counters.spec.js › Phase 4.17 — comments modal + RPCs referenced
17. counters.spec.js › Phase 4.17 — recce comments: both directions + visibility gate + trigger fan-out
18. counters.spec.js › Phase 4.5 — admin RPCs gate non-supervisors + full create-invite-revoke chain
19. counters.spec.js › Phase 4.6 — official trigger fans out + dispatch_notify → mail_outbox + supervisor RPCs
20. counters.spec.js › Phase 4.7 — audit log: consume_invite logs login, client_log_view logs view, client_set_response logs response, supervisor RPC gated + filterable

## Note

The partial recovery seen on 07-12→13 (failures 920 → 760) held exactly — neither improved nor worsened. The remaining 760 failures still point to part of the dev stack (PostgREST/DB-backed routes and several PWA vhosts) being down/unreachable during the ~00:15–04:55 IST run window. This still needs the human/ops uptime fix; automated retries won't change it.
