# ARC Database & Interface TODO ## 🔄 In Progress ### Feedback and Resquests #### Skills - [] Add Skills Editing Module ### Retool Interface - [x] Add puzzle filtering by: - [x] By skill - [ ] Corpora (V1, V2, ConceptARC) - [ ] Category/Set - [ ] Difficulty ### DB - [ ] Arc Puzzles: Incorporate Indexes along id for easier identification - [ ] Update the Puzzle Assignment with Eric's data. ## 📋 Backlog ### Documentation - [ ] Document API/database schema ## ✅ Completed ### ConceptARC Corpus - [x] Add ConceptARC corpus to repository - [x] Upload ConceptARC to database (160 puzzles, 16 categories) - [x] Categorize puzzles in DB (stored in `set` column) - [x] Fix solution extraction for multiple test cases (array of solutions) - [x] Remove duplicate entries from arc_puzzles table (260 duplicates cleaned) - [x] Verify solution formats across all corpora ### Database #### Fixes - [x] Corpora Mixup (V1 vs V2) - [x] Make id the index #### Views & Queries - [x] Create database view with skills/concepts mapping - [x] Map ConceptARC categories to skill types - [x] Duplicate entry protection for User-Tag-Problem - [x] Rating + Comment entry - [x] Skills Entry - [x] Background Entry - [x] Frame Entry #### Data Quality - [x] Verify all V1/V2 puzzles have solutions - [x] Validate JSON integrity across all puzzles #### Schema Updates - [x] Add created_at timestamps to relevant tables - [x] Create N-to-N tags table structure - [x] Create tags table - [x] Create arc_puzzle_tags junction table ### Retool Interface #### Core Features - [x] Update puzzle renderer to handle ConceptARC multiple solutions - [x] Show all 3 test outputs for ConceptARC - [x] Remove header frame, consolidate to single-frame interface #### User Features - [x] Implement user input system - [x] Design input capture mechanism - [x] Store user solutions in database - [x] Create puzzle assignment system - [x] Add assignment toggle in interface - [x] Assign puzzles to specific users - [x] Track completion status ### Tag System - [x] Design tag taxonomy - [x] Define tag types (concept, difficulty, skill, etc.) - [x] Implement tag database schema - [x] Create tags table - [x] Create puzzle_tags junction table - [x] Add tag management endpoints - [x] Build tag UI in Retool - [x] Tag creation/editing interface - [x] Bulk tagging functionality - [ ] Tag-based search/filtering - [x] Test skill selection with many items (search function?) - [x] Populate initial tags ### Administration - [x] Publish Retool app to production