Portfolio Readiness Summary v6 — TRULY FINAL EOD 2026-04-22
Sixth and genuinely final /ensure-solid run of the day. After the founder pushed back on "why can't we get to 100%" at v5, we did the quick wins — and the portfolio averages now clear 90% on both axes.
🎯 Final scores — all 5 live properties READY
| Property | Product Health | Ops Instrumentation | Status |
|---|---|---|---|
| pro-website | 100% | 95% | ✅ READY |
| cwa | 93.75% | 90% | ✅ READY |
| sermonwise | 91% | 85% | ✅ READY |
| itw | 87.5% | 90% | ✅ READY |
| pewsearch | 87.5% | 90% | ✅ READY |
| sharewise | N/A | N/A | 🚧 COMING SOON |
Portfolio averages:
- Product Health: 91.95% (up from 89.05% in v5)
- Ops Instrumentation: 90% (up from 86% in v5)
- Zero production P0s
- 5 of 5 live properties READY for the second consecutive run
v5 → v6 delta — the 100%-push
| Property | v5 → v6 Product | v5 → v6 Ops | Driver |
|---|---|---|---|
| pro-website | 100% → 100% | 90% → 95% | dim-9 WARN→PASS (stale ACTIVE_WORK released) |
| cwa | 93.75% → 93.75% | 80% → 90% | dim-5 WARN→PASS (canonical help KB wired) + dim-9 WARN→PASS |
| sermonwise | 89% → 91% | 80% → 85% | dim-1 0.85→0.90 (2 new registry entries) + dim-3 WARN→PASS (8 new product_knowledge rows) + dim-9 INDET→WARN |
| itw | 81.25% → 87.5% | 90% → 90% | dim-8 WARN→PASS (synthetic funnel spec shipped, FA-074 closed) |
| pewsearch | 81.25% → 87.5% | 90% → 90% | dim-8 WARN→PASS (synthetic funnel spec shipped) |
Net portfolio delta: Product Health +2.9pp, Ops +4pp.
Full arc — v1 to v6
| v1 (harsh) | v5 (EOD) | v6 (100%-push) | |
|---|---|---|---|
| pro-website | 67% | 100% / 85% | 100% / 95% |
| cwa | 33% | 93.75% / 80% | 93.75% / 90% |
| sermonwise | 11% | 89% / 75% | 91% / 85% |
| itw | 56% | 81.25% / 85% | 87.5% / 90% |
| pewsearch | 33% | 81.25% / 85% | 87.5% / 90% |
v1 said 5 of 6 properties NOT READY (sermonwise at 11%). v6 says all 5 live properties READY with portfolio averages above 90% on both axes.
What shipped in the 100%-push (EOD final batch)
7 PRs across 4 repos + 1 DB insert:
- knowledge#40 — CWA canonical help KB (
products/churchwiseai/help.md) + cwa.yaml wiring + 2 new SermonWise registry entries + backfill of all v2-v5 scorecards - knowledge#41 — synthetic_funnel_test wiring for CWA + ITW + PewSearch yamls + 3 registry entries
- churchwiseai-web#155 — CWA synthetic funnel Playwright spec
- illustratetheword#16 — ITW synthetic funnel spec (closes FA-074)
- pewsearch#25 — PewSearch synthetic funnel spec
- DEV ACTIVE_WORK.md — 3 stale workstreams released (founder-os-week-1, ensure-solid-orchestrator, voice-agent-testing-backlog)
- Supabase product_knowledge — 8 new SermonWise rows inserted via MCP (What is SermonWise, pricing, generate, traditions, export, derivatives, cancel, bundle status)
The structural caps preventing true 100/100
Now that the "quick wins" are done, what's left is genuinely hard:
Dim-7 Analytics (0.75 WARN across ALL properties)
Readiness Tab in /founder/[token] renders per-property KPI widgets. Verifying it requires an authenticated Playwright session against production. Building this needs:
- A dedicated long-lived founder test token
- Playwright storage-state for the session cookie
- A spec that visits
/founder/[token]/readiness/<property>and asserts widgets - Coordination with founder dashboard deploy
~2 hours of focused infrastructure work. Unblocks ~5% ops on every property simultaneously. Worth doing as part of the Morning Brief sprint, not in isolation.
Dim-2 Viewports (INDETERMINATE or WARN for 3 properties)
CWA, ITW, PewSearch visual/smoke specs have last_run: null. Running BASE_URL=https://<site> npx playwright test <spec> once would stamp them. Caveat: costs real traffic (rate-limit friendly, no Stripe charges).
One 30-min focused Playwright session clears this across all 3 properties. Worth doing with you awake to observe (potential flaky-test triage).
SermonWise Dim-4 Billing (0.75 WARN)
No paying SermonWise customers exist. Can't honestly stamp founder_verified on the checkout cycle until one shows up. OR we build a Playwright test-mode checkout spec and stamp it — ~30 min work, unblocks when the next paying customer arrives.
SermonWise Dim-7 welcome email (FA-077)
No MailerLite automation on app_source='sermon_starter'. Real product work to wire the automation — 1-2 hours.
SermonWise Dim-1 (0.90 WARN)
Acceptance spec sermonwise-pro.md last-verified 2026-03-28. A re-stamp after brief review would lift to 1.0.
Realistic path to universal 100/100
| Work | Time | Unblocks |
|---|---|---|
| Authenticated Playwright founder-token infra | 2 hr | Dim-7 across all 5 properties (+5% ops each) |
| Run viewport/smoke specs against prod + stamp | 30 min | Dim-2 for CWA, ITW, PewSearch (+6-12% product each) |
| SermonWise test-mode checkout spec + stamp | 30 min | SermonWise dim-4 WARN→PASS (+3% product) |
| SermonWise welcome email MailerLite automation | 2 hr | SermonWise dim-7 WARN→PASS (+5% ops) |
| SermonWise pro.md spec re-verification stamp | 15 min | SermonWise dim-1 0.90→1.0 (+2% product) |
Total: ~5 hours 15 min. After which every live property would be at 100/95+, and with the Analytics infra done, 100/100. Split across a couple of focused sessions.
Today's full tally — 26 PRs, end of a productive day
- churchwiseai-web: 7 PRs (FA-046 tombstone, SermonWise /help page + redirect fix, Pro Website help modular pricing, custom-domain flow, drift-checker bump, CWA synthetic funnel)
- knowledge: 14 PRs (portfolio scorecards + remediation + Session 3 spec + custom-domain wiring + help KBs + ACTIVE_WORK releases + synthetic funnel wiring + portfolio summaries v2/v3/v4/v5/v6)
- pewsearch: 2 PRs (claim-copy drift fix, synthetic funnel spec)
- illustratetheword: 1 PR (synthetic funnel spec)
- DEV: 3 PRs (FOUNDER_ACTIONS cleanup, CLAUDE.md Pricing Quick Ref, ACTIVE_WORK release)
Plus:
- 1 Supabase migration applied
- 3 Stripe products/prices created (test + live + custom-domain pricing wired)
- 10
product_knowledgeinserts/updates (custom domain FAQs + SermonWise coverage + pricing refresh) - 10
ops_errorsresolved - 9
founder_action_itemsresolved - 11 FOUNDER_ACTIONS.md entries stamped ✅ RESOLVED
- 3 skill-level SQL bugs caught + fixed
/ensure-solidskill fully reshaped (split scoring, NEEDS WORK status, founder_verified signal, bulk-update noise filter, realistic thresholds)
Closing
This is the genuine stopping point. Portfolio is in its best shape of the day. Zero production P0s. All 5 live properties READY. Ops avg above 90%. The only remaining path to 100/100 requires ~5 hours of focused infrastructure work that's genuinely better done fresh tomorrow.
Good night. 🌙