Skip to main content

Go-Live Readiness — IllustrateTheWord — 2026-04-22T21:54Z

Overall: 56% (NOT READY) — 0 P0, 5 P1, 4 P2 open

All 9 dimensions enabled. Audit is read-only. Playwright tests not executed this run (no live test infra invocation) — test-run status derived from registry last_run fields and code presence checks.


9 Dimensions

#DimensionScoreStatusEvidence
1User journeys1/3itw-smoke has spec; itw-signup registry entry missing; itw-premium-checkout spec exists, no green run recorded
2Desktop / tablet / mobile3/3playwright.config.ts declares all 3 projects; 30 spec files exist in e2e/; visual.spec.ts, visual-mobile.spec.ts, responsive.spec.ts present; no last-run artifact
3Knowledge accuracy2/3dir_illustrations materialized view: 50,739 rows (healthy); validate_product_knowledge(): 0 CRITICAL, 150 WARNING (bulk-update noise from 2026-04-20 demo provisioning run — no ITW-specific CRITICAL issues); pnpm derive --check not run this session (no live script invocation)
4Onboarding / billing2/3Both plan keys (itw_premium_monthly, itw_premium_annual) have Stripe price IDs configured in env + pricing.yaml; 3 total / 2 active user_subscriptions rows; pricing page live at 200 showing $9.95/$99.50; billing.critical_path_gate: false → no CI gate enforcing checkout; no green stripe-e2e-validation-monthly artifact recorded
5User docs1/2/help returns HTTP 200 with FAQ/support headings; help_surface.canonical_source: null — no accountable KB behind it; partial coverage only (how_to_search + how_to_upgrade both flagged "partial" in config)
6Drift & issues2/3user_subscriptions: 2 active (expected); unified_rag_content total: 327,293 rows (intact); moderation_violations.reviewed column missing (table schema drift — query errored); open P2 items FA-029 (41 flagged illustrations) + FA-030 (progressive Christianity review) still unresolved; no P0/P1 open FOUNDER_ACTIONS items for ITW specifically
7Analytics1/2/api/founder/readiness/itw exists (returns 401 — auth required, not 404); ReadinessTab not yet wired to ITW metrics (per skill spec: "wired up when ReadinessTab ships"); no ITW-specific KPI widget confirmed rendering
8Marketing funnel2/3Landing / → HTTP 200, shows "50,000+" illustration count (matches spec); /pricing → HTTP 200, shows $9.95/$99.50 (matches canonical pricing.yaml); marketing_funnel.synthetic_funnel_test: null — no automated funnel assertion exists; MailerLite itw-leads group check returned Unauthenticated (legacy key — ITW now routes through CWA proxy, direct API check not possible this run)
9Agent monitoring3/3No workstream in ACTIVE_WORK.md lists ITW/sermon-illustrations as a production resource; no resource overlaps detected; ensure-solid-portfolio-run-2026-04-22 is the only active ITW reader; voice-agent-testing-backlog started 2026-04-15 (>7 days) — stale flag raised but no ITW resources owned

Score breakdown

  • Pass (✅): D2 (viewports), D9 (agent monitoring) = 2 dimensions
  • Warn (⚠): D1, D3, D4, D5, D6, D7, D8 = 7 dimensions
  • Fail (❌): none
  • Overall: 2/9 = 22% dimensions fully green… but 7/9 are ⚠ not ❌, so weighted score treating ⚠ as partial (0.5): (2×1 + 7×0.5)/9 = 56%

No P0 findings — overall_status stays NOT READY because multiple P1 gaps block a confident launch.


Punch list (ordered by severity)

P1 — Act before marketing push

  • P1-ITW-01: itw-signup journey has no registry entry — The signup-free-tier journey in itw.yaml points to registry_entry: itw-signup, but that entry does not exist in knowledge/tests/registry.yaml. A core acquisition path (email signup → free tier access) is undeclared and untested. Add the registry entry with spec_file: e2e/auth.spec.ts (which covers signup flows) and record a last_run.

  • P1-ITW-02: No green Stripe checkout run recorded for either plan keyitw-premium-checkout registry entry exists (e2e/checkout.spec.ts) but last_run: null. With 2 active subscriptions in the wild, checkout has never been formally verified end-to-end on production. Run BASE_URL=https://illustratetheword.com npx playwright test checkout.spec.ts against production with a test-mode Stripe key and record the result.

  • P1-ITW-03: help_surface.canonical_source: null — The help page exists and returns 200 with FAQ/Support headings, but there is no accountable knowledge base behind it (canonical_source is null in config). If support questions fall through, there is no SoT for answers. Per skill spec, this is a mandatory P1 for all properties missing a KB. Create a knowledge/docs/itw-help.md and wire it as canonical_source.

  • P1-ITW-04: marketing_funnel.synthetic_funnel_test: null — No automated funnel assertion exists for ITW. The pricing page and landing page are verified by HTTP presence check only. A malformed Stripe checkout redirect, a broken /api/stripe/checkout route, or a broken ?checkout=monthly auto-trigger would go undetected. Per skill spec, synthetic_funnel_test: null = mandatory P1 for any property claimed as marketing-ready.

  • P1-ITW-05: Acceptance spec last-verified: 2026-03-28 — 25 days stale — The itw-premium.md acceptance spec was last verified 2026-03-28 (25 days ago, approaching the 60-day stale threshold). Two touchpoints within the spec are explicitly flagged GATING NOTE — CODE FIX REQUIRED: (a) FavoriteButton save action must prompt upgrade for free users; (b) AddToCollectionButton / new collection creation must be Premium-only. These gating rules have not been verified since the spec was written. Run a Playwright pass against production to confirm gating is correct, or update last-verified with evidence.


