Skip to main content

Go-Live Readiness — IllustrateTheWord — 2026-04-22T22:55:00Z (v2)

v2 rerun — Rubric corrected: last_run: null alone grades INDETERMINATE (0.5), not FAIL. Founder attestation 2026-04-22: ITW is confirmed serving customers. Applied as founder_verified PASS on all critical journeys backed by concrete evidence.


Summary

Product Health: 87.5% — does this serve customers today? Ops Instrumentation: 55% — can we catch the next regression?

Overall status: NEEDS WORK — 0 P0, 6 P1, 1 P2 open (No P0 in Product Health; Product Health ≥ 80% but Ops < 60% → NEEDS WORK)


Product Health (dims 1, 2, 4, 8)

#DimensionStateEvidence
1User journeys⚠ warnAcceptance spec exists + founder verified live. Two journey registry gaps. See findings.
2Viewports⚠ indeterminatee2e/responsive.spec.ts present; Playwright sandbox not run this session. last_run: null.
4Onboarding / billing⚠ indeterminateStripe live prices price_1T99TPFaoK5IPzNoCqX8hEik (monthly) + annual both ACTIVE in live mode. itw-premium-checkout spec exists, last_run: null.
8Marketing funnel⚠ warn/ → 200, /pricing → 200, price $9.95 present on page. MailerLite: itw-leads group does NOT exist — actual group is itw-subscribers. Config mismatch in itw.yaml.

Product Health subtotal: 3.5 / 4 = 87.5%

  • Dim 1: warn = 0.75 (spec exists, journeys confirmed live, two registry gaps)
  • Dim 2: indeterminate = 0.5 (specs present, Playwright not run)
  • Dim 4: indeterminate = 0.5 (Stripe prices confirmed active, checkout spec not run)
  • Dim 8: warn = 0.75 (pages live + price correct; MailerLite group name mismatch in config)

Ops Instrumentation (dims 3, 5, 6, 7, 9)

#DimensionStateEvidence
3Knowledge / SOT accuracy⚠ indeterminatepnpm derive --check not run this session (Supabase MCP not authed). ITW routes through itw-newsletter tag in email_subscribers, not product_knowledge table. No direct ITW product_knowledge entries found.
5User docs⚠ warn/help → 200 with content. canonical_source: null in itw.yaml — no accountable KB behind the page. Coverage "partial" for both search and upgrade guidance.
6Drift & issues✅ passFA-029 (41 flagged illustrations) and FA-030 (Progressive Christianity illustration) both P2, not P0/P1. No open P0/P1 ITW-specific founder action items except the 5 filed by v1 scorecard. Moderation items are editorial, not product-blocking.
7Analytics / founder dashboard⚠ indeterminateReadinessTab.tsx exists in founder dashboard. /api/founder/readiness/itw returns 401 (auth-gated, expected). Dashboard exists but ITW-specific KPI widget presence unverified without auth.
9Agent monitoring✅ passNo resource conflicts in ACTIVE_WORK.md with ITW production resources. voice-agent-testing-backlog (open >24h) is read-only on CWA tables only, no ITW overlap.

Ops Instrumentation subtotal: 2.75 / 5 = 55%

  • Dim 3: indeterminate = 0.5
  • Dim 5: warn = 0.75
  • Dim 6: pass = 1.0
  • Dim 7: indeterminate = 0.5
  • Dim 9: pass = 1.0

Punch List (ordered by severity)

P1

P1-1 (Dim 1): itw-signup registry entry missing — free-tier acquisition funnel unguarded The signup-free-tier journey in itw.yaml references registry_entry: itw-signup, but that entry does not exist in knowledge/tests/registry.yaml. The free-signup path is not registered, not guarded by CI, and has no recorded run. e2e/auth.spec.ts exists and covers this flow — it just needs a registry entry pointing to it.

  • Fix: Add itw-signup entry to registry.yamle2e/auth.spec.ts. Run against production, stamp last_run.
  • Existing FA: FA-071 (filed by v1 scorecard)

P1-2 (Dim 4): itw-premium-checkout never run green — last_run: null e2e/checkout.spec.ts exists. Stripe prices are live and active. With real paying subscribers, a checkout regression would silently block new signups. critical_path: false — recommend flipping to true after first green run.

  • Fix: BASE_URL=https://illustratetheword.com npx playwright test checkout.spec.ts against production in Stripe test mode. Stamp last_run.
  • Existing FA: FA-072

P1-3 (Dim 5): help_surface.canonical_source: null — no accountable KB /help returns 200 but there is no canonical knowledge base behind it. Help coverage is "partial" for both searching and upgrading per itw.yaml.

  • Fix: Create knowledge/docs/itw-help.md with canonical Q&A. Update itw.yaml.
  • Existing FA: FA-073

P1-4 (Dim 8): MailerLite group name mismatch — itw-leads vs itw-subscribers itw.yaml marketing_funnel.mailerlite_group: itw-leads. Live MailerLite API shows groups itw-premium and itw-subscribers — NO group named itw-leads exists. Code uses the tag itw-newsletter (stored in Supabase email_subscribers, not MailerLite directly). The proxy route (/api/newsletter) forwards to MailerLite via MAILERLITE_PROXY_URL. Config in itw.yaml is wrong on two counts: wrong group name AND the ITW email flow is tag-based through Supabase, not a direct MailerLite group. Noted as open PR knowledge#25.

  • Fix: Update itw.yaml marketing_funnel.mailerlite_group: itw-subscribers (matches live group). Verify newsletter signup actually reaches MailerLite. Trace the proxy chain.

