Eko v2 Rollout Progress

User Instructions

Preferences

  • Bun exclusively — never npm/yarn/pnpm
  • Commit completed wave work before starting next wave
  • Run verification checklist between waves

Blockers to Address

  • Uncommitted changes from Wave 2 work (WI-3, WI-11) need to be committed first

Skip/Defer

  • Post-launch polish (animations, streaming reveal, focus mode, visual muting)
  • Future roadmap items (math problems, endurance tests, learning modules)

Priority Overrides

  • WI-7 (account simplify) is lowest effort — good warm-up task
  • WI-5 and WI-6 are independent and can run in parallel

Quality Reference

  • Target Grade: A+ (97+)
  • Key Metrics:
    • bun run typecheck — zero errors
    • bun run lint — zero violations
    • bun run test — all pass
    • bun run migrations:check — index current
    • bun run build — all apps build

Phase Transition Checklists

PHASE 1 -> PHASE 2

  • All wave challenges PASS
  • No blockers
  • Quality tier verified
  • Uncommitted work from Waves 1-2 committed

PHASE 2 -> PHASE 3

  • All docs updated
  • Cross-refs verified
  • Changelog updated for all waves

Pre-Wave: Challenge Tone Specification

00-challenge-tone.md

  • Create challenge document
  • Evaluate challenges
  • Implement — docs/marketing/CHALLENGE_TONE.md created
  • Re-evaluate until PASS

Wave 1: Foundation Cleanup + Pipeline Activation

01-legacy-table-drop.md

  • Create challenge document
  • Evaluate challenges
  • Implement — migrations 0111-0113, schema cleanup
  • Re-evaluate until PASS

02-newsapi-tone-expiry.md

  • Create challenge document
  • Evaluate challenges
  • Implement — CHALLENGE_TONE_PREFIX, 30-day expiry, promoteHighEngagementFacts
  • Re-evaluate until PASS

03-tests-sanitization.md

  • Create challenge document
  • Evaluate challenges
  • Implement — 10 test files (~80 tests), sanitize.ts, XSS vector tests
  • Re-evaluate until PASS

Wave 2: Spaced Repetition + UI Polish

04-spaced-rep-feed-blend.md

  • Create challenge document
  • Evaluate challenges
  • Implement — spaced-repetition.ts, /api/review, blended feed, interaction badges
  • Re-evaluate until PASS

04b-card-detail-polish.md

  • Create challenge document
  • Evaluate challenges
  • Implement — hero image, verification badge, hover zoom, structured footer
  • Re-evaluate until PASS

Wave 2.5: Enrichment & Optimization (Retroactive)

These waves were completed between Wave 2 and Wave 3 but were not tracked at the time. Added retroactively for rollout completeness.

09-enrichment-pipeline.md

  • Create challenge document (retroactive)
  • Evaluate challenges — 5/5 PASS
  • Implement — enrichment orchestrator (13 API clients), challenge content generation (8 formats x 6+ styles), challenge image pipeline, drift coordinators (7 validators), ~95 subcategory activations
  • Re-evaluate until PASS

10-model-optimization.md

  • Create challenge document (retroactive)
  • Evaluate challenges — 5/5 PASS
  • Implement — Gemini-3-flash default, STYLE_RULES dedup (63% reduction), DeepSeek v4 adapter, post-gen patching (36 passive voice + 21 reveal patterns), cost tracking
  • Re-evaluate until PASS

Wave 3: Marketing, Admin & Polish

05-marketing-site.md (LOCKED)

  • Create challenge document
  • Evaluate challenges — 8/8 PASS (including quality)
  • Implement — 13 commits: trial migration, Stripe CC checkout, public site pages, subscription card injection, code review fixes
  • Re-evaluate until PASS

06-admin-dashboard.md <- CURRENT

  • Create challenge document
  • Evaluate challenges — 0/10 FAIL (expanded from 8 to 10: added 6.9 Enrichment Monitor, 6.10 Taxonomy Management)
  • Implement
  • Re-evaluate until PASS

07-account-simplify.md

  • Create challenge document
  • Evaluate challenges — 3/3 PASS
  • Implement — deleted notifications/profile pages, added account layout with nav, merged profile fields into account page
  • Re-evaluate until PASS

Wave 4: Integration Testing

08-e2e-smoke-test.md

  • Create challenge document
  • Evaluate challenges — 0/7 PENDING (expanded from 6 to 7: added 8.7 Challenge Content Pipeline)
  • Implement
  • Re-evaluate until PASS
  • Note: Playwright infrastructure already exists (apps/web/playwright.config.ts, 3 specs: login.spec.ts, button-audit.spec.ts, site-audit.spec.ts)

Blocked


Completed

00-challenge-tone.md (2026-02-16)

  • Grade: PASS
  • Deliverables: docs/marketing/CHALLENGE_TONE.md, CHALLENGE_TONE_PREFIX constant in packages/ai/src/fact-engine.ts

01-legacy-table-drop.md (2026-02-16)

  • Grade: PASS
  • Deliverables: Migrations 0111-0113, Drizzle schema cleanup (-16 tables, -11 relations, -13 queries, -5 enums)

02-newsapi-tone-expiry.md (2026-02-16)

  • Grade: PASS
  • Deliverables: Challenge tone in AI prompts, 30-day expiry policy, high-engagement promotion query, archive-content cron update

03-tests-sanitization.md (2026-02-16)

  • Grade: PASS
  • Deliverables: 10 test files, ~80 tests across 6 packages, sanitize.ts + sanitize.test.ts

04-spaced-rep-feed-blend.md (2026-02-16)

  • Grade: PASS
  • Deliverables: spaced-repetition.ts, /api/review/route.ts, blended feed algorithm (40/30/20/10), interaction indicator badges

04b-card-detail-polish.md (2026-02-16)

  • Grade: PASS
  • Deliverables: Hero image, verification date badge, hover zoom, difficulty badge, structured footer, loading skeleton update

05-marketing-site.md (2026-02-28)

  • Grade: PASS
  • Deliverables: Public site pages (about, pricing, features, faq, blog, changelog, docs, wiki, use-cases), 14-day trial migration, Stripe CC checkout, subscription card injection

09-enrichment-pipeline.md (2026-02-28, retroactive)

  • Grade: PASS
  • Deliverables: Enrichment orchestrator (13 API clients), challenge content generation (8 formats x 6+ styles), challenge image anti-spoiler pipeline, 7 drift coordinators, ~95 subcategory activations with domain-specific schemas

10-model-optimization.md (2026-02-28, retroactive)

  • Grade: PASS
  • Deliverables: Gemini-3-flash default routing, STYLE_RULES dedup (63% token reduction), DeepSeek v4 adapter, post-generation patching (36 passive voice + 21 reveal patterns), per-model cost tracking with daily caps

Workflow Reference

Commands

@docs/projects/eko-v2-rollout/TODO.md What's the current task?
@docs/projects/eko-v2-rollout/TODO.md Resume from where we left off
@docs/projects/eko-v2-rollout/TODO.md Mark [challenge] complete
@docs/projects/eko-v2-rollout/TODO.md Ready for Phase 2?
@docs/projects/eko-v2-rollout/TODO.md Block on [reason]

Verification (run between waves)

bun run typecheck
bun run lint
bun run test
bun run migrations:check
bun run build