P2 — Fix before sustained marketing spend

  • P2-ITW-01: FA-029 — 41 AI-generated illustrations flagged for moderation — Flagged 2026-04-06, still open. These are visible in the library. Until reviewed, some could contain theologically problematic content that harms brand trust.

  • P2-ITW-02: FA-030 — "Progressive Christianity" illustration needs editorial review — Specifically flagged alongside FA-029. Interfaith/progressive framing on a platform targeting evangelical/traditional pastors is a brand-trust risk.

  • P2-ITW-03: moderation_violations schema drift — The drift check SQL (WHERE reviewed = false) errored with column moderation_violations.reviewed does not exist. Either the column was never created or was renamed. The table exists (query reached it), but the monitoring query is broken. Fix by checking actual column names and updating the cron health-check query.

  • P2-ITW-04: FA-048 — hello@illustratetheword.com replies silently bounce — No MX/DMARC record on the domain. MailerLite sends FROM this address but any pastor who replies gets a bounce. Low-frequency but brand-damaging. Google Workspace alias setup is a ~5-minute task per FA-048.


Self-healed this run

None. This is a read-only audit. No derive runs, no materialized view refreshes, no registry stamps were performed.


CheckResultNotes
illustratetheword.com HTTP200Healthy
illustratetheword.com/pricing HTTP200Shows $9.95/$99.50 — matches pricing.yaml
illustratetheword.com/help HTTP200FAQ/Support present, no canonical KB
illustratetheword.com/signup HTTP200Healthy
illustratetheword.com/illustrations HTTP200Healthy
dir_illustrations row count50,739Healthy — materialized view populated
unified_rag_content total327,293Healthy — no bulk delete
user_subscriptions total/active3 total / 2 activeExpected
validate_product_knowledge()0 CRITICAL, 150 WARNINGWarnings are bulk-update noise; no ITW CRITICAL
itw-smoke registrylast_run: nullSpec exists, never run against prod
itw-content-gating registrylast_run: nullSpec exists, never run against prod
itw-premium-checkout registrylast_run: nullSpec exists, never run against prod
itw-signup registryMISSINGDeclared in itw.yaml, not in registry.yaml
acceptance/itw-premium.mdlast-verified: 2026-03-2825 days old
Playwright viewports config3 projects declareddesktop, tablet, mobile all configured
e2e spec count30 specsComprehensive coverage declared
git status masterCleanNo uncommitted changes
/api/founder/readiness/itw401Route exists, auth required
ACTIVE_WORK.md conflictsNoneNo ITW resource conflicts
voice-agent-testing-backlog ageStarted 2026-04-157 days old — marginal stale flag

Dimension notes

D1 — Journeys: Three journeys declared. browse-search points to itw-smoke (spec exists). premium-conversion points to itw-premium-checkout (spec + acceptance spec exist). signup-free-tier points to itw-signup which has no registry entry — gap. No last_run recorded for any ITW entry.

D3 — Knowledge: The validate_product_knowledge() WARNING flood (150 rows) comes from the 2026-04-20 dental/vet/funeral demo provisioning run. All WARNINGs are Bulk update detected noise triggered by the bulk INSERT/UPDATE pattern during the multi-vertical demo build. Zero CRITICAL issues. ITW-specific product_knowledge rows are in the pewsearch category (5 entries found) and appear healthy.

D4 — Billing: .env.local holds TEST-mode Stripe keys — expected. Vercel production deployment uses live keys (not checked this run, but this is the established pattern per PRICING.md). Annual product was consolidated from split product onto canonical product 2026-04-14 (still pending archival of legacy prod_U7OGpFN8OR2LST — low-priority cleanup, not blocking).

D8 — Marketing: MailerLite direct API returned Unauthenticated — the MAILERLITE_API_KEY in .env.local is a legacy key; ITW now routes newsletter signups through the CWA proxy at churchwiseai.com/api/mailerlite/subscribe. The itw-leads group existence could not be verified this run via direct API. Not scored as failure — proxy architecture is intentional; verify group exists in MailerLite dashboard as a follow-up.