Skip to main content

Go-Live Readiness — IllustrateTheWord — 2026-05-20T09:25:00-04:00

Overall: 44% (NOT READY) — 0 P0, 4 P1, 3 P2 open

Prior baseline: itw-20260504-v1 (GOOD per portfolio-audit-20260519). This is the first full 9-dimension ITW certification run. The 2026-05-19 audit fixed lint, help-doc, and illustration-count copy but explicitly did NOT run journeys, viewports, or billing E2E. This run closes that gap.


9 Dimensions

#DimensionScoreStatusEvidence
1User journeys1/3⚠ WARNSee dim-1 below
2Desktop/tablet/mobile0/3†⚠ WARNitw-responsive last_run 2026-04-24 6/6 pass; no current-run
3Knowledge accuracyPASS✅ PASS0 CRITICAL from validate_product_knowledge(); pricing/layout.tsx 2/0
4Onboarding/billing⚠ WARNitw-premium-checkout last_run 2026-04-28 green; no current-month artifact
5User docsPASS✅ PASS/help → 200, canonical_source non-null, deletion FAQ corrected
6Drift & issuesPASS✅ PASS0 open P0/P1 founder_action_items; 0 P0/P1 ops_errors last 7d
7AnalyticsGAP⚠ WARNcommands.analytics: null; ReadinessTab requires founder token — not verified
8Marketing funnel⚠ WARNSpec exists, last_run: null; landing+pricing 200; prices correct
9Agent monitoringPASS✅ PASS0 resource conflicts; golive-readiness active; no stale ITW workstreams

† Viewport Playwright cannot run without a live server or CI environment; last stamped run (itw-responsive, 2026-04-24) is 26 days old.

Overall score = 4 PASS / 9 dimensions = 44% → NOT READY No P0 findings. All gaps are P1/P2 and closeable.


Punch list (ordered by severity)

P1 — must close before go-live cert

  • P1-1 [JOURNEYS] itw-smoke registry entry has last_run: null — the browse/search journey has NEVER had a verified run. Spec exists at e2e/smoke.spec.ts. Run against production URL and stamp last_run. Recommend: BASE_URL=https://illustratetheword.com npx playwright test --project=desktop e2e/smoke.spec.ts.
  • P1-2 [JOURNEYS] itw-signup journey has last_run: null and the spec note says "spec not yet authored — see FA-071-itw." The free-tier signup journey is ITW's primary acquisition funnel and is unverified. Either author the targeted signup flow within e2e/auth.spec.ts or create e2e/signup-free-tier.spec.ts and run it.
  • P1-3 [MARKETING] itw-funnel-synthetic registry entry has last_run: null (spec authored 2026-04-22, never run against production). Run BASE_URL=https://illustratetheword.com npx playwright test e2e/synthetic-funnel.spec.ts and stamp the result. This closes the synthetic_funnel_test gap that prevented marketing dimension from passing.
  • P1-4 [BILLING] No current-month Stripe E2E artifact for itw_premium_monthly / itw_premium_annual. billing.critical_path_gate: false but itw-premium-checkout (last_run 2026-04-28, 22 days ago) needs a fresh run to certify billing is working in the current deployment. Run e2e/checkout.spec.ts against the production URL and attach the artifact.

P2 — polish / backlog

  • P2-1 [KNOWLEDGE] product_knowledge ITW rows quote "53,000+" illustrations (e.g., "What is IllustrateTheWord?", "How much does ITW Premium cost?", "What is the difference between free and premium?"). The real dir_illustrations count is 50,739 and the live website correctly says "50,000+". The DB answers overstate the count. These rows need updating to "50,000+" to match what the site shows (and the 2026-05-19 audit confirmed is accurate). CLAUDE.md rule #19: run validate_product_knowledge() after update.
  • P2-2 [ANALYTICS] Dimension 7 has no executable check (commands.analytics: null). Add a command to itw.yaml to probe the /api/founder/readiness/itw endpoint with the founder token, or wire a Supabase query for user_subscriptions active-count + conversion rate. Until this is declared, the analytics dimension will always be WARN.
  • P2-3 [KNOWLEDGE/DRIFT] Cross-cutting derive drift: pnpm derive --check reports 3 stale docs with all code-files missing (runbooks/sermon-account-deletion.md, seo/sermonwise-strategy.md, specs/day2-verticals-platform/08-VOICE-HARDENING-TEST-PLAN.md) and pending product_knowledge upserts for CWA/billing pricing rows. Not ITW-specific, but recorded here for completeness. Run pnpm derive --all from C:/dev/knowledge when convenient.

Self-healed this run

