-
Notifications
You must be signed in to change notification settings - Fork 0
Rhyan/8p3 55 end of chapter learning check #100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
- Removed Tavus conversation API route and related functionality - Added CVIProvider wrapper in root layout for video chat integration - Temporarily disabled AskQuestion component in chapter quiz UI - Updated video components with simplified structure: - Removed redundant displayName properties - Fixed initialization timing in Conversation component - Improved video preview and main video rendering The changes reflect a shift from
- Removed deprecated feature specification for Tavus AI video integration - Cleaned up specs directory by removing ask-question-tavus.md as the integration approach has changed - Documentation will be replaced with updated architecture using new video provider
- Added comprehensive .env configuration for Tavus learning check feature with detailed comments - Created technical documentation structure in specs/features/learning-check/ directory - Added detailed implementation guide for perception analysis, webhook setup, and data structures - Included webhook security best practices, payload examples, and error handling strategies - Updated environment variables to support persona-based AI instructor
- Condensed project-standards.md from 400+ lines to 80 lines while preserving core rules - Reorganized rules into 12 clear sections with focused guidance - Added new TESTING.md guide for learning check feature with setup instructions - Improved readability by removing redundant protocol details and using concise formatting - Updated Next.js 15 rules to emphasize server components and barrel export restrictions - Consolidated design system standards into clear
- Created new Alert component with default and destructive variants for displaying notifications - Added AlertTitle and AlertDescription subcomponents with styled layouts and typography - Implemented Empty component system for zero-state UI patterns with header, media, title, description, and content sections - Added responsive styling with Tailwind CSS for both components including grid layouts and spacing utilities - Included accessibility attributes like
- Added onQuizComplete callback to ChapterQuiz component to track quiz status and scores - Implemented quiz completion state management in ChapterContent using useState - Updated quiz UI layout by removing redundant title/description and adjusting card styling - Added LearningCheck component integration that gates content based on quiz completion - Reorganized imports for better code organization - Added mock data support for quiz completion
- Created endpoint to initialize AI-powered learning check conversations with chapter context - Added conversation termination endpoint for proper cleanup and cost management - Implemented robust error handling and validation for both APIs - Added structured context builder to guide AI instructor behavior with time limits and assessment focus - Set up logging for critical errors and successful termination events - Configured environment variable
- Implemented new LearningCheck component for chapter-end conversational assessments - Added 4-minute timed conversation with engagement tracking (2-minute threshold) - Created quiz-gated access system requiring 70% score to unlock assessment - Built camera/microphone preview with Tavus integration for video conversations - Added analytics logging for session events (start, end, completion, engagement) - Implemented session state management with
Code Quality: - Fix ESLint errors by prefixing unused parameters in ChapterQuiz - Reduces linting errors from 5 to 0 Documentation: - Add TAVUS_INDEX.md as central navigation hub for all Tavus docs - Archive historical documentation (HAIRCHECK_CONVERSATION_FIX, LEARNING_CHECK_BASE_ANALYSIS) - Add CLEANUP_2025-10-31.md summarizing all cleanup work - Improves documentation organization and discoverability Resolves all blocking linting errors. See docs/CLEANUP_2025-10-31.md for details.
- Add scripts for updating guardrails and objectives via API - Add config extraction script for dynamic sync - Add persona creation script - Add comprehensive scripts README with usage examples - Updates main scripts README with Tavus section Enables automated syncing of objectives and guardrails from config.ts to Tavus API. See scripts/TAVUS_SCRIPTS_README.md for usage.
Conversation Management: - Add conversation creation endpoint with time limits and objectives - Add conversation end endpoint (Next.js 15 async params compatible) - Enforce 3-minute time limit via max_call_duration property - Auto-inject objectives and guardrails from environment Resource Creation: - Add guardrails creation endpoint - Add objectives creation endpoint - Add persona update endpoint Configuration: - Use centralized Tavus config from lib/tavus - Type-safe environment variable helpers - Comprehensive error handling and logging Implements MVP backend for learning check feature with structured objectives tracking.
New Components: - Add LearningCheckBase component with proper hair check flow - Add LearningCheckReady component for pre-check UI - Refactor learning-check component with timer and conversation state Component Architecture: - LearningCheckBase: Main container handling screen states (ready → hairCheck → call) - LearningCheckReady: Pre-check UI with requirements and start button - LearningCheck: In-call UI with timer, engagement tracking, and conversation Integration: - Simplify chapter-content index to use LearningCheckBase - Remove quiz-gating logic (moved to component internals) - Cleaner props interface Implements complete learning check user flow with Tavus CVI integration.
New Specifications: - Add objective-completion-tracking.md spec for MVP implementation - Defines webhook integration for tracking objective completion - Documents data collection and scoring requirements Spec Updates: - Update learning-check-spec.md with formatting improvements - Update learning-check-implementation.md with latest architecture - Update TESTING.md with current test cases Provides complete PRD for objective completion tracking feature.
Conversation Component: - Add error state display for better user feedback - Improve error boundary handling useCVICall Hook: - Add comprehensive error handling for call failures - Improve state management during call lifecycle - Better logging for debugging call issues - Handle edge cases in call initialization Improves reliability and debuggability of Tavus CVI integration.
- Improve code formatting consistency (indentation, spacing) - Update JSDoc comments formatting - Maintain same configuration values and structure - No functional changes Makes config more readable and maintainable.
Type Safety: - Replace any[] with JsonPatchOperation type in update-persona route - Replace any with explicit type in learning-check request body - Add proper type definitions for better type safety React Hooks: - Add requestPermissions to useEffect dependency array in hair-check - Follows react-hooks/exhaustive-deps rule Result: npm run lint:strict now passes with 0 warnings (was 3 warnings)
- Added /logs/* directory to gitignore to exclude log files from version control - Removed empty TECHNICAL_DEBT.md file that was not being used
- Updated button colors to use CSS variables for consistent theming across components - Changed hardcoded colors to theme variables in hair-check and conversation components - Added dynamic timer duration display based on TAVUS_ENV configuration - Fixed code formatting and indentation in conversation route - Added TODO note for adding session ID to conversation name
Technical Debt Documentation: - Document 63 console.log statements across 16 files - Provide structured migration plan with logger utility - Include implementation checklist and timeline - Define success criteria and testing strategy Priority: Medium (before production launch) Estimated Effort: 1-2 hours Not blocking for MVP but should be resolved before production scale. See docs/TECHNICAL_DEBT_CONSOLE_LOGGING.md for full details.
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.
🚀 PR Summary
Files Changed: 60
🧪 Testing Checklist
Auto-generated PR description