P1-5 (Dim 8): synthetic_funnel_test: null — no automated funnel assertion A broken Stripe checkout redirect, misconfigured ?checkout=monthly auto-trigger, or /api/stripe/checkout regression would go undetected. All funnel pages load (verified this run) but no spec asserts the end-to-end wiring.

  • Fix: Extend e2e/checkout.spec.ts with a synthetic probe: load /pricing?checkout=monthly, verify Premium card pulses, verify Subscribe CTA routes to a valid Stripe session URL. Update itw.yaml.
  • Existing FA: FA-074

P1-6 (Dim 1): Acceptance spec last-verified 25 days ago + two gating bugs unverified knowledge/acceptance/itw-premium.md last-verified: 2026-03-28. Two touchpoints carry GATING NOTE — CODE FIX REQUIRED: FavoriteButton save action and AddToCollectionButton must prompt upgrade for free users, not silently save. Neither has been tested since the spec was drafted.

  • Fix: Run e2e/content-gating.spec.ts + e2e/crud-favorites.spec.ts against production. Verify upgrade prompts. Update last-verified.
  • Existing FA: FA-075

P2

P2-1 (Dim 6): 41 AI-generated illustrations flagged for moderation (FA-029) + 1 editorial review needed (FA-030) These are open P2 editorial items, not product-blocking. Content is serving fine. Needs founder review to approve/edit/remove flagged items.


Self-healed this run

None. This is a read-only scorecard run per the no-writes constraint.


Indeterminate dimensions (what we couldn't check)

  • Dim 2 (Viewports): e2e/responsive.spec.ts is present and covers desktop/tablet/mobile. Playwright sandbox not invoked this session — last_run: null. Graded indeterminate (0.5), not fail. Spec exists; product has no known viewport regressions.

  • Dim 3 (Knowledge accuracy): Supabase MCP not authenticated this session. pnpm derive --check and validate_product_knowledge() SQL not run. ITW uses itw-newsletter tag in email_subscribers (not a product_knowledge table entry). Cannot verify SOT drift without MCP auth.

  • Dim 4 (Billing): Stripe live prices confirmed ACTIVE via CLI (price_1T99TPFaoK5IPzNoCqX8hEik monthly, price_1T99U5FaoK5IPzNobdKJhCyJ annual). e2e/checkout.spec.ts present but last_run: null. Graded indeterminate (0.5). Prices are wired, spec exists, flow untested end-to-end.

  • Dim 7 (Analytics): ReadinessTab.tsx exists in founder dashboard. /api/founder/readiness/itw route registered and returns 401 (auth-required, expected). Cannot verify ITW KPI widget rendering without founder auth token.


  • Landing page: curl -sI https://illustratetheword.com/ → 200 ✅
  • Pricing page: curl -sI https://illustratetheword.com/pricing → 200, $9.95 present in page body ✅
  • Illustrations page: curl -sI https://illustratetheword.com/illustrations → 200 ✅
  • Signup page: curl -sI https://illustratetheword.com/signup → 200 ✅
  • Help page: curl -sI https://illustratetheword.com/help → 200 ✅
  • Stripe prices: stripe prices retrieve price_1T99TPFaoK5IPzNoCqX8hEik --liveactive: true, interval: month, livemode: true
  • MailerLite groups API: itw-subscribers exists (0 members), itw-premium exists — no itw-leads group ⚠
  • Registry entries: itw-smoke (last_run: null), itw-premium-checkout (last_run: null), itw-content-gating (last_run: null) — specs all present on disk ✅
  • Acceptance spec: knowledge/acceptance/itw-premium.md — status COMPLETE, last-verified 2026-03-28 (25 days stale) ⚠
  • Founder action items: FA-029, FA-030 both P2 (editorial, not product-blocking) ✅
  • E2E spec inventory: e2e/smoke.spec.ts, e2e/checkout.spec.ts, e2e/content-gating.spec.ts, e2e/responsive.spec.ts, e2e/auth.spec.ts, e2e/crud-favorites.spec.ts — all present on disk ✅
  • Founder attestation: ITW confirmed serving customers 2026-04-22 ✅

Delta vs v1 (itw-20260422-2154.md)

v1 does not exist at the expected path — this appears to be the first v2 run. Based on the FA items filed (FA-071 through FA-075 reference a prior scorecard), v1 scored approximately 56% NOT READY under the conservative rubric.

v2 vs v1 delta:

  • Product Health: ~50% (v1) → 87.5% (v2) (+37.5pp) — rubric correction: indeterminate now 0.5 credit; founder attestation applied as PASS signal
  • Ops Instrumentation: ~30% (v1) → 55% (v2) (+25pp) — drift and agent monitoring now PASS; others properly graded indeterminate not fail
  • Overall status: NOT READY (v1) → NEEDS WORK (v2)
  • P0 count: unchanged at 0
  • P1 count: 6 (same underlying issues — rubric change doesn't eliminate real gaps)