Skip to main content

Portfolio Readiness Summary v7 — 2026-05-04

This is the first portfolio scorecard since v6 (2026-04-22). It covers all 8 surfaces for the first time, including the three new properties (FuneralWiseAI, VetWiseAI, WiseAI Agency) that did not have per-property scorecards in v6.


Portfolio Scorecard Table

PropertyProduct%Ops%P0sP1sOutreach-Ready?Verdict
sermonwise100%80%00✅ YesREADY
itw93.75%85%00✅ YesREADY
cwa93.75%75%11⚠ ConditionalREADY*
pro-website93.75%85%01⚠ ConditionalREADY*
pewsearch87.5%85%01⚠ ConditionalREADY*
funeralwiseai56.25%30%23❌ NoNOT READY
wiseaiagency50%40%23❌ NoNOT READY
vetwiseai56.25%40%33❌ NoNOT READY

Portfolio Product Health Average: 78.9% Portfolio Ops Average: 65% Total P0s (portfolio): 8 Total P1s (portfolio): 12

*READY = above minimum thresholds (Product ≥80%, Ops ≥60%, zero P0 in Product Health). CWA has 1 P0 in Ops (ops_errors), not Product Health — passes the READY gate.


Vertical Outreach-Launch Verdict

VerticalSitesOutreach-Ready?Blocker
Churchchurchwiseai.com, pewsearch.com, sermonwise.ai, pro-website⚠ Conditional3 P0 ops_errors in CWA; PewSearch claim copy drift
Funeralfuneralwiseai.com❌ NoDemo provisioning blocked (Stream A); no email sequence; no acceptance spec
Vetveterinarywiseai.com❌ NoJust launched today; no infrastructure beyond Stripe + marketing site
Agencywiseaiagency.com❌ NoContact form routing unverified; no acceptance spec; no local SEO pages

Bottom line: Church vertical is outreach-ready with conditions. Funeral/vet/agency are NOT outreach-ready — sending cold email to funeral directors or vet clinics now would route prospects to a broken demo and no follow-up automation.


Top 10 P0/P1 Items — Sorted by Cold-Outreach Impact

RankSeveritySurfaceItemImpact on Outreach
1P0funeralwiseaiDemo provisioning blocked — funeral_knowledge_base and tenant_voice_agents provisioning cannot complete for non-church tenants429 funeral prospects drafted, zero can get a working demo link
2P0vetwiseaiBare domain veterinarywiseai.com → 308 redirect (non-www)Every cold email link to veterinarywiseai.com redirects — confusing, looks broken to prospects
3P0funeralwiseai / vetwiseaiNo acceptance specs for either verticalPer CLAUDE.md Rule #17, no customer-facing features can be shipped without spec — everything downstream is ungated
4P0cwa3 unresolved P0 ops_errors (change-tier, sweep-cancel, FA-082 webhook)Webhook errors could cause missed provisioning for new paid customers; actively firing
5P0vetwiseaiNo lifecycle email automation / welcome emailFirst vet customer who signs up gets no onboarding communication
6P0wiseaiagencyContact form routing to outreach_contacts unverifiedAgency inbound leads may be silently dropped
7P1funeralwiseaiNo cold outreach email sequence (3-email)429 drafted prospects have no approved copy to send them
8P1pewsearchClaim page mentions "AI Church Chatbot" on a $4.95/mo planOverpromises to churches who claim listings — churn risk when they discover chatbot isn't included
9P1vetwiseaiNo Stripe test-mode productsCan't run CI checkout tests; every code change to vet checkout is untested
10P1wiseaiagency4 city SEO pages not built (Ingersoll, London ON, Woodstock, Tillsonburg)Founder's home market has zero local SEO presence for WiseAI Agency

v6 → v7 Comparison (existing surfaces)

Propertyv6 Productv7 Productv6 Opsv7 OpsChange
pro-website100%93.75%95%85%-6.25pp product, -10pp ops
cwa93.75%93.75%90%75%0pp product, -15pp ops
sermonwise91%*100%85%*80%+9pp product, -5pp ops
itw87.5%93.75%90%85%+6.25pp product, -5pp ops
pewsearch87.5%87.5%90%85%0pp product, -5pp ops

*sermonwise v6→v7: v7 (2026-04-24) was already published; this uses that as baseline.

What improved since v6

  • SermonWise: +9pp product health — checkout spec green, billing gate enabled, welcome email wired (FA-077)
  • ITW: +6.25pp product health — viewport Playwright now stamped (2026-04-24), checkout verified (2026-04-28)
  • PewSearch: Two critical specs run (claim flow + checkout, both 2026-04-28) — claims flow verified founder
  • Product Knowledge: VetWiseAI 9 rows added, FuneralWiseAI pricing corrected to $745 (was $999 stale)
  • FA-082 (Debora Moelker): Unknown tier resolver patched in code — pending migration apply

What regressed since v6

  • CWA Ops -15pp: 3 new P0 ops_errors accumulated since 2026-04-22 (all resolved_at: null)
    • sub_1TQeZyF8 resource_missing (2026-04-27) — stale subscription reference
    • sweep-cancel-at-period-end must-have-plan error (2026-04-28) — sweep race condition
    • FA-082 webhook unknown tier (2026-05-04) — code patch shipped but migration not yet applied
  • Pro-Website Ops -10pp: Same shared ops_errors + D6 WARN
  • Help redirect: churchwiseai.com/help now 307-redirects to docs portal — technically correct but adds friction

