From e05133281e8fb6c1db91214e0a959750498b383c Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Sat, 17 Oct 2026 06:31:28 +1100 Subject: [PATCH] Phase 7a: first automatic 06:00 run verified green (AUD-115) n8n execution 1700: mode=trigger, status=success, started 2026-10-16 19:00Z (06:00 AEDT 2026-10-17). 8/8 rows 27-34 delivered, scans ok for both children. make verify-n8n exits 0. Documents the acceptance evidence. --- docs/phase-7a-n8n-schedule.md | 36 ++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/docs/phase-7a-n8n-schedule.md b/docs/phase-7a-n8n-schedule.md index 6728e1a..78c7a7d 100644 --- a/docs/phase-7a-n8n-schedule.md +++ b/docs/phase-7a-n8n-schedule.md @@ -184,16 +184,34 @@ on `.13`. Evidence from that heartbeat: failed=0`, new rows 19–26 (Harry 19–20, Finn 21–22, combined Jo 23–24, Sam 25–26), all `ok` with `sent_at` set. -The remaining check is the first automatic run: the Schedule Trigger fires at -**06:00 Australia/Melbourne on 2026-10-17** (`2026-10-16T19:00Z`). The n8n container -runs `TZ=Australia/Melbourne` and the workflow sets -`settings.timezone=Australia/Melbourne`; the pre-existing `AI Calendar - Family -Notifier` schedule stores its local 05:00/16:00/20:00 firings as 18:00/05:00/09:00 -UTC, which confirms the workflow timezone is honoured. +## First automatic run — green (2026-10-17) -The first issue monitor fired too early and was cleared, so it was re-armed for -**06:30 Australia/Melbourne on 2026-10-17** (`2026-10-16T19:30:00Z`) to record the -automatic run's rows with `make verify-n8n`. +The Schedule Trigger fired on its own at **06:00 Australia/Melbourne on 2026-10-17** +(`2026-10-16T19:00Z`) and the run was green. This closes the acceptance for AUD-115. + +- n8n execution **1700**: `mode=trigger`, `status=success`, started + `2026-10-16 19:00:00` UTC (**06:00 AEDT**). The `mode=trigger` is the point: it is + the scheduler, not a hand run. +- `make verify-n8n` (`deploy/verify-n8n-scheduled-run.sh`) exited **0**: the workflow + is active, the newest scheduled run is green, rows above. +- Scan at 06:00: Harry `ok`, Finn `ok`. +- Delivery rows **27–34** — 8/8, all `ok` with `sent_at` set: + Finn email 27 / WhatsApp 28, Harry email 29 / WhatsApp 30, combined Jo email 31 / + WhatsApp 32, combined Sam email 33 / WhatsApp 34. +- `docker exec compass-teams-nhs /app/school notify status`: `total=34 delivered=34 + failed=0`. The last attempt is `combined Sam/whatsapp ok=true at 2026-10-17 06:01`. +- `POST /notify/morning?dry_run=1` → **200**. + +The failure path (a non-zero exit makes the execution red and opens the brief with +`SCAN FAILED`) was proven in the throwaway rehearsal; the live 06:00 run was green, so +it was not exercised. The Code node is unchanged. The workflow timezone is honoured: +the n8n container runs `TZ=Australia/Melbourne`, the workflow sets +`settings.timezone=Australia/Melbourne`, and the pre-existing `AI Calendar - Family +Notifier` schedule stores its local 05:00/16:00/20:00 firings as 18:00/05:00/09:00 UTC. + +Earlier, an issue monitor fired early (a manual `monitor/check-now` clears the monitor +as it dispatches); once re-armed for 06:30 AEDT it woke the assignee on schedule, and +that run recorded the evidence above. ## Not touched