NIGHTLY RUN DID NOT COMPLETE — marker stale (last date: 2026-08-07, today: 2026-08-09 IST)

## Details

- `nightly_marker.json` contents: `{"date":"20260807","exit_code":1,"finished_at":"2026-08-08T00:38:53+00:00"}`
- Expected marker date: `20260809` (today, IST)
- Marker is 2 days old — no run recorded for 2026-08-08 or 2026-08-09. Per protocol step 1, analysis stops here (no `nightly_20260809.json` was read).
- The last recorded marker also carried `exit_code: 1` (failure), finished 2026-08-08T00:38:53Z UTC (2026-08-08 ~06:08 IST).
- This is now at least the seventh consecutive missed/failed marker night in a row (prior summaries flagged the same issue on 2026-08-03 through 2026-08-08 runs, each finding a stale marker one day further behind).

## Root cause (found this run, 2026-08-09 06:00 IST)

The nightly test cron is `45 18 * * *` (18:45 UTC = **00:15 IST**, not 01:00 IST as prior summaries assumed) → `/usr/local/bin/vcc-nightly-tests.sh`. The analysis cron is `30 0 * * *` (00:30 UTC = **06:00 IST**). Confirmed via `ps`: last night's Playwright process (PID 3598146, started Sat Aug 8 18:45:00 UTC) was **still running** at analysis time (00:30 UTC Aug 9), 5h46m elapsed, past test #2769 of the ~1760-test suite (retries push the counter past nominal total). The suite has grown too slow to finish inside the ~5h45m window between test-start (00:15 IST) and analysis-run (06:00 IST), so `nightly_marker.json`/`nightly_<date>.json` are written *after* the analysis script already ran and gave up — a scheduling race, not a crash.

## Action needed

Either push the analysis cron later (e.g. 08:00–09:00 IST) or shrink/parallelize the nightly suite so it reliably finishes before 06:00 IST. This has been misdiagnosed in prior nightly summaries as "cron not firing" — it fires every night; it's just racing an increasingly long-running test suite.