None. This run was fully read-only per the hard rules. No pnpm derive, no registry last_run stamps written, no DB writes, no git commands.


Dimension Detail

Dim 1 — User Journeys

3 critical journeys declared in itw.yaml:

JourneyRegistry Entrylast_runlast_breakStatus
browse-searchitw-smokenullnull❌ Never run
signup-free-tieritw-signupnullnull❌ Spec incomplete (FA-071-itw)
premium-conversionitw-premium-checkout2026-04-28null✅ Green 22 days ago

Only 1/3 journeys has a verified run. itw-signup note in registry: "spec not yet authored". The acceptance spec knowledge/acceptance/itw-premium.md exists (COMPLETE, last-verified: 2026-04-27) and covers 30 touchpoints. Journey-runner skill was not invoked (no live-server environment for the 5-Question AI evaluation).

Score: 1/3 PASS → WARN


Dim 2 — Desktop / Tablet / Mobile Viewports

Playwright projects are properly configured (desktop @ 1280×720, tablet iPad Mini @ 768×1024, mobile iPhone 12 @ 375×812). The itw-responsive registry entry has last_run: 2026-04-24T15:08:00Z (6/6 pass). The e2e/responsive.spec.ts file exists.

Cannot run Playwright in this session — no live server spawned and no CI environment. The last verified run is 26 days old. Visual spec e2e/visual.spec.ts + e2e/visual-mobile.spec.ts exist with snapshot directories.

Recommendation: Run BASE_URL=https://illustratetheword.com npx playwright test --project=desktop --project=tablet --project=mobile e2e/responsive.spec.ts and stamp itw-responsive.last_run. This will produce the viewport-pass evidence needed to upgrade this dimension.

Score: Last verified 2026-04-24 6/6 pass; not verified this run → WARN


