Skip to main content

Go-Live Readiness — Pro Website — 2026-04-18T09:30Z

Overall: 60% (NEEDS WORK) — 0 P0, 2 new P1 (CI regression, derive still drifting), 3 P1 carried, 2 P2 carried

Regressed from yesterday's 65% → 60% because the plan-contract regression-defense PR merged src/lib/__tests__/tier-config.contract.test.ts to main without installing vitest. TypeScript Check + Tests workflows have been red on main for 3 consecutive pushes since 2026-04-18T02:38Z. This is not customer-impacting yet but violates the green-CI rule and must be fixed before anything else ships.

Two-axis score

AxisYesterday 17:00Today 09:30Change
A — Customer Reality60% (capped)60% (capped)— (still no real paying customer)
B — Regression Safety78%61%−17 pts (CI red + no new stamps)
Overall weighted (0.7A + 0.3B)65%60%−5 pts

Axis A — Customer Reality (capped at 60% until first real paying customer)

Pro Website Stripe subscriptions state today:

church_idplanstatusstripe_subadmin_emailis_real?
fb628ffc…eb8cwa_pro_websiteactive✅ sub_1TN0DCFa…john+pws2@churchwiseai.com❌ founder test
00000000…002ps_pro_websiteactive❌ nulljohn@churchwiseai.com❌ demo
00000000…003ps_pro_websiteactive❌ nulljohn@churchwiseai.com❌ demo

Real-paying non-founder non-demo subscriptions: 0. Cap holds. Axis A unlocks only when a subscription has stripe_subscription_id IS NOT NULL AND admin_email NOT LIKE '%@churchwiseai.com' AND church_id NOT IN (demo UUIDs).

Axis B dimensions — new state

#DimensionYesterdayTodayNote
1Journeys✅ PASS⚠ WARN3/3 registry entries present, but all last_run: null; spec still DRAFT
2Viewports⚠ WARN⚠ WARN4 pro-website Playwright specs exist, none stamped this month
3Knowledge❌ FAIL❌ FAILderive --check still drifts (INDEX.md diff) + 17 PK WARNINGs. Self-heal still blocked by concurrent WIP in knowledge repo (8 files uncommitted).
4Billing✅ PASS✅ PASSCritical Path Gate on PR #51 green (2026-04-18T03:12Z). Stripe E2E Monthly last green 2026-04-14.
5Docs✅ PASS✅ PASS/help/pro-website → 200, canonical_source points to src/app/help/pro-website/page.tsx
6Drift & Issues✅ PASSFAIL (new)API drift ✅, SQL counts clean (0 P0/P1, 0 open ops_errors), but CI workflows Critical Path Protection + Tests red on main for 3 consecutive pushes
7Analytics✅ PASS✅ PASS/api/founder/readiness/pro-website returns 401 (correctly auth-gated)
8Marketing✅ PASS✅ PASSLanding + pricing 200; e2e/synthetic/pro-website-funnel.spec.ts present; MailerLite group verification skipped (env var path mismatch — P2 backlog)
9Agents⚠ WARN⚠ WARNNo resource conflicts; voice-agent-testing-backlog 2 days stale

Score: (0.5 + 0.5 + 0.0 + 1.0 + 1.0 + 0.0 + 1.0 + 1.0 + 0.5) / 9 = 61% Weighted: 0.7 × 60 + 0.3 × 61 = 60.3% → NEEDS WORK

The one thing that matters this run

Fix CI on main. src/lib/__tests__/tier-config.contract.test.ts:12 does import { describe, it, expect } from 'vitest' — vitest isn't in churchwiseai-web/package.json. Every push to main has failed Critical Path Protection → TypeScript Check since 2026-04-18T02:38Z. Options:

  1. Add vitest as a devDependency (pnpm add -D vitest) if we want the contract to run as a real unit test.
  2. Swap to the existing test runner — the repo's other unit tests use Playwright's test.describe + plain assert. Rewrite the file to match (lower churn, no new dep).
  3. Delete the file and redefine the contract as a Playwright spec that exercises the webhook end-to-end (closer to how the original 2026-04-17 P0 actually broke).

Recommended: option 2 (rewrite, no new dep). Option 3 is better long-term but is larger scope.

Punch list

  • P1 (new) CI red on main — tier-config.contract.test.ts imports vitest (not installed). Blocks every merge's post-push Critical Path Protection + Tests workflows. See new FA-043 appended to FOUNDER_ACTIONS.md.
  • P1 (new) Tests workflow — behavioral test_demo_data_completeness.py failing on real_customer_rows_have_minimum_identity ("unsupported data-state case shape") and every_full_demo_has_required_fields (Saint Joseph demo missing premium_churches row per test expectation; actually row exists — test's lookup logic appears stale). Same root PR: rolled in with the regression-defense commit.
  • P1 (carried) Knowledge drift (pnpm derive --check fails + 17 PK WARNINGs). Still blocked by concurrent uncommitted WIP in knowledge repo (data/pricing.yaml, data/products.yaml, acceptance/pewsearch-premium.md, changelog.md, others). Either commit-and-derive or stash-and-run in a scoped branch.
  • P1 (carried) Playwright specs cwa-onboarding-wizard, cwa-pro-website-ssr, cwa-pro-website-edit all have last_run: null. Run against staging + stamp registry.
  • P1 (carried) knowledge/acceptance/cwa-pro-website.md still DRAFT — needs founder interview on 7 CWA-specific deltas vs pewsearch-pro-website.md.
  • P2 (carried) voice-agent-testing-backlog workstream 2 days stale (last commit 2026-04-16). Confirm active or release.
  • P2 (carried) MailerLite pro-website-leads group presence not verified this run (env var path differed from expected). Small fix.

Self-healed this run

None. Same as yesterday — pnpm derive self-heal blocked by concurrent agent's uncommitted knowledge/ WIP (data/pricing.yaml, data/products.yaml, acceptance/pewsearch-premium.md, changelog.md, INDEX.md, FRESHNESS_REPORT.md, products/chatbot/overview.md, products/premium-page/overview.md). Running derive would clobber in-flight edits. Recommended: the owner of those edits commits first, then we run derive as a follow-up.

Evidence

Path to READY (unchanged from yesterday, plus CI unblock)

Axis B → 95%+ (self-serve today):

  1. Fix vitest import (Option 2 above) → D6 flips PASS. Axis B ~72%.
  2. Resolve concurrent knowledge WIP → commit → rerun derive → D3 flips PASS. Axis B ~83%.
  3. Run Pro Website Playwright sweep against staging + stamp registry → D2 flips PASS. Axis B ~94%.
  4. Promote cwa-pro-website.md DRAFT → COMPLETE (founder interview) → D1 flips PASS. Axis B 100%.

Axis A → 94% (founder-gated): First real paying Pro Website customer (non-founder email, non-demo UUID) unlocks cap.

With both: overall ≈ 95% → READY.

Generated by /ensure-solid pro-website (workspace-root copy at C:/dev/.claude/skills/ensure-solid/).