Drop Legacy Database Tables (WI-1)

Context

Remove ~15 legacy tables with no active code references. Originally planned as migrations 0105-0107, but challenge format work took those numbers. Actual migrations: 0111-0113.

Challenges

Challenge 1.1: Page Tracking Tables Dropped

Requirement: Migration removes page tracking tables. Acceptance Criteria:

  • supabase/migrations/0111_drop_page_tracking_tables.sql exists
  • Drops: url_renders, video_renders, section_content_snapshots, page_diff_settings, user_folders, user_folder_pages, page_read_states, saved_items Evaluation: PASS

Challenge 1.2: Brand Auxiliary Tables Dropped

Requirement: Migration removes brand auxiliary tables. Acceptance Criteria:

  • supabase/migrations/0112_drop_brand_auxiliary_tables.sql exists
  • Drops: brand_category_proposals, brand_review_queue, brand_sources, seeding_pages Evaluation: PASS

Challenge 1.3: Misc Legacy Tables Dropped

Requirement: Migration removes remaining legacy tables. Acceptance Criteria:

  • supabase/migrations/0113_drop_misc_legacy.sql exists
  • Drops: correlation_groups, correlation_group_members, app_content Evaluation: PASS

Challenge 1.4: Drizzle Schema Cleanup

Requirement: Drizzle schema no longer defines dropped tables. Acceptance Criteria:

  • 16 table definitions removed from packages/db/src/drizzle/schema.ts
  • 11 relation blocks removed
  • 13 query functions removed from fact-engine-queries.ts
  • 5 orphaned enums removed
  • Migrations index regenerated Evaluation: PASS

Evaluation Summary

ChallengeResult
1.1 Page Tracking DropPASS
1.2 Brand Auxiliary DropPASS
1.3 Misc Legacy DropPASS
1.4 Drizzle CleanupPASS

Score: 4/4 PASS