← back to Dw Signup Fulfillment

verification/tk11114/DURABLE-CONFIRMED.md

30 lines

# TK-11114 — Durability CONFIRMED (restart-safe) · 2026-09-02

Steve ran `verification/tk11114/DURABLE-PERSIST-PASTE.md` (via scp of `tk11114-durable-fix.sh`).
Output (verbatim):

```
backups: .bak.1788375621
DRY_RUN line:         DRY_RUN: '0', // <-- flip to '0' at go-live (DEPLOY.md), and only then.
env token last4: e9c9
GEORGE_BASIC_AUTH in ecosystem? 0 (want 0)
[PM2] reload dw-signup-fulfillment(284) ✓
[PM2] Successfully saved (dump.pm2)
== healthz (after persist) == {"ok":true,"service":"dw-signup-fulfillment","dry_run":false}
badtoken=401 (want 401)
e9c9=200 (want 200)
== DURABILITY re-check: reload again == {"ok":true,...,"dry_run":false}
```

**Result:** the fix now lives in the source-of-truth files —
`ecosystem.config.js` → `DRY_RUN:'0'`, project `.env` → `WEBHOOK_URL_TOKEN=…e9c9` (matches the
registered webhook), no `GEORGE_BASIC_AUTH` baked in the ecosystem, and `pm2 save` persisted the
process. A second `pm2 reload` still returned `dry_run:false` → **survives a restart.**

Rollback (if ever needed): restore `ecosystem.config.js.bak.1788375621` + `.env.bak.1788375621`, then `pm2 reload ecosystem.config.js`.

## TK-11114 final state
- Webhook present + aligned (e9c9) · send works (George 200) · verify-click→`verified-sample` tag · negative 401 · **durable across restart** — ALL PASS.
- REMAINING (gated, not fired): backfill the signups that missed emails during the outage window (`jolainajones@me.com`, Kelly/TK-10830) — send-to-list.
- Minor: idempotency is eventual (a same-instant double-delivery can double-send); low severity, optional hardening.