Go-Live Readiness — Pro Website — 2026-04-22 (v4 FINAL)
Rerun context: v4 reflects:
knowledge/acceptance/cwa-pro-website.mdpromoted from DRAFT to COMPLETE (knowledge#32 — founder interview Session 3 answered all 7 delta sections).pro-website-cancelled-tombstoneregistry entry confirmedfounder_verified: 2026-04-22(verified live inknowledge/tests/registry.yamllines 152-179).- Supabase MCP authenticated this run — dims 3, 6, 7 now live-queried instead of indeterminate.
- Dim-3 SKILL.md update: "Bulk update detected" warnings filtered as ops noise.
- Dim-6 SKILL.md update: moderation threshold ≤10/7d; ops_errors P0/P1 unresolved ≤5/7d.
- Dim-6 SQL corrected:
priority IN ('P0','P1')+resolved_at IS NULL.Live DB evidence this run:
validate_product_knowledge()→ 150 WARNINGs allbulk_update_noise, 0 real issues.founder_action_itemsopen P0/P1: 9 (1 P0 system-drift + 7 stacked outreach-backlog P1s + 1 KB-drift P1 — none pro-website-specific).moderation_violationsseverity_score ≥ 0.8 last 7d: 8 (within ≤10 threshold).ops_errorsP0/P1 unresolved last 7d: 10 (above ≤5 threshold).premium_churchesstatus='active': 17.churchesdirectory_visible=true: 218,385.
Summary
Product Health: 100% Ops Instrumentation: 85%
Overall status: READY
"READY" means the product works for customers today and has solid ops coverage. 0 P0 items. 1 P2 open (billing yaml cosmetic config). No remaining P1s against Pro Website. The 10 unresolved
ops_errors(P0/P1) are a cross-product ops issue, not Pro Website regressions — none are attributed toproperty = 'pro-website'in the DB. They cap dim-6 to a warn but do not change the READY verdict.
Quick-check evidence (this run)
| Source | Result | Notes |
|---|---|---|
validate_product_knowledge() | 0 CRITICAL, 150 WARNINGs all ops noise | Dim-3 PASS confirmed by live SQL |
founder_action_items P0/P1 open | 9 total — none pro-website-specific | Outreach-backlog stacking + 1 system-drift |
moderation_violations severity ≥ 0.8, 7d | 8 | Within ≤10 threshold — PASS component |
ops_errors P0/P1 unresolved, 7d | 10 | Exceeds ≤5 threshold — WARN component |
premium_churches active | 17 | Matches provided state |
churches directory_visible=true | 218,385 | Canonical count verified |
cwa-pro-website.md spec status | COMPLETE (DRAFT → COMPLETE via knowledge#32) | 7 delta sections founder-canonical |
pro-website-cancelled-tombstone registry | founder_verified: 2026-04-22 | Confirmed at registry.yaml line 176 |
Product Health (dims 1, 2, 4, 8)
| # | Dimension | State | Score | Evidence |
|---|---|---|---|---|
| 1 | User journeys | ✅ pass | 1.0 | All 5 critical pro-website journeys now founder_verified: 2026-04-22. 5th journey (pro-website-cancelled-tombstone) promoted from INDETERMINATE to PASS. Registry confirms: founder_verified: 2026-04-22 at line 176. Acceptance spec cwa-pro-website.md promoted COMPLETE (knowledge#32). (4 journeys with last_run recorded + 1 with last_run: null but founder_verified stamps all 5.) Score: 5/5 = 1.0. |
| 2 | Viewports | ✅ pass | 1.0 | e2e/pro-website-standalone.spec.ts: 15 passed, 6 skipped on 2026-04-18 against churchwiseai.com. Desktop/tablet/mobile covered. Within 7-day window. Unchanged from v3. |
| 4 | Onboarding / billing | ✅ pass | 1.0 | pro-website-upgrade: 5/5 green 2026-04-21 ✅. FA-046 auth hole RESOLVED: CancelledTombstone.tsx deployed. Status gate fires before full dashboard render. Stripe checkout + webhook provisioning green. Unchanged from v3. |
| 8 | Marketing funnel | ✅ pass | 1.0 | /pro-website → 200 ✅. Synthetic funnel last_run 2026-04-18, 9 passed ✅. Help page pricing confirmed ($14.95 + $19.95 both present). MailerLite yaml aligned to cwa-newsletter. No pricing drift. Unchanged from v3. |
Product Health subtotal: (1.0 + 1.0 + 1.0 + 1.0) / 4 = 4.0/4 = 100%
Ops Instrumentation (dims 3, 5, 6, 7, 9)
| # | Dimension | State | Score | Evidence |
|---|---|---|---|---|
| 3 | Knowledge accuracy | ✅ pass | 1.0 | Live SQL this run: validate_product_knowledge() → 150 WARNINGs all confirmed bulk_update_noise (Dim-3 filter applied per SKILL.md update). 0 CRITICAL, 0 real-issue WARNINGs. pnpm derive --check FA-064 (9 pending upserts) is a CWA-level issue, not pro-website-specific knowledge. Graded 1.0. Upgraded from 0.5 (indeterminate in v3) to 1.0 (live confirmed pass). |
| 5 | User docs | ✅ pass | 1.0 | /help/pro-website → 200 ✅. Both $14.95/mo site-only and $19.95/mo + Chat Starter confirmed in source (PR #151 merged). No stale price language. cwa-pro-website.md spec is COMPLETE with 7 documented expected outputs. Unchanged from v3. |
| 6 | Drift & issues | ⚠ warn | 0.75 | Live SQL this run: founder_action_items P0/P1 status != 'completed': 9 open. Analysis: 1 P0 (DRIFT-2026-04-22 — system-level), 7 P1s are OUTREACH-BACKLOG stacking (outreach drafts awaiting approval — cross-product ops backlog, not regressions), 1 P1 is KB-DRIFT-2026-04-22. None are pro-website-specific failures. moderation_violations ≥ 0.8 last 7d: 8 — within ≤10 threshold (PASS component). ops_errors P0/P1 unresolved last 7d: 10 — exceeds ≤5 threshold (WARN component). FA-046 RESOLVED (code fix deployed, FA entry not yet marked completed in DB — minor housekeeping). Graded 0.75 (warn): ops_errors count exceeds threshold but no pro-website attribution. Upgraded from 0.5 (indeterminate in v3) to 0.75 (live data, borderline warn). |
| 7 | Analytics | ⚠ warn | 0.75 | ReadinessTab.tsx exists and is wired to /api/founder/readiness/[property]. Route confirmed live (401 = auth-gated, not 404). Live SQL confirms premium_churches active=17 and churches visible=218,385 — underlying data is healthy. Dashboard rendering requires interactive auth-gated session — can't render in this scorecard run, but all backing data confirmed present. Upgraded from 0.5 (indeterminate in v3) to 0.75 (data confirmed, render unverifiable). |
| 9 | Agent monitoring | ⚠ warn | 0.75 | ACTIVE_WORK.md confirmed: ensure-solid-portfolio-run-2026-04-22 RELEASED ✅. voice-agent-testing-backlog P2 stale flag still present (started 2026-04-15, no recent activity noted). No resource conflicts with pro-website. ensure-solid-orchestrator workstream properly in "ongoing" state. No pro-website-specific agent collisions. Unchanged grade from v3 — P2 stale entry still warrants warn. |
Ops Instrumentation subtotal: (1.0 + 1.0 + 0.75 + 0.75 + 0.75) / 5 = 4.25/5 = 85%
Overall Scoring
| Criterion | Value | Threshold | Pass? |
|---|---|---|---|
| Product Health | 100% | ≥ 80% | ✅ |
| Ops Instrumentation | 85% | ≥ 60% | ✅ |
| P0 findings in Product Health | 0 | = 0 | ✅ |
| P0 findings in Ops (pro-website-attributed) | 0 | = 0 | ✅ |
Overall status: READY (all four criteria met — comfortably above both thresholds)
Note on the P0 in
founder_action_items:DRIFT-2026-04-22is a system-level auto-generated daily alert, not a pro-website P0 finding. No pro-website-attributed P0s exist in any source.
Punch list (ordered by severity)
No P0 items
No P1 items for Pro Website
P2 — Fix in next sprint
P2-A: readiness/pro-website.yaml billing config stale [D8, Ops config]
billing.monthly_price_usd: 19.95 and billing.stripe_plan_keys: [cwa_pro_website, ps_pro_website]
are pre-modular-pricing values. Should reflect both SKUs: cwa_pro_website_site_only at $14.95
and cwa_pro_website at $19.95. Won't affect product behaviour but produces misleading dim-4
assessments in future scorecard runs.
- Fix: Update the billing block in
knowledge/readiness/pro-website.yaml. 5-minute knowledge change. - Owner: Any agent.
P2-B: pro-website.yaml acceptance_specs still lists cwa-pro-website.md as DRAFT in header comment [cosmetic]
The YAML file at line 22 reads # DRAFT (pending founder interview for CWA-specific deltas) — this
comment is now stale. The spec was promoted to COMPLETE via knowledge#32.
- Fix: Update inline comment in
knowledge/readiness/pro-website.yamlline 22. - Owner: Any agent.
P2-C: ops_errors P0/P1 unresolved count at 10 (threshold: ≤5) [cross-product ops]
10 unresolved P0/P1 ops_errors last 7d. None attributed to property = 'pro-website' per DB
property column, but the cross-product count indicates ops error backlog accumulating. Not a
pro-website regression but warrants cross-property triage.
- Fix: ops_errors triage — tag each with
property, resolve stale entries. Separate CWA-level session. - Owner: Any agent, or ops cron to auto-resolve stale errors.
P2-D: FA-046 founder_action_items row not closed [housekeeping]
The DB row for FA-046 still has status: pending (or non-completed equivalent) even though the
CancelledTombstone.tsx code fix is deployed and confirmed. This keeps it in the open_p0_p1 count
artificially. However, investigating the 9 rows returned, FA-046 is not directly among them —
it may already be a FOUNDER_ACTIONS.md-only item that was never inserted into the DB.
- Fix: Verify and close FA-046 DB row if it exists. Update FOUNDER_ACTIONS.md entry to
resolved. - Owner: Any agent.
Resolved since v3 (delta wins)
| v3 Item | Resolution |
|---|---|
| P1-A: DRAFT acceptance spec | RESOLVED — cwa-pro-website.md promoted to COMPLETE (knowledge#32). 7 delta sections founder-canonical. |
| D1 warn (5th journey indeterminate) | RESOLVED — pro-website-cancelled-tombstone confirmed founder_verified: 2026-04-22 in registry.yaml. Dim-1 0.90 → 1.0. |
| D3 indeterminate (Supabase MCP not authenticated) | RESOLVED — live SQL this run. 0 real issues. Dim-3 0.5 → 1.0. |
| D6 indeterminate (Supabase MCP not authenticated) | PARTIALLY RESOLVED — live SQL confirms moderation within threshold; ops_errors above threshold. Dim-6 0.5 → 0.75 (warn). |
| D7 indeterminate | PARTIALLY RESOLVED — data confirmed present, render unverifiable. Dim-7 0.5 → 0.75. |
What still caps below 100/100
- ops_errors count at 10 — cross-product ops backlog exceeds ≤5 threshold. Caps dim-6 to 0.75. No pro-website attribution but cross-product ops health matters for overall readiness posture.
- analytics rendering unverifiable — ReadinessTab is auth-gated; backing data confirmed healthy but actual dashboard render can't be verified in a read-only scorecard run. Caps dim-7 to 0.75.
- voice-agent-testing-backlog P2 stale — workstream started 2026-04-15 with no recent activity. Not a pro-website issue but keeps dim-9 at 0.75 warn.
- P2-A billing yaml — cosmetic config drift, no product impact.
Self-healed this run
None — read-only per task specification.
Evidence links
| Item | Evidence |
|---|---|
cwa-pro-website.md COMPLETE | Spec frontmatter status: COMPLETE + last-verified: 2026-04-22, promoted via knowledge#32 |
pro-website-cancelled-tombstone founder_verified | registry.yaml line 176: founder_verified: 2026-04-22 |
validate_product_knowledge() | Live SQL: 150 WARNINGs, all bulk_update_noise, 0 CRITICAL, 0 real |
founder_action_items P0/P1 open | Live SQL: 9 rows — none pro-website-specific |
moderation_violations ≥ 0.8 / 7d | Live SQL: 8 (within ≤10 threshold) |
ops_errors P0/P1 unresolved / 7d | Live SQL: 10 (exceeds ≤5 threshold) |
premium_churches active | Live SQL: 17 |
churches directory_visible | Live SQL: 218,385 |
/pro-website | 200 OK (confirmed v3 — not re-fetched per task spec) |
/help/pro-website | 200 OK, both $14.95 + $19.95 confirmed (confirmed v3) |
the-bridge-church.john316.church | 200 OK, ISR live (confirmed v3) |
pro-website-upgrade last_run | 2026-04-21T00:00Z — 5/5 passed — founder_verified: 2026-04-22 |
cwa-onboarding-wizard last_run | 2026-04-18T02:40Z — 15 passed — founder_verified: 2026-04-22 |
cwa-pro-website-ssr last_run | 2026-04-18T02:40Z — founder_verified: 2026-04-22 |
cwa-pro-website-edit | last_run: null — founder_verified: 2026-04-22 |
pro-website-cancelled-tombstone | last_run: null — founder_verified: 2026-04-22 ← v4 new |
ACTIVE_WORK.md conflicts | None for pro-website. ensure-solid-portfolio-run-2026-04-22 RELEASED. |
Delta: v1 → v2 → v3 → v4
| Metric | v1 (2026-04-17) | v2 (22:00Z) | v3 (23:30Z) | v4 (FINAL) | v1→v4 |
|---|---|---|---|---|---|
| Product Health | ~60% | 81% | 95% | 100% | +40 pts |
| Ops Instrumentation | ~40% | 60% | 70% | 85% | +45 pts |
| Overall status | READY (marginal) | READY | READY | READY | = |
| P0 count | 1 | 0 | 0 | 0 | −1 |
| P1 count | 5+ | 3 | 1 | 0 (pro-website) | −5 |
| P2 count | 3+ | 2 | 1 | 4 (minor) | mixed |
| Supabase MCP authenticated | No | No | No | Yes | resolved |
| Dims indeterminate (0.5) | 3 | 3 | 3 | 0 | resolved |
Why the score moved v3 → v4:
- DRAFT spec COMPLETE (+D1 0.90→1.0).
cwa-pro-website.mdpromoted to COMPLETE. All 5 journeys now have full spec backing. - Tombstone journey stamped (+D1 0.90→1.0). 5th critical journey
pro-website-cancelled-tombstoneconfirmedfounder_verified: 2026-04-22. Score goes from (4×1.0 + 0.5)/5 = 0.90 to 5/5 = 1.0. Product Health hits 100%. - D3 live SQL (+D3 0.5→1.0).
validate_product_knowledge()confirmed 0 real issues. Dim-3 moves from indeterminate to PASS. - D6 live SQL (+D6 0.5→0.75). Moderation within threshold. ops_errors above threshold but no pro-website attribution. Upgrades from indeterminate to warn.
- D7 data confirmed (+D7 0.5→0.75). Backing analytics data verified live. Route confirmed. Upgrades from indeterminate to warn.
- Net Ops gain: +15 pts from resolving all three 0.5 indeterminate dims to 0.75+ real scores.
Generated by /ensure-solid pro-website v4 FINAL — read-only, no DB writes, no git push.
Live Supabase MCP authenticated (project: wrwkszmobuhvcfjipasi).