🔥 2026-05-05 — Today's Sprint (25 patches)
SHIPPED- #254MAXXL → CRM email_accounts bridge (sender mirror)PROD
- #255scheduled_at format mismatch fix (worker unstuck)PROD
- #256MAXXL pre-check + auto-correct gate at scheduleContact()PROD
- #257Unify schedule status (kill 'awaiting_review' double-gate)PROD
- #258Source tracking on MAXXL contact INSERTsPROD
- #261By Source tab IIFE persisted in ledger (replay-safe)PROD
- #262Cache-bust: index.html ?v=mtime + cron 2-min auto-bumpPROD
- #263Rate-limit relax 100→1000/min, skip super_adminPROD
- #264v3By Source SPA navigation fix (sidebar click reveals tab)PROD
- #265Anti-flicker for By Source (CSS hide + 100ms poll)PROD
- #268Global 100ms poll across 42 IIFEs (kill all flicker)PROD
- #269UI Fancy E (Inter font + glass cards + premium polish)PROD
- #273Reconciler scoped to custom-tab tablists (modal flicker fix)PROD
- #275Deal stage history activity logging + 29 backfilledPROD
- #279Hover-lift removed inside dialogs/menus, Email Validation hiddenPROD
🛡️ 2026-05-05 — Infra & Cost Control
DONE- GCPKilled 2 active Gemini API keys (NewSMRT + Gemini API Key) — 2674 calls/30d ended€17/mo→€0
- GCPBudget tightened €30→€10/month, Forecast alerts 50/90%, email to billing adminDONE
- CRONemployer-verify-cron v2: pending verify-bulk + auto-correct-bulk + Phase 5d freshness 500/nightDONE
- CRONcache_bust_watcher.sh every 2min — auto re-stamp ?v= when bundle mtime changesDONE
- SCHEMAcontacts.last_verified_at + contacts.source columns addedDONE
🌐 2026-05-05 — Landing Conversion Stack
PROD LIVE- VIDEOSupademo MP4 (7:49) embedded with custom play overlay, 1474×1080 native ratioLIVE
- UTMHidden form fields capture utm_source/medium/campaign/term/content + lead_id + page_url + referrerLIVE
- CTAGoogle Calendar booking → ivan@smrtstats.com (calendar.app.google/fqACGTHWYDqyowkW9)LIVE
- SOCIAL"150+ clients globally" trust strip + sectionLIVE
- PERSONAPills: Clubs · Agencies · Federations · Media · LeaguesLIVE
- STICKYBottom 10% off ribbon, hides on footer intersectionLIVE
- EXITExit-intent popup: "Get 330+ competitions PDF"LIVE
- GEOIP→country auto-fill via ipapi.coLIVE
- COPYOFFBALL → Off-Ball Parameters across 9 langsLIVE
🎬 2026-05-05 — Supademo Tutorial Video
DONE- VOICELily (British female) applied to all 119 stepsDONE
- FILLEmpty steps filled: 1, 3, 5, 19, 23, 26, 67, 68, 69, 77, 108DONE
- FIXSmrt→Smart triple-checked across 119 steps (3 instances corrected)DONE
- EXPORTMP4 exported, uploaded to /var/www/smrtstats.pros11.com/tour.mp4DONE
📅 Next Up
PLANNED- Fridaylanding.smrtstats.com DNS — user adds A record in Squarespace → ivan does nginx vhost + LE cert + 301 redirect from pros11
- AfterMAXXL auto-send tweaks — 6mo freshness re-verify nightly cron live, monitor Yago + João sequence sends through Aug
- WhenSkynet AI Pre-Check at scraper level (Phase 5b) — block stale data BEFORE it enters Pending Reviews
- MaybeBy Source pricing tier teaser — 3-card grid Starter/Pro/Enterprise on landing
📦 Archive — Earlier Sessions (P165 → P241)
2026-05-03 — patches 197-241 batch (cross-campaign reply guard, per-domain throttle, bounce categorization, engagement sequencing, send-time learning, truelist pre-validation, employer-verify Phase 1-5, MAXXL hardcoded ID fix, JSON parse hardening, validation fast queries).
2026-05-01 — Implementation Burst P165 → P196. MAXXL ICP scoring, signature management, route guards, role hierarchy, audit log polish, geocode kill (€534 incident closed via Patch 213).
2026-04-28 — MAXXL fully live on PROD. Brave MCP browser verification (P081 v2-v10). DEV→PROD parity (P079-080).
2026-04-25 — P0 #1-8 shipped on DEV.
2026-04-24 — Email Dashboard audit + 5 patches.
2026-04-17 — Initial backport DEPLOYED. Build pipeline blocked at OS level after 4 prod breaks (RULES #1-#5 established).
Earlier — MoneyPrinter audit, MAXXL clone scaffolding, LinkedIn channel deferred, original SMRT-CRM clone roadmap (14 features → ledger).
🛑 Operating Rules (immutable)
Why these matter: 4 prod breaks in 1 day (Apr 30) led to OS-level build blocks. Source backports crashed prod twice. Patchwork via ledger IS the production model until clean rebuild infra exists.
💾 Recent Backups
/backups/POST-BY-SOURCE-FIX-20260505-0932/ — 361MB, post stage-1 work
/backups/PRE-UI-FANCY-20260505-1202/ — 414MB, pre UI-Fancy
/backups/PRE-UI-FANCY-V2-20260505-1405/ — 414MB, post 264v3+265+268+269
Restore command: cd / && tar xzf $BD/Smrt-CRM-FINAL-dist.tar.gz -C /Smrt-CRM-FINAL/ && pm2 restart smrt-crm