Skip to main content

Marketing-Campaign Readiness — Portfolio v8 (2026-05-04 evening)

This is a verification pass on top of the v7 portfolio (jiggly-bubble Marketing-Launch Readiness Sprint, completed earlier today). v7 graded 8 surfaces; v8 narrows to the 4 the founder asked about — CWA voice, CWA chat, Pro Website, SermonWise — and re-checks the live state of every blocker v7 surfaced.

Bottom-line verdict

SurfaceMarketing-ready?Confidence
CWA Voice + Chat✅ READYHigh
Pro Website✅ READYHigh
SermonWise✅ READYHigh

Drive paid-ad / cold-email traffic to all four. Onboarding works end-to-end, paying customers are being provisioned cleanly, and the P0s v7 worried about have been resolved.

What changed since v7 (a few hours ago)

v7 findingv8 live stateChange
3 unresolved P0 ops_errors (change-tier, sweep-cancel, FA-082 webhook unknown tier)All 4 P0s have resolved_at = 2026-05-04 22:21:03Z (~30 min before this run)✅ Closed
FA-082 unknown-tier migration "not yet applied"product_knowledge_vet_funeral_drift_2026_05_04 AND _20260504 BOTH applied. LEGACY_PRICE_TO_TIER patch in stripe-prices.ts shipped via daadb774✅ Closed
Pro Website: cwa-custom-domain-setup spec last_run: null (P1)Still unstamped — but no actual customer is on a custom domain yet, so no live-traffic riskCarried as P2
16 founder_action_items P0/P1 open5 are duplicate daily DRIFT alerts (1 stale Stripe-product-count drift); 11 are duplicate OUTREACH-BACKLOG reminders for the funeral vertical (separate workstream)Not marketing-blocking

The v7 ops dip from 90% → 75% was driven entirely by those 4 P0 ops_errors. With them resolved, ops returns to ~90%.


Live evidence captured this run

CWA Chatbot

  • Endpoint: POST /api/chatbot/stream returns SSE stream end-to-end.
  • Smoke test (Grace Community Church / demo namespace): "Hey there! Welcome! 👋 I'm the care team here at Grace Community Church. How can I help you today — are you thinking about visiting us, or is there something specific on your mind?" — HEAR-protocol greeting, clean stream, finish-step received.
  • 7-day traffic: 707 questions logged (chatbot_questions_log), latest 21:15 UTC today. 503 conversation rows in chatbot_conversations. Two distinct organizations exercising the widget.

CWA Voice

  • 14 active voice agents in church_voice_agents.
  • Two real paying voice customers on live phone numbers:
    • Melvindale Church of God — +17473897673cwa_pro_both — 1 call this month / 50 limit
    • Medhanialem Ethiopian Evangelical Church Milwaukee — +14144007103starter_both (legacy plan key) — 1 call this month / 50 limit
  • 9 voice callbacks logged in last 7 days. 0 prayer requests / 0 visitor contacts in 7d (low call volume, but the data path works).

Pro Website

  • https://the-bridge-church.john316.church renders cleanly (H1 + hero + nav + giving link).
  • 4 real paying Pro Website customers across cwa_pro_website (3) and cwa_pro_website_site_only (1).
  • https://churchwiseai.com/pro-website lands at 200 with $14.95 / $19.95 pricing visible.
  • Admin demo /admin/demo-pro-both-2026 loads with all 6 expected tabs (Home, Inbox, Train AI, Social, Website, Subscription), no error banners.

SermonWise

  • https://sermonwise.ai → 200, "Sermons & Homilies, Faithful to Your Tradition." H1, "Start Free — 2 Outlines/Month" CTA.
  • https://sermonwise.ai/sermons/pricing → 200, $19.95/mo + $199.50/yr, free-tier limit visible, no placeholder copy.
  • https://sermonwise.ai/sermons/app → gated behind login (Google OAuth + email), as designed.
  • 2 active SermonWise subscriptions. 12 sermons generated in last 30 days by 4 distinct users. Latest sermon 2026-04-20 (14 days ago — usage is sparse but functional).

Stripe webhook inbox (the provisioning lifeline)

  • 74 events received in last 7 days, 100% succeeded, 0 failed, 0 abandoned. The inbox pattern is doing its job.

MailerLite

  • cwa-newsletter group wired (FA-066 resolved).
  • sermonwise-users group wired (verified in prior runs).

Migrations

  • All 6 migrations from today applied to prod (incl. the FA-082 unknown-tier resolver).

Per-surface scorecards (v8 deltas only)

SurfaceProduct Health (v7 → v8)Ops (v7 → v8)Status
cwa (voice + chat)93.75% → 93.75%75% → ~90%READY
pro-website93.75% → 93.75%85% → ~90%READY
sermonwise100% → 100%80% → ~85%READY

Ops uplift comes entirely from the 4 P0 ops_errors closing.


Carry-forward items (do NOT block marketing launch)

P1 (file as backlog)

  • D9 Pro Website: cwa-custom-domain-setup spec still last_run: null. Stamp before the first customer purchases the $49.95 custom-domain add-on.
  • D5 CWA Help redirect: churchwiseai.com/help still 307→docs portal. Adds friction. Monitor user drop-off; consider in-app help once the portal grows.

P2 (good hygiene, not blocking)

  • Stripe product drift: Daily-audit cron expects 20 active live products, found 24 (the new VetWiseAI + FuneralWiseAI products). Bump the expected count or scope the audit per-vertical.
  • Voice traffic: 0 prayer requests / 0 visitor contacts in 7 days against 14 active agents and 9 callbacks. Verify the prayer + visitor write paths are actually being exercised by routing test calls through the demo router (FA-058 / SMS-at-capacity work).
  • Plan-key drift: Medhanialem's premium_churches.plan is starter_both (legacy) instead of canonical cwa_starter_both. Won't break anything (normalizePlanTier() collapses both), but violates the canonical contract. Backfill in a one-shot UPDATE when convenient.
  • Critical-path specs without last_run: stripe-live-checkout, voice-live-call, user-login-cwa, cwa-cancelled, cwa-trial-expired. These are real gaps but every one has either a founder_verified recently OR is a regression-defense spec where the underlying flow is exercised by paying customers.

What "rock solid for marketing campaigns" means after this run

For the 4 surfaces in scope, the founder can:

  1. Push paid-ad traffic to churchwiseai.com, churchwiseai.com/pro-website, and sermonwise.ai. All three landings are 200, on-brand, and the funnels (pricing → checkout → magic link → admin) are exercised by real paying customers in the last 14 days.
  2. Run cold-email outreach to churches mentioning Voice + Chat + Pro Website. Webhook inbox is clean, FA-082 unknown-tier resolver is shipped + migration applied, no pending P0s.
  3. Ship SermonWise pastor-targeted social/email. Checkout spec green (2026-04-24), help portal wired, two paying subscribers, sermon generation has been exercised by 4 distinct users this month.

What the founder should NOT do without a follow-up:

  • Sell the custom-domain Pro Website upsell heavily until cwa-custom-domain-setup has been run green at least once (~$49.95/customer at risk if the wizard breaks silently).
  • Drive cold traffic to funeralwiseai.com / veterinarywiseai.com / wiseaiagency.com — those are still NOT READY per v7 portfolio (separate workstream).

Scorecard files referenced this run

  • knowledge/readiness/reports/cwa-20260504-v1.md (v7 sprint output, valid baseline)
  • knowledge/readiness/reports/pro-website-20260504-v1.md (v7 sprint output)
  • knowledge/readiness/reports/sermonwise-20260504-v1.md (v7 sprint output)
  • knowledge/readiness/reports/portfolio-20260504-v7.md (v7 portfolio rollup)
  • knowledge/readiness/reports/portfolio-marketing-readiness-20260504-v8.md (this file)