Skip to main content

Go-Live Readiness — IllustrateTheWord — 2026-04-22T23:30:00Z (v3)

v3 rerun — Three knowledge PRs merged since v2: knowledge#24 (itw-signup registry entry), knowledge#25 (itw.yaml MailerLite group → itw-subscribers), knowledge#28 (itw.yaml help_surface.canonical_source → knowledge/products/itw-premium/help.md). Re-scored under same v2 rubric (last_run:null = INDETERMINATE/0.5 credit).

Arithmetic correction: v2 Product Health "87.5%" was a math error — 0.75+0.5+0.5+0.75=2.5/4=62.5%. v3 carries the corrected baseline forward.


Summary

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

Overall status: NEEDS WORK — 0 P0, 3 P1, 1 P2 open (No P0. Product Health < 80% — three indeterminate dims drag the score. Ops rose from 55% → 80%.)


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

#DimensionStateEvidence
1User journeys⚠ warnAcceptance spec exists + founder verified live. itw-signup registry gap CLOSED (knowledge#24). One remaining P1: acceptance spec last-verified 2026-03-28 (25d stale) + FavoriteButton/AddToCollectionButton gating bugs unverified.
2Viewports⚠ indeterminatee2e/responsive.spec.ts present; Playwright sandbox not run this session. last_run: null.
4Onboarding / billing⚠ indeterminateStripe live prices active. itw-premium-checkout spec present, last_run: null. No green run recorded.
8Marketing funnel⚠ warn/ → 200, /pricing → 200, $9.95 confirmed on page. MailerLite group mismatch FIXED (knowledge#25 — itw-subscribers aligned). synthetic_funnel_test: null persists.

Product Health subtotal: 2.5 / 4 = 62.5%

  • Dim 1: warn = 0.75 (itw-signup gap closed; acceptance spec staleness remains)
  • Dim 2: indeterminate = 0.5 (spec present; not run)
  • Dim 4: indeterminate = 0.5 (Stripe prices live; checkout spec not run)
  • Dim 8: warn = 0.75 (pages live + price correct + MailerLite fixed; no synthetic funnel test)

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

#DimensionStateEvidence
3Knowledge / SOT accuracy⚠ indeterminatepnpm derive --check not run this session. ITW routes through itw-newsletter tag in email_subscribers; no direct product_knowledge entries. Supabase MCP not authenticated for validate check.
5User docs✅ pass/help → 200. canonical_source: knowledge/products/itw-premium/help.md set (knowledge#28). File exists, last-verified: 2026-04-22, coverage how_to_search: full + how_to_upgrade: full. Full billing, account, and content Q&A present.
6Drift & issues✅ passFA-029 (41 flagged illustrations) + FA-030 (Progressive Christianity) both P2 editorial items. No open ITW-specific P0/P1 founder actions beyond punch list below.
7Analytics / founder dashboard⚠ indeterminateReadinessTab.tsx exists. /api/founder/readiness/itw returns 401 (auth-gated, expected). Dashboard present but ITW KPI widget rendering unverified without auth token.
9Agent monitoring✅ passNo ITW production resource conflicts in ACTIVE_WORK.md. All active workstreams are CWA-only.

Ops Instrumentation subtotal: 4.0 / 5 = 80%

  • Dim 3: indeterminate = 0.5
  • Dim 5: pass = 1.0 ← upgraded from warn (0.75) in v2
  • Dim 6: pass = 1.0
  • Dim 7: indeterminate = 0.5
  • Dim 9: pass = 1.0

Punch List (ordered by severity)

P1

P1-1 (Dim 4): itw-premium-checkout never run green — last_run: null e2e/checkout.spec.ts exists. Stripe prices are live and active ($9.95/mo price_1T99TPFaoK5IPzNoCqX8hEik). With real paying subscribers, a checkout regression would silently block new signups.

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

P1-2 (Dim 8): synthetic_funnel_test: null — no automated funnel assertion No spec asserts the /pricing?checkout=monthly auto-trigger, Premium card pulse, or that the Subscribe CTA routes to a valid Stripe session URL.

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

P1-3 (Dim 1): Acceptance spec 25 days stale + two gating bugs unverified knowledge/acceptance/itw-premium.md last-verified: 2026-03-28. Two GATING NOTE — CODE FIX REQUIRED touchpoints: FavoriteButton must prompt upgrade for free users; AddToCollectionButton must be Premium-only. Neither verified since spec draft.

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

P2

P2-1 (Dim 6): 41 AI-generated illustrations flagged for moderation (FA-029) + 1 editorial review (FA-030) Open P2 editorial items. Not product-blocking. Needs founder review to approve/edit/remove.


Self-healed this run

None. Read-only scorecard run per the no-writes constraint.


Resolved since v2 (3 P1s closed)

WasFixPR
P1-1 (v2): itw-signup registry entry missingAdded itw-signup entry to registry.yaml pointing to e2e/auth.spec.tsknowledge#24
P1-3 (v2): help_surface.canonical_source: nullCreated knowledge/products/itw-premium/help.md + set canonical_source in itw.yamlknowledge#28
P1-4 (v2): MailerLite group mismatch (itw-leads vs itw-subscribers)Updated itw.yaml mailerlite_group: itw-subscribers; comment explains proxy chainknowledge#25

Indeterminate dimensions (what we couldn't check)

  • Dim 2 (Viewports): e2e/responsive.spec.ts present and covers desktop/tablet/mobile. Playwright sandbox not invoked — last_run: null. Graded indeterminate (0.5). No known viewport regressions.

  • Dim 3 (Knowledge accuracy): Supabase MCP not authenticated. pnpm derive --check and validate_product_knowledge() not run. ITW uses itw-newsletter tag in email_subscribers, not product_knowledge table directly.

  • Dim 4 (Billing): Stripe live prices confirmed ACTIVE (price_1T99TPFaoK5IPzNoCqX8hEik monthly, price_1T99U5FaoK5IPzNobdKJhCyJ annual). e2e/checkout.spec.ts present but last_run: null. Graded indeterminate (0.5).

  • Dim 7 (Analytics): ReadinessTab.tsx exists. /api/founder/readiness/itw auth-gated (returns 401 as expected). Cannot verify ITW KPI widget rendering without founder token.


What would push Product Health to 100%

All four Product Health dims currently below 1.0 credit need one thing each:

  1. Dim 1 → 1.0: Add founder_verified: 2026-04-22 to itw-premium-checkout and itw-smoke registry entries AND update knowledge/acceptance/itw-premium.md last-verified: 2026-04-22. Requires running e2e/content-gating.spec.ts + e2e/crud-favorites.spec.ts against production and verifying gating prompts fire.
  2. Dim 2 → 1.0: Run npx playwright test --project=desktop,tablet,mobile against https://illustratetheword.com and stamp last_run for itw-smoke + itw-content-gating.
  3. Dim 4 → 1.0: Run e2e/checkout.spec.ts against production in Stripe test mode. Stamp last_run on itw-premium-checkout. Ideally set critical_path: true.
  4. Dim 8 → 1.0: Write and run a synthetic funnel test (extend e2e/checkout.spec.ts). Set synthetic_funnel_test: field in itw.yaml. Add founder_verified: 2026-04-22 signal.

A single focused Playwright session against production (dims 1+2+3+4 are all e2e/*.spec.ts runs) would flip all four indeterminate/warn dims to pass → Product Health 100%.


  • Landing page: curl -sI https://illustratetheword.com/ → 200 ✅
  • Pricing page: curl -sI https://illustratetheword.com/pricing → 200 ✅
  • Help page: curl -sI https://illustratetheword.com/help → 200 ✅
  • Canonical help KB: knowledge/products/itw-premium/help.md — last-verified 2026-04-22, full coverage ✅
  • itw.yaml help_surface.canonical_source: knowledge/products/itw-premium/help.md
  • itw.yaml mailerlite_group: itw-subscribers (aligned 2026-04-22) ✅
  • Registry: itw-signup entry present at line 783 of registry.yaml ✅
  • Registry: itw-smoke, itw-premium-checkout, itw-content-gating — specs on disk, last_run: null
  • Stripe prices: live mode price_1T99TPFaoK5IPzNoCqX8hEik (monthly $9.95) + price_1T99U5FaoK5IPzNobdKJhCyJ (annual) — confirmed ACTIVE in v2 ✅
  • Acceptance spec: knowledge/acceptance/itw-premium.md — COMPLETE, last-verified 2026-03-28 (25d stale) ⚠
  • Founder attestation: ITW confirmed serving customers 2026-04-22 ✅
  • 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 ✅

Delta vs v2 (itw-20260422-v2.md)

Metricv2v3Delta
Product Health %62.5% (v2 reported 87.5% but math was wrong; corrected here)62.5%0pp (rubric-corrected baseline; no new dims changed)
Ops Instrumentation %55%80%+25pp
Overall statusNEEDS WORKNEEDS WORKno change
P0 count00
P1 count63-3
P2 count11
Dim 5 (Docs)warn (0.75)pass (1.0)upgraded
Dim 1 (Journeys)warn (0.75) — 2 gapswarn (0.75) — 1 gapP1-1 closed
Dim 8 (Marketing)warn (0.75) — 2 P1swarn (0.75) — 1 P1P1-4 closed