Dim 3 — Knowledge / Source-of-Truth Accuracy

  • pnpm derive --check for ITW-specific target: sermon-illustrations/src/app/pricing/layout.tsx2 pass, 0 fail, 0 warn
  • validate_product_knowledge()0 CRITICAL (157 WARNINGs all "bulk update detected" — pre-existing portfolio-wide, not ITW-specific inaccuracies)
  • Live pricing page: $9.95 and $99.50 confirmed in HTML ✅
  • dir_illustrations count: 50,739 (real); website says "50,000+" (correct); product_knowledge rows say "53,000+" (stale — see P2-1)
  • Help page account deletion FAQ: correctly references /profile page self-service delete ✅ (fix applied in PR #34)
  • Help page URL (/help) returns HTTP 200 ✅

Score: PASS (0 CRITICAL; ITW derive target clean; live copy accurate)


Dim 4 — Onboarding / Billing / Gating

  • billing.critical_path_gate: false — no CI gate required
  • commands.billing: null — no automated billing validator declared
  • itw-premium-checkout registry entry: last_run: 2026-04-28, last_break: null, founder_verified: 2026-04-28
  • e2e/checkout.spec.ts exists; e2e/content-gating.spec.ts exists
  • itw-content-gating registry entry: last_run: 2026-04-27, last_break: null
  • Live pricing page: $9.95/mo and $99.50/yr prices match knowledge/data/pricing.yaml canonical values ✅
  • /api/stripe/checkout endpoint: HTTP 401 (auth required — correct, not broken) ✅
  • Profile redirect https://illustratetheword.com/profile → 307 (auth redirect for unauthenticated user — correct) ✅
  • Active user_subscriptions in DB: 0 (no paying ITW customers currently, only demo/test)
  • No current-month Stripe E2E validation artifact → gap

Score: WARN (billing logic last verified 2026-04-28; no fresh artifact)


Dim 5 — User Docs

  • https://illustratetheword.com/help → HTTP 200
  • canonical_source: knowledge/products/itw-premium/help.md → non-null ✅
  • Coverage declared: how_to_search: full, how_to_upgrade: full
  • Account-deletion FAQ live text: "Go to your Profile page... scroll to the 'Delete Account' section. Type DELETE to confirm" — correctly references self-service /profile route (PR #34 fix is live) ✅
  • No broken FAQ entries found in HTML scan

Score: PASS


Dim 6 — Drift & Issues

  • founder_action_items open P0/P1: 0
  • ops_errors P0/P1 unresolved (last 7d): 0
  • moderation_violations (last 7d): 72 total — ALL from church_id = 00000000-0000-4000-a000-000000000001 (churchwiseai-demo test church). These are QA/safety-probe events, not real user incidents. No real-user violations. ✅
  • Known issues from config: FA-029 (41 AI illustrations flagged for moderation, 2026-04-06) and FA-030 (Progressive Christianity illustration editorial review) are pre-existing, tracked, and not in the founder_action_items table as open P0/P1.
  • commands.drift: null — no API drift script declared for ITW (ITW has no api-catalog.md). Gap noted but not a hard failure.
  • ESLint: exit 0 (0 errors, 0 warnings) ✅ — confirmed this run after PR #34

Score: PASS


Dim 7 — Analytics

  • commands.analytics: null — no executable check declared
  • Readiness tab endpoint https://churchwiseai.com/api/founder/readiness/itw → HTTP 401 (token-gated — not verifiable without founder token)
  • user_subscriptions active count: 0 (no paying ITW customers)
  • No per-property ITW KPI widget could be verified without the founder token

This dimension is a structural gap — itw.yaml has no analytics command, and verification requires the founder token. The ReadinessTab is wired in churchwiseai-web but cannot be probed by a read-only audit agent.

Score: WARN / GAP (cannot verify without founder token; command not declared)


Dim 8 — Marketing Funnel

  • marketing_funnel.landing: /https://illustratetheword.com/ → HTTP 200
  • marketing_funnel.pricing: /pricinghttps://illustratetheword.com/pricing → HTTP 200
  • Pricing page contains $9.95 and $99.50 (matches billing.monthly_price_usd: 9.95 and annual_price_usd: 99.50) ✅
  • marketing_funnel.synthetic_funnel_test: sermon-illustrations/e2e/synthetic-funnel.spec.ts — file exists ✅, content verified (3 test cases: landing brand, pricing $9.95 + CTA, checkout endpoint reachability) ✅
  • itw-funnel-synthetic registry entry: last_run: null ❌ (spec authored 2026-04-22, NEVER run)
  • mailerlite_group: itw-subscribers — not verified this run (no command and no MailerLite API call declared)

Score: WARN (infrastructure present, prices correct, spec exists but never executed — P1-3)


Dim 9 — Agent Monitoring

  • ACTIVE_WORK.md reviewed — one active workstream: golive-readiness-program-2026-05-20 (this run). No ITW-specific resource claims except read-only.
  • No two workstreams list overlapping ITW production resources.
  • No stale ITW-specific workstreams (>24h without activity).
  • portfolio-audit-and-fix-2026-05-19 marked ✅ COMPLETE — not stale, correctly labeled.
  • Pre-2026-04-25 workstreams are all marked ✅ RELEASED — correct.
  • No resource conflict with this audit run.

Score: PASS


  • Build: pnpm build exit 0 (ITW build clean, confirmed this run)
  • Lint: pnpm lint exit 0 (confirmed this run — 0 errors, 0 warnings)
  • Live URLs: HTTP 200 on /, /pricing, /help, /signup, /sitemap.xml, /robots.txt
  • Pricing accuracy: $9.95/mo and $99.50/yr confirmed in pricing page HTML
  • Database: validate_product_knowledge() 0 CRITICAL (via Supabase MCP)
  • Database: founder_action_items 0 open P0/P1 (via Supabase MCP)
  • Database: ops_errors 0 P0/P1 unresolved last 7d (via Supabase MCP)
  • Database: moderation_violations last 7d = 72 (all demo church QA events)
  • Database: dir_illustrations count = 50,739 (confirms "50,000+" copy is accurate)
  • Registry: itw-premium-checkout last_run 2026-04-28 green; itw-content-gating last_run 2026-04-27 green
  • Registry: itw-responsive last_run 2026-04-24 6/6 pass (26 days ago)
  • Registry: itw-smoke last_run null (never run) — P1-1
  • Registry: itw-signup last_run null, spec incomplete — P1-2
  • Registry: itw-funnel-synthetic last_run null (spec exists, never run) — P1-3
  • Acceptance spec: knowledge/acceptance/itw-premium.md status COMPLETE, last-verified 2026-04-27
  • ACTIVE_WORK.md: no resource conflicts

Registry last_run stamp recommendations

These are RECOMMENDATIONS only — self-healing writes are gated on actual test execution, which requires a live environment this session cannot provide.

Registry EntryCurrent last_runRecommended action
itw-smokenullRun e2e/smoke.spec.ts against https://illustratetheword.com and stamp
itw-signupnullAuthor targeted signup flow in e2e/auth.spec.ts then run + stamp
itw-responsive2026-04-24 (26d ago)Re-run e2e/responsive.spec.ts against production and refresh stamp
itw-funnel-syntheticnullRun e2e/synthetic-funnel.spec.ts against production and stamp
itw-premium-checkout2026-04-28 (22d ago)Re-run e2e/checkout.spec.ts against production and refresh stamp