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 errorsbun run lint— zero violationsbun run test— all passbun run migrations:check— index currentbun 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.mdcreated - 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_PREFIXconstant inpackages/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