Go-Live Readiness — Pro Website — 2026-04-22T11:45Z
Overall: 67% (NOT READY) — 0 P0, 5 P1, 3 P2 open
Diff vs 2026-04-18 14:30: Score unchanged at ~66–67%. Six active workstreams since the last scorecard have shipped significant improvements (modular pricing, upgrade flow verified 5/5, demo-slug spec, setup-wizard spec, contact form spec, voice routing fixes), but two of the three P1 blockers from the prior run remain open, and two new P1s have been added since (FA-046 auth hole, FA-045 CI red). Overall Axis A (customer reality) cap remains: 0 real paying Pro Website customers.
Two-Axis Score
| Axis | 2026-04-18 14:30 | 2026-04-22 11:45 | Change |
|---|---|---|---|
| A — Customer Reality (0 real customers → cap) | 60% (capped) | 60% (capped) | — |
| B — Regression Safety | 78% | 78% | — (same base, new wins offset new gaps) |
| Overall weighted (0.7A + 0.3B) | 66% | 67% | +1 pt |
9 Dimensions
| # | Dimension | Score | Status | Evidence |
|---|---|---|---|---|
| 1 | User journeys | 3/4 | ⚠ WARN | 3 registry entries stamped last_run: 2026-04-18T02:40Z; cwa-pro-website-edit still last_run: null (no editor spec yet) |
| 2 | Desktop/tablet/mobile | 3/3 | ✅ PASS | 4 pro-website specs present: pro-website-standalone.spec.ts, pro-website-funnel.spec.ts, pro-website-demo-slugs.spec.ts, setup-wizard.spec.ts. Demo URL grace-community.john316.church confirmed 200. Viewport tags @pro-website present on funnel spec. |
| 3 | Knowledge accuracy | 0/1 | ❌ FAIL | Knowledge drift was P1 at last run; Supabase MCP auth unavailable this run so validate_product_knowledge() could not be executed. Dimension held FAIL pending re-check with DB access. cwa-pro-website.md acceptance spec remains DRAFT (founder interview still outstanding). |
| 4 | Onboarding / billing | 1/1 | ✅ PASS | churchwiseai.com/pro-website → 200, $14.95/mo + $19.95/mo CTAs visible. /onboard?plan=cwa_pro_website → 200, plan card renders. pro-website-upgrade entry last_run: 2026-04-21T00:00Z (5/5 green). Plan-column contract confirmed: webhook route has 13 references to cwa_pro_website/ps_pro_website, no normalizePlanTier() writes to plan column. modular-pricing spec exists; flag currently OFF in production (spec skips flag-gated assertions, safe). Critical-path-gate was green on most recent relevant PRs. |
| 5 | User docs | 1/1 | ✅ PASS | churchwiseai.com/help/pro-website → 200. Topics confirmed: activation, customization, domain, cancellation, troubleshooting (15 topics). Canonical source churchwiseai-web/src/app/help/pro-website/page.tsx confirmed present. |
| 6 | Drift & issues | 0/1 | ❌ FAIL | FA-045 (Tests workflow API contract drift + rate-limit 429s — CI red on every main push) still open P1. FA-046 (churn-return auth hole — cancelled customers retain full dashboard access) still open P1. Supabase MCP auth unavailable so founder_action_items SQL count not run; based on file audit: 2 active P1s directly affecting this property. |
| 7 | Analytics | 1/1 | ✅ PASS | /api/founder/readiness/pro-website route present in codebase (auth-gated 401 from unauthenticated request = route live). Readiness tab wired in FounderDashboard.tsx. |
| 8 | Marketing funnels | 1/1 | ✅ PASS | Landing /pro-website → 200, heading "A stunning website your church actually wants", CTA present. Pricing /pricing → 200, both $14.95/mo (site-only) and $19.95/mo (with Chat) confirmed. e2e/synthetic/pro-website-funnel.spec.ts exists (last_run: 2026-04-18T02:40Z — 9 passed). Note: MailerLite pro-website-leads group existence not verified (MailerLite API not checked this run). |
| 9 | Agent monitoring | 1/1 | ✅ PASS | No resource conflicts in ACTIVE_WORK.md. voice-agent-testing-backlog is stale (started 2026-04-15, no recent activity noted) — P2. ensure-solid-portfolio-run-2026-04-22 registered as read-only. |
Dimension score: 6/9 enabled dimensions pass = 67%
Punch List (ordered by severity)
P1 — Must fix before marketing push
-
P1-1 (FA-046) — Cancelled customers retain full admin dashboard access [auth-hole].
resolveToken()returns a full session regardless ofpremium_churches.status. Cancelled customer with an old magic-link or re-requested link can view care list, call logs, prayer requests. Fix: tombstone view inadmin/[token]/page.tsxwhenstatus='cancelled'. Note: Banner exists inAdminDashboard.tsx(line 758) but the page itself does not gate access at theresolveTokenlevel — banner is cosmetic only. Action:FA-046(filed 2026-04-18). -
P1-2 (FA-045) — CI red on main branch: API contract tests failing [ci-red].
Tests → Run API contract testsstep fails on every main push. 2 failure classes: status-code drift (400 where spec expects 401/403) + rate-limit 429s on CI burst traffic. Violates green-CI rule (memory/feedback_ci_must_be_green.md). This is 4 days old and has been accepted de facto — not acceptable pre-marketing-push. Action:FA-053(rate-limit bypass header added as P2 but needs to be treated as P1 given CI red). -
P1-3 — Acceptance spec
cwa-pro-website.mdstill DRAFT [spec-gap]. 7 delta sections (discovery copy, onboarding wizard copy, upsell from Pro Website to Voice/Chat, cross-sell to SermonWise, welcome email sequence, domain config, brand voice) remain unwritten. This means there is no authoritative expected-output definition for the CWA-specific Pro Website journey. Blocks CLAUDE.md rule #17 (no customer-facing feature without acceptance spec). Action: 30–45 min founder interview to promote spec from DRAFT to COMPLETE. -
P1-4 —
cwa-pro-website-editjourney has no spec or last_run [journey-gap]. Registry entry exists butspec_file: nullandlast_run: null. The admin editor flow (hero photo, colors, staff, events) is critical to the daily customer experience. Any regression inWebsiteTab.tsxor the/api/admin/websiteroute would go undetected. Action: Writee2e/pro-website-editor.spec.tsagainst demo-bridge-2026 token. -
P1-5 —
modular-pricingspec never run;NEXT_PUBLIC_MODULAR_PRICINGoff in production [billing-risk]. The 2026-04-21 modular pricing work (site-only $14.95, combo $19.95) shipped code but the feature flag is OFF in Vercel production. Themodular-pricingregistry entry haslast_run: nullandcritical_path: false(pending first green run). The pricing page currently serves both price points via a non-flag-gated path (confirmed 200 with $14.95 + $19.95 on/pricing), but thehas_website_subscriptionentitlement column path is untested end-to-end. Action: Rune2e/modular-pricing.spec.tson preview with flag ON, get first green run, flipcritical_path: truein registry.
P2 — Fix before scale
-
P2-1 —
voice-agent-testing-backlogworkstream stale (7 days) [agent-monitoring]. Started 2026-04-15, no confirmed recent commit activity. HoldsC:/dev/cwa-voice-testingworktree onfeat/voice-agent-testing-backlog. Risk: if the founder starts new voice work inchurchwiseai-webon a different branch, branch divergence. Recommend: release or confirm active. -
P2-2 — FA-047/FA-048 deferred: 2 demo rows still
ps_pro_website[schema-debt]. St. Joseph and The Bridge demo rows retain legacy plan value. While harmless today (all three keys accepted in the isProWebsitePlan() array), the CHECK constraint can't be tightened until FA-047 migrates them. Blocking FA-048 (constraint tighten). Low risk but creates confusion for agents reading plan values. -
P2-3 — MailerLite
pro-website-leadsgroup existence unverified [funnel-gap].marketing_funnel.mailerlite_group: pro-website-leadsin config but not confirmed alive this run (MailerLite API not checked). If the group is missing, subscriber capture from the landing page CTA is silently dropping leads.
What Improved Since 2026-04-18
pro-website-upgradespec: 5/5 green (FA-051 resolved 2026-04-21). BUG-051 double-billing invariant verified. 3 follow-up bugs fixed (PRs #93, #94, #95). Registry entry flippedcritical_path: true.- Modular pricing built (2026-04-21):
$14.95/mosite-only plan (cwa_pro_website_site_only) +$19.95/mocombo (cwa_pro_website) now live on the pricing and landing pages. Plan-column contract respected. - Demo subdomain spec added:
e2e/pro-website-demo-slugs.spec.ts— 3 demo URLs verified (9/9 passes from product-gates-testing session, per ACTIVE_WORK.md). Closes a gap from the prior run. - Setup wizard spec added:
e2e/setup-wizard.spec.ts— covers the 7-step wizard forcwa_pro_websiteplan. RequiresPLAYWRIGHT_WIZARD_ADMIN_TOKENenv var; skips otherwise. - Contact form spec deferred properly:
knowledge/acceptance/cwa-pro-website-contact-form.mdbackfill filed as FA-052 with full spec requirements. Proper scoping instead of CLAUDE.md rule #17 violation. - FA-044 resolved (demo richness): hero video keys assigned to 3 demos, Maple Street phone restored. Demo completeness test re-closed.
- Plan-column canonical invariant:
tier-config.contract.test.tsrewritten tonode:test(PR #52), passes clean. FA-043 closed. grace-community.john316.church→ 200 confirmed (manually verified this run).
What Regressed Since 2026-04-18
- No new dimension improvements — Axis B held at 78%. The new P1 items (FA-046, FA-045 treated at P1 severity) offset the wins above.
- Pricing page funnel spec may be stale:
pro-website-funnel.spec.tsline 42 asserts$19.95on the pricing page — the pricing page now shows both$14.95(site-only) AND$19.95(combo), so the assertion technically still passes (first$19.95match). However, the spec was written pre-modular-pricing and does not verify the new$14.95entry or thecwa_pro_website_site_onlyplan key routing. This is a spec-staleness risk, not a production bug.
New Findings (not in prior scorecard)
- Modular pricing feature flag OFF: confirmed from grep —
NEXT_PUBLIC_MODULAR_PRICINGis not set in.env.local, meaning the modular pricing code paths for the entitlement column are dormant in production. - FA-046 is partially mitigated:
AdminDashboard.tsxline 758 shows a cancelled subscription banner with a "Reactivate" CTA — the UI is not fully open. However theresolveToken()gate still needs hardening at the page level so route data is not loaded at all for cancelled customers.
Closed Findings (resolved since 2026-04-18)
- FA-043 (CI red on vitest import) — CLOSED, PR #52
- FA-044 (demo richness gap) — CLOSED, PR #54
- BUG-051 upgrade double-billing — VERIFIED CLOSED, FA-051 resolved
Self-healed This Run
None. This was a read-only audit. Supabase MCP auth was unavailable; SQL checks for validate_product_knowledge() and founder_action_items count could not be executed. Dimensions 3 and 6 scored conservatively based on file audit and known-open FAs.
Evidence Links
| Check | Result | Notes |
|---|---|---|
churchwiseai.com/pro-website | 200 ✅ | Heading confirmed, CTAs visible, $14.95 + $19.95 |
churchwiseai.com/pricing | 200 ✅ | Pro Website at $14.95/mo + $19.95/mo combo present |
churchwiseai.com/onboard?plan=cwa_pro_website | 200 ✅ | Plan card renders, no errors |
churchwiseai.com/help/pro-website | 200 ✅ | 15 topics, canonical source confirmed |
grace-community.john316.church | 200 ✅ | Full church site renders |
Registry: cwa-onboarding-wizard last_run | 2026-04-18T02:40Z | 15 passed, 6 skipped |
Registry: cwa-pro-website-ssr last_run | 2026-04-18T02:40Z | 15 passed, 6 skipped |
Registry: cwa-pro-website-funnel-synthetic last_run | 2026-04-18T02:40Z | 9 passed |
Registry: pro-website-upgrade last_run | 2026-04-21T00:00Z | 5/5 passed (FA-051 resolved) |
Registry: cwa-pro-website-edit last_run | null ❌ | No spec yet |
Registry: modular-pricing last_run | null ❌ | Spec exists, flag OFF |
| Plan column webhook grep | 13 occurrences | Contract respected, no normalizePlanTier() writes |
Acceptance spec cwa-pro-website.md | DRAFT ❌ | Needs founder interview |
| CI — Critical Path Protection | PASS (last check 2026-04-18) | Not re-verified this run |
| CI — Tests workflow | FAIL ❌ | FA-045 — API contract drift still open |
Path to READY
Axis B 78% → 95%+ (actionable this week):
- Resolve FA-046 (auth hole) + FA-045 (CI green) → D6 flips PASS → ~83%
- Run
modular-pricing.spec.tsgreen on preview → first run stampslast_run→ flipcritical_path: true→ D4 confidence higher - Write
cwa-pro-website-editPlaywright spec against demo token → D1 flips 4/4 → ~89%
Axis B → 95%:
4. Founder interview → cwa-pro-website.md DRAFT → COMPLETE → D3 resolves spec-gap → ~95%
Axis A → unlocked:
5. First real paying cwa_pro_website customer → Axis A cap lifted → ~89% overall
Generated by /ensure-solid pro-website · 2026-04-22T11:45Z