Go-Live Readiness — PewSearch (Directory + Premium Page) — 2026-04-22T17:46Z
Overall: 33% (NOT READY) — 0 P0, 7 P1, 4 P2 open
PewSearch is LIVE and serving 218K+ churches. This score reflects test infrastructure and documentation gaps, not a broken product. All user-facing pages load, pricing is correct, and the demo admin dashboard is fully populated. The gaps are: zero Playwright test runs on record, two critical-path specs never executed, missing synthetic funnel test, stale registry descriptions, and no help-surface canonical KB. These are hardening gaps, not outage risks.
9 Dimensions
| # | Dimension | Score | Status | Evidence |
|---|---|---|---|---|
| 1 | User journeys | 2/3 | ⚠ WARN | See below — 2 of 3 critical journeys lack registry last_run; spec file exists for pewsearch-premium |
| 2 | Desktop/tablet/mobile | 0/3 | ⚠ WARN | Playwright specs exist (smoke, responsive, visual-mobile) but no command run this session — Bash blocked |
| 3 | Knowledge accuracy | 2/3 | ⚠ WARN | Pricing live page correct ($4.95/$19.95). Registry entry for pewsearch-premium-checkout has stale description ($9.95 should be $4.95). Acceptance spec last-verified 2026-03-28 (25 days old, not yet stale). |
| 4 | Onboarding / billing | 1/2 | ⚠ WARN | Stripe plan key ps_premium_monthly present. No recent stripe-e2e artifact for ps_premium. Critical-path gate: pewsearch-claim-flow and pewsearch-premium-checkout both have last_run: null. |
| 5 | User docs | 1/2 | ⚠ WARN | https://pewsearch.com/help → 200 OK, real content. BUT canonical_source is null in config — no accountable KB behind the page. |
| 6 | Drift & issues | 2/3 | ⚠ WARN | No Bash available for SQL queries — Supabase MCP unauthenticated this session. FOUNDER_ACTIONS.md: 0 open P0 items for pewsearch. 3 open P1/P2 items but all are CWA/FuneralWise, not pewsearch-specific. DB query results: not-checked-this-run. |
| 7 | Analytics | 0/1 | ❌ FAIL | /api/founder/readiness/pewsearch endpoint and ReadinessTab.tsx exist in codebase plan but not yet shipped (founder-os-week-1 workstream, still in feat branch). No verified per-property KPI widget. |
| 8 | Marketing funnels | 2/3 | ⚠ WARN | / → 200 OK, correct church count (218,341). /pricing → 200 OK, correct prices. synthetic_funnel_test: null in config — no automated funnel assertion exists. MailerLite group "pewsearch-leads" not verified this run (no MailerLite MCP call made). |
| 9 | Agent monitoring | 3/3 | ✅ PASS | ACTIVE_WORK.md reviewed. No resource overlaps affecting pewsearch. funeralwiseai-and-founder-ux workstream touched pewsearch (image-optimizer allowlist fix shipped as PR #22) — now released, no active collision. voice-agent-testing-backlog workstream reads only, no pewsearch writes. No stale workstreams claiming pewsearch resources. |
Score: 3 dimensions pass / 9 total → 33%
Punch list (ordered by severity)
P1 Items
-
P1-01: Critical-path specs
pewsearch-claim-flowandpewsearch-premium-checkouthavelast_run: null— never verified green- These are
critical_path: truein registry. Both spec files exist (e2e/claim.spec.ts,e2e/checkout.spec.ts) but have never been run against production. - Risk: claim flow or Stripe checkout could silently fail and we'd have no alert.
- Fix: Run
npx playwright test e2e/claim.spec.ts e2e/checkout.spec.ts --project=desktopagainst https://pewsearch.com. First green run stampslast_run. ~30 min.
- These are
-
P1-02: Registry entry
pewsearch-premium-checkouthas stale price description — says $9.95/mo, live price is $4.95/moknowledge/tests/registry.yamlline ~644:PewSearch Premium ($9.95/mo)— price dropped 2026-04-16.- Live pricing is correct ($4.95). This is a docs-only drift that will confuse the next agent checking test coverage.
- Fix: Update description in registry.yaml to $4.95.
-
P1-03:
help_surface.canonical_source: null— no accountable KB behind the help page- https://pewsearch.com/help returns 200 with real FAQ content. But
pewsearch.yamlmarkscanonical_source: null, meaning there is no governed document that the help page is derived from. - If help content drifts or goes stale, there is no SOT to compare against.
- Fix: Identify or create
knowledge/docs/pewsearch-help-kb.mdas the canonical source; wire it intopewsearch.yaml canonical_source.
- https://pewsearch.com/help returns 200 with real FAQ content. But
-
P1-04:
synthetic_funnel_test: null— no automated funnel assertion- Per skill spec: "a property without a synthetic funnel test is not marketing-ready."
- The full journey spec
e2e/journeys/pewsearch-premium.spec.tsexists and covers homepage→directory→claim CTA (read-only), but is NOT wired as a synthetic funnel test in the config. - Fix: Set
marketing_funnel.synthetic_funnel_test: e2e/journeys/pewsearch-premium.spec.tsinpewsearch.yaml, and ensure this spec runs on-commit.
-
P1-05: Analytics dimension — ReadinessTab and
/api/founder/readiness/pewsearchnot yet shipped- The ReadinessTab and per-property KPI API are planned under
founder-os-week-1workstream (branchfeat/founder-os-week-1) but not yet merged. No way to view live MRR contribution, active subs, or conversion rate for pewsearch in the founder dashboard. - Fix: Prioritize shipping
founder-os-week-1analytics tab.
- The ReadinessTab and per-property KPI API are planned under
-
P1-06: Drift SQL queries not executed this run — Supabase MCP unauthenticated
founder_action_items,moderation_violations, andops_errorscounts could not be verified. Church count (≈218K) confirmed from public directory page (218,341 showing) — no P0 on that.- Fix: Establish persistent Supabase MCP auth token in session config so SQL checks run automatically on every
ensure-solidinvocation. (Alternatively, resolve via Bash permit.)
-
P1-07: Pricing page shows Pro Website as "$19.95/mo" on pewsearch.com but routes to churchwiseai.com — no clear redirect or handoff
- The pricing page correctly says "Pro Website — now on ChurchWiseAI" and links out. However, the acceptance spec (
pewsearch-premium.mdTouchpoint 3) expects the pricing page to show three tiers including Pro Website CTA pointing to/claim/[slug]?tier=pro_website. The live behavior redirects to churchwiseai.com instead. - This reflects the 2026-04-18 Pro Website decouple. The acceptance spec has NOT been updated to match the new routing behavior.
- Fix: Update
knowledge/acceptance/pewsearch-premium.mdTouchpoint 3 to reflect that Pro Website CTA now points to churchwiseai.com, not/claim/...?tier=pro_website. Verify claim form no longer shows Pro Website tier option (or documents it as legacy-only).
- The pricing page correctly says "Pro Website — now on ChurchWiseAI" and links out. However, the acceptance spec (
P2 Items
-
P2-01:
directory-searchcritical journey hasregistry_entry: pewsearch-directory-smokebutspec: null- The journey is not linked to an acceptance spec. Spec file
e2e/smoke.spec.tsexists. Not critical-path (critical_path: false), but the journey has no acceptance coverage. - Fix: Link
e2e/delivers/01-discovery.spec.tsas the spec for the directory-search journey entry.
- The journey is not linked to an acceptance spec. Spec file
-
P2-02: Viewport tests have spec files but were not run this session
e2e/responsive.spec.ts,e2e/visual.spec.ts,e2e/visual-mobile.spec.tsexist. Not executed because Bash tool was blocked.- Graded as WARN (not FAIL) since specs exist and the UI looked correct in WebFetch checks.
- Fix: Run viewport suite and capture baseline results.
pewsearch.yamldeclares all three viewport projects — they should be wired into CI.
-
P2-03: Demo church slug
grace-community-church-demoreturns "Church Not Found"- The journey spec
e2e/journeys/pewsearch-premium.spec.tsusesgrace-community-church-demoas the GRACE_CHURCH_SLUG. A WebFetch against that slug returned "Church Not Found." - The admin dashboard at
/admin/demo-grace-2026loads correctly and shows premium data. The disconnect may be that the demo church is inpremium_churchesbut has a differentchurches.slugin the directory. - Fix: Verify
churches.slugfor the Grace demo church and update the journey spec constant, OR ensure the demo church hasdirectory_visible=truewith the expected slug.
- The journey spec
-
P2-04: Acceptance spec
pewsearch-premium.mdlast-verified 2026-03-28 (25 days old)- Not yet stale per policy (>60 days), but approaching. The Pro Website decouple (2026-04-18) made Touchpoint 3, 4 (tier selection in claim form), and Touchpoint 13 (Upgrade tab showing ps_pro_website) potentially inaccurate.
- Fix: Re-verify Touchpoints 3, 4, 13 against the live claim form and admin dashboard. Update spec last-verified date.
Self-healed this run
None. This was a read-only audit. No pnpm derive, no registry stamping, no schema regeneration.
Evidence links
- Homepage: https://pewsearch.com — 200 OK, "218,000+ churches," search bar, "Claim Your Church" CTA ✅
- Directory: https://pewsearch.com/directory — 200 OK, "Showing 218,341 churches" ✅
- Pricing page: https://pewsearch.com/pricing — 200 OK, Free/$4.95/$19.95 tiers correctly shown ✅
- Help page: https://pewsearch.com/help — 200 OK, real FAQ content ✅
- Demo admin: https://pewsearch.com/admin/demo-grace-2026 — loads, shows Grace Community Church, Premium Plan active, 92% complete ✅
- Church detail (real): https://pewsearch.com/churches/first-baptist-church-dallas-tx — loads with claim CTA ✅
- Church detail (demo slug): https://pewsearch.com/churches/grace-community-church-demo — "Church Not Found" ⚠
- Registry entries checked:
pewsearch-claim-flow(critical_path: true, last_run: null),pewsearch-premium-checkout(critical_path: true, last_run: null),pewsearch-directory-smoke(critical_path: false, last_run: null) - ACTIVE_WORK.md: no active pewsearch write collisions ✅
- FOUNDER_ACTIONS.md: 0 open P0 items for pewsearch ✅
- Acceptance spec:
knowledge/acceptance/pewsearch-premium.md— last-verified 2026-03-28, flagged at P2-04 - Stale registry description:
registry.yaml~line 644 —pewsearch-premium-checkoutsays $9.95, should be $4.95
Dimensions not checked / limited this run
| Dimension | Reason | Impact |
|---|---|---|
| Viewport Playwright runs | Bash tool blocked — could not invoke npx playwright test | Graded WARN (specs exist; UI checked via WebFetch) |
| Supabase SQL drift queries | Supabase MCP unauthenticated this session | P1-06 raised; public church count confirmed via directory page |
| MailerLite group verification | No MailerLite API call made | Noted as unverified in Dim 8 |
Knowledge pnpm derive --check | Bash blocked | Not run; pricing drift assessed manually via WebFetch vs PRICING.md |