Closed
Conversation
- Add lesson_stage_type enum (learn, read, practice, review, assess) - Create lesson_stages table for configuring stage progression - Create user_lesson_stage_progress table for tracking user progress - Add RLS policies for stage access control - Add helper functions: calculate_lesson_progress, get_next_stage - Add TypeScript types for stages and progress data - Add lib/stages utilities for stage management Part of Epic #199 - Lesson Stage System 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
#202, #203) Components: - LessonStageViewer: Main container with stage navigation and progress tracking - StageProgressBar: Visual progress indicator with stage dots - StageProgressIndicator: Minimal progress bar for headers - Stage content components: Learn, Read, Practice, Review, Assess Features: - Sequential stage progression with completion tracking - "Pick N of M" exercise selection for Practice stage - Time-based completion criteria for Learn stage - Word click tracking for Read stage - Score-based assessment with retry option Tests: - 20 unit tests for checkStageCompletion function - All stage completion logic tested for each stage type Config: - Added coverage thresholds to vitest.config.ts (ratchet to prevent regression) - Fixed duplicate test script in package.json Part of Epic #199 - Lesson Stage System 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7 tasks
…#223) - Add ViewModeToggle component with classic/hub/stages modes - Integrate LessonStageViewer into LessonViewer for stages mode - Create backfill migration for existing lessons - Fetch and pass lesson stages to LessonViewer - Update hub index to export ViewModeToggle Part of Epic #220 - Stage System Integration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Owner
Author
Integration UpdateAdded stage system integration with the following changes: New Components
Modified Components
Database Migrations
Integration PlanThe following child issues track the work:
Testing Status
Next Steps
🤖 Generated with Claude Code |
Renamed migrations with numeric prefixes to ensure correct ordering: - 20260107_01_lesson_stage_system.sql (schema first) - 20260107_02_backfill_lesson_stages.sql (backfill second) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tests for the 5-stage lesson progression system: - View Mode Toggle: 3-way toggle display and switching - Stages View: Stage progression UI rendering - Learn Stage: Time-based progress tracking - Stage Navigation: Previous/Next button functionality - Progress Persistence: Stage progress indicator display All 7 tests passing: - should display 3-way view toggle in lesson header - should switch between Classic and Hub views - should display stage progression UI when Stages view is selected - should show time-based progress in Learn stage - should navigate between stages using Previous/Next buttons - should show stage progress indicator in header 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Owner
Author
E2E Tests AddedAdded comprehensive Playwright E2E tests for the lesson stage system. Test Results: ✅ All 7 tests passingTests Cover:
File Location
🤖 Generated with Claude Code |
- Add ProgressRing SVG component with smooth fill animation
- Position ring in top-right corner, out of content flow
- Show percentage in center, checkmark when complete
- Display elapsed time and target below ring
- Update button text to show countdown ("27s remaining...")
- Update E2E test selectors to match new UI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…viewer - Add breadcrumb navigation: Course > Lesson > Current Stage - Integrate shimmer/gradient effects matching existing design system - Add gradient accent line at header top - Enhanced visual styling for lesson context and stage header - Update E2E tests to match new header format (numbered circle + label) - Add full stage completion flow E2E test with tutorial overlay handling - Fix test selectors for new stage UI patterns 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6 tasks
## Schema (graph-ready architecture) - Enhanced `grammar_concepts` with language, slug, hierarchy, source_refs - New `lexicon_entries` for language-agnostic vocabulary - New `text_sources` for manuscripts/corpora (sagas, codexes, grammars) - New `text_occurrences` for specific text passages with glossing - Edge tables: `grammar_relationships`, `grammar_lexicon_links`, `lexicon_occurrences` - Helper functions: `get_grammar_tree()`, `get_related_concepts()` ## UI - `/grammar` index page with language tabs (Latin 🏛️, Old Norse ⚔️, Gothic 📜) - `/grammar/[slug]` detail page with breadcrumbs, examples, related concepts - Category filters (morphology, syntax, phonology) - Search functionality - CEFR difficulty badges ## Seed Content ### Latin (from Allen & Greenough, EIEOL) - 6 cases with full paradigms and examples - 3 declensions (1st, 2nd, 3rd) - 2 conjugations (1st, 2nd) ### Gothic (from Wright's Grammar, EIEOL) - Alphabet with Wulfila's script - Noun declension classes (strong/weak) - Verb classes (strong ablaut, weak dental) ### Old Norse (from EIEOL) - Umlaut (i-umlaut, u-umlaut) with sound change tables - Noun declensions with paradigms - Verb classes - Vǫluspá stanza 1 with full grammatical analysis ## Architecture Notes - Designed for future graph DB migration (Memgraph) - Source references tracked for all content - Leipzig glossing format for morphological analysis - Cross-language relationships for comparative linguistics 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Owner
Author
|
Closing - stages code was already merged to staging via PR #233 (squash merge included all stage components). No action needed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the lesson stage system (Epic #199) with full integration.
Core Features
Database Changes
lesson_stage_typeenum with 5 stageslesson_stagestable for stage configurationuser_lesson_stage_progresstable for tracking progressComponents Added
LessonStageViewer- Main stage progression containerStageProgressBar- Visual progress indicator with clickable stagesViewModeToggle- 3-way toggle (Classic/Hub/Stages)LearnStageContent- Time-based introductionReadStageContent- Interactive reading with word trackingPracticeStageContent- Pick N of M exercisesReviewStageContent- Flashcard review integrationAssessStageContent- Quiz with scoring and retryIntegration
LessonViewerfor 3 view modesTest Plan
Related Issues
🤖 Generated with Claude Code