What is new (not in v6)

  • FuneralWiseAI scored for first time: NOT READY (56.25% / 30%)
  • VetWiseAI scored for first time (launch day): NOT READY (56.25% / 40%)
  • WiseAI Agency scored for first time: NOT READY (50% / 40%)

Critical-Path Test Registry Gaps

From knowledge/tests/registry.yaml — entries where critical_path: true and last_run is null or older than 30 days:

EntryLast RunDays SinceGap TypePriority
stripe-live-checkoutnullneverNo spec runHIGH — primary revenue path
voice-live-callnullneverNo spec runHIGH — customer-facing product
voice-routing-integrationnullneverNo spec run; last_break: 2026-04-22HIGH — broke on M2 migration
user-login-cwanullneverNo spec runHIGH — blocks all authenticated flows
cwa-04-onboardingnullneverNo spec runHIGH — step 3 of customer flow
cwa-chatbot-live-response2026-04-277 days✅ Within 30 daysOK
cwa-production-smoke2026-04-24T14:45Z10 days✅ Within 30 daysOK
pro-website-cancelled-tombstonenullneverNo spec runMEDIUM
cwa-cancellednullneverNo spec runMEDIUM
cwa-trial-expirednullneverNo spec runMEDIUM
cwa-custom-domain-setupnullneverNo spec run; founder_verified: nullMEDIUM
cwa-pro-website-ssr2026-04-18T02:40Z16 days✅ Within 30 daysOK
cwa-onboarding-wizard2026-04-18T02:40Z16 days✅ Within 30 daysOK
pro-website-upgrade2026-04-21T00:00Z13 days✅ Within 30 daysOK
pewsearch-claim-flow2026-04-286 days✅ Within 30 daysOK
pewsearch-premium-checkout2026-04-286 days✅ Within 30 daysOK
sermonwise-signup-checkout2026-04-24T14:28:59Z10 days✅ Within 30 daysOK
cold-outreach-director-transfernullneverlast_break: 2026-04-29; 8 P0sCRITICAL — cold email GO/NO-GO gate
consistency-price-matchingnullneverNo spec runHIGH — drift defense

Summary: 8 critical_path:true entries have last_run: null. The most impactful gaps are stripe-live-checkout (primary revenue), voice-live-call (core product), and cold-outreach-director-transfer (the gate for funeral cold email).


Playwright Runs Needed (For Orchestrator)

In priority order:

  1. cold-outreach-director-transfere2e/cold-outreach-director-transfer.spec.ts — MUST be green before any funeral cold email batch. Currently broken (last_break: 2026-04-29, 8 P0s from PR #251). Requires Stream A provisioning to be working first.
  2. stripe-live-checkoute2e/stripe-e2e-validator.spec.ts — Primary revenue path, never run. Run against production with STRIPE_TEST_MODE=1.
  3. voice-live-call — No spec file exists (spec_file: null). Spec needs to be authored before first run.
  4. voice-routing-integrationtests/test_routing.py, tests/test_load_church_data_integration.pylast_break: 2026-04-22, never green after M2 migration. Run via .github/workflows/voice-routing-integration-on-pr.yml.
  5. user-login-cwa — No spec file. Blocks every authenticated flow test.
  6. consistency-price-matchinge2e/delivers/consistency/price-matching.spec.ts — Run to verify prices match across all 8 surfaces.
  7. pro-website-cancelled-tombstonee2e/journeys/cancelled-subscription-tombstone.spec.ts — Against demo-cancelled-2026 token.
  8. cwa-cancellede2e/journeys/cancelled.spec.ts — Demo: Riverside Fellowship Church (demo-cancelled-2026).
  9. cwa-trial-expirede2e/journeys/trial-expired.spec.ts — Demo: Harbor Light Methodist Church (demo-trial-expired-2026).
  10. cwa-custom-domain-setupe2e/journeys/custom-domain-setup.spec.ts — Needs demo-pro-website-bundled-2026 token.

Scorecard File Index

PropertyFile
CWAknowledge/readiness/reports/cwa-20260504-v1.md
Pro Websiteknowledge/readiness/reports/pro-website-20260504-v1.md
PewSearchknowledge/readiness/reports/pewsearch-20260504-v1.md
ITWknowledge/readiness/reports/itw-20260504-v1.md
SermonWiseknowledge/readiness/reports/sermonwise-20260504-v1.md
FuneralWiseAIknowledge/readiness/reports/funeralwiseai-20260504-v1.md
VetWiseAIknowledge/readiness/reports/vetwiseai-20260504-v1.md
WiseAI Agencyknowledge/readiness/reports/wiseaiagency-20260504-v1.md
Portfolio (this file)knowledge/readiness/reports/portfolio-20260504-v7.md

Closing Assessment

The church vertical is in good shape and conditionally outreach-ready. The three new verticals (funeral, vet, agency) are all in "marketing site live, infrastructure absent" state — which is the right order to do things (ship first, then harden). But they cannot receive cold-email outreach traffic until:

  1. Stream A unblocks demo provisioning for funeral + vet
  2. Cold-outreach email sequences are authored and approved
  3. MailerLite groups + lifecycle automations are wired per vertical
  4. Acceptance specs exist (CLAUDE.md Rule #17)
  5. At minimum one Playwright checkout spec is green per vertical

The 429 funeral prospects in outreach_contacts.status='drafted' are the most urgent. They are provisioned-enough to have been scraped and approved, but no demo link works and no email copy exists to send them. Stream A + D unlock this.

Next sprint milestone: After Stream A + D complete, re-run this scorecard. Target: FuneralWiseAI to 80%/65% (minimum outreach threshold). VetWiseAI and WiseAI Agency to 70%/55% (soft outreach OK with caveats).