# 2026-03-15

## 2:05 AM - Twilio Production Outage Detected

**Issue:** SMS summary cron returned 404 for /sms-summary. Investigation revealed ALL endpoints except /leah-chat and /vapi-call-auditor are down.

**Root cause:** A deploy on March 13 at 8:27 PM ET (build ZB7aceda49c6fb21afc7c58e9332268ab9) only included 2 function versions (/leah-chat and /vapi-call-auditor). The previous functions (/sms-chat, /ivr, /sms-summary, /ghl-chat, /vapi-inbound, /vapi-pricing) were all dropped from the build.

**Impact:**
- SMS webhook points to /sms-chat (404) → Leah is DOWN, customers texting get no response
- Voice webhook points to /ivr (404) → IVR is DOWN, callers get nothing
- sms-summary endpoint gone (what triggered the alert)

**Fix options:**
1. Quick: Update phone number SMS webhook from /sms-chat to /leah-chat (if leah-chat is the replacement)
2. Full: Redeploy a build that includes ALL function versions
3. Both: Update webhook + redeploy with all functions

**Status:** Alerted Mike via Telegram. Waiting for approval before touching production Twilio config.

## 11 PM - Night Shift: Yelp Lead Auto-Responder

Built scripts/yelp-lead-monitor.py on branch feature/night-2026-03-15-yelp-lead-responder.
- Monitors Gmail IMAP for Yelp notification emails → Telegram alerts to Mike
- Parses customer name, service, message + generates suggested reply template
- State tracking to avoid duplicates
- Tested with --dry-run: connected OK, scanned 66 inbox emails, 0 Yelp leads found (may need to verify NMC Yelp notification settings)
- Ready for cron setup (every 20 min)

---

## Session Context Flush (3:56 PM) — Main DM Session Mar 9-15

### Key Events This Week

**Mar 9 (Sunday)**
- Updated OpenClaw to 2026.3.7 + security hardened (0 critical issues)
- Set up all Telegram AI org groups (CEO, CFO, CMO, COO, CTO, HR)
- Switched all Telegram groups to Sonnet for faster responses (DM stays Opus)
- Researched mikeziarko.com, recommended Ghost ($9/mo)

**Mar 10 (Monday)**
- Fixed email + calendar scripts permanently (Python, zero deps, never break again)
  - Email: `scripts/check-email.py` — built-in imaplib
  - Calendar: `scripts/check-calendar.py` — service account JWT + urllib, both calendars work (mike@nomorechores.com + mikeziarko@gmail.com)
  - Documented in TOOLS.md as "PERMANENT — DO NOT USE NODE FOR THESE"
- Updated morning briefing cron to use new Python scripts + Sonnet
- Calendar operations working: moved events, created events (Ben's pitching camp, March Break)
- Created Gmail drafts via IMAP (Launch27 follow-up emails)
- Launch27 pricing dispute with Omar (President):
  - Mike's data: 10 years, 30K+ bookings, $6.1M revenue, ~$30K in subscription fees
  - Asks: price freeze, real product roadmap, updated changelog
  - Omar responded, didn't freeze price, cited 40% discount + "first increase on your plan"
  - Mike pushed back: payment processing wasn't available to Canadian businesses (their choice), "earn it first then we'll talk pricing"
  - Draft reply in Gmail, not yet sent
  - Strategic angle: competitive intelligence (get Omar on a call), don't reveal alternatives being built
  - Community sentiment screenshot (Launch27 users agreeing) — decided NOT to include (don't show hand)

**Mar 11 (Tuesday)**
- Updated OpenClaw to 2026.3.8
- Gateway crashing 2-3x/day (sometimes 2.5hr outages). Root cause: laptop not designed as server
  - Improved watchdog: after 3 consecutive failures (15 min), force-kills zombie process + re-bootstraps LaunchAgent
  - Options discussed: VPS ($4/mo Hetzner) vs Mac Mini (~$400 used) vs live with it
  - Mike asked about preventing MacBook sleep — caffeinate already running, real issues are macOS unloading LaunchAgent, wifi drops, etc.
- Ben's pitching camp dates: Mar 11, 25, Apr 1 (was Mar 18, moved because March Break)

**Mar 12 (Thursday)**
- Trish follow-up reminder set (T4As)
- Todo tracking discussion: decided on HTML dashboard (no new apps)
  - Built `todos.html` + `todos.json` served at http://100.68.175.57:8765/todos.html
  - Also found existing `~/Projects/mission-control/` Next.js app (built in Claude Code)
- Existing mission control: Next.js with Business Pulse, Calendar, Recent Activity, Notes Inbox, Quick Actions widgets

**Mar 13 (Friday)**
- Expense audit from QuickBooks:
  - Total SaaS spend: ~$1,850/mo
  - Potential cuts: ~$750-950/mo
  - CUT: ClickUp ($91), Hubstaff ($111), Loom ($28), Dropbox ($17), Obsidian, Ahrefs ($160 pause)
  - ALREADY GONE: Zingtree, Front App, Aircall, Hypetrix, TrustAnalytica, LocalSEOHustlers, VA Davao, Upwork
  - KEEP: Launch27, GHL, Twilio, Canva, SHORT.IO
  - REPLACE: Zapier ($186/mo) — need active zap list from Mike
  - INVESTIGATE: Google $663 (was local service ads, one-time)
  - Full audit: expense-audit-2026-03.md
- Telegram topics setup:
  - NMC group (-1003812779960): 7 topics created (Finance 633, Marketing 634, Leah 635, Ops 636, Daily Briefing 637, Projects 638, Harvey/Infra 639)
  - Personal group: converted to supergroup (NEW ID: -1003866358754), 5 topics (Family 2, Health 3, Goals 4, Ideas 5, General 6)
  - Pinned welcome messages in all topics + groups + DM
  - Morning briefing cron redirected to NMC Daily Briefing topic (637)
  - All topics on Sonnet
  - OLD Personal group ID -5080158223 replaced with -1003866358754 in config
- Communication architecture decided:
  - Telegram DM = inbox/hallway (quick stuff, voice notes, capture)
  - NMC group topics = organized business work (the desk)
  - Slack = team stuff with Abigael and contractors (the office)
  - Harvey routes between them
- Shared state system: memory/state.md — all topic sessions read/write to maintain cross-topic context
- General topic not responding issue: was debugging when session ended. Need to verify topic message routing works.
- Spring Fresh campaign: only initial email sent, 8 days left until Mar 21 deadline. Full execution plan outlined but not started.

### Pending Items
- [ ] Launch27 Omar reply — in Gmail drafts, Mike hasn't sent
- [ ] Zapier audit — waiting on Mike's active zap list
- [ ] Spring Fresh campaign execution (follow-up email, SMS blast, social posts)
- [ ] Ahrefs replacement SEO tool (build before cancelling)
- [ ] ClickUp data backup + cancel (Mike)
- [ ] Dropbox migration + cancel (Mike)
- [ ] General topic routing fix — messages in NMC "General" topic may not be reaching Harvey
- [ ] Twilio outage fix (see above — Mar 15)
- [ ] Mike uses Apple Reminders for personal stuff (keep that, dashboard for business)
- [ ] Memory file cleanup
