- Updated the logo animation in `logo-intro.svg` to enhance visual effects and timing.
- Changed the service worker cache version from v7 to v17 and removed an unused logo file.
- Adjusted test cases to reflect the updated logo path.
- Introduced a new `live.py` module to manage live class sessions, including session creation, participant management, and question handling.
- Added tests for the new live session functionality to ensure correct behavior for student participation and session lifecycle.
Update service worker cache version and add new logo assets
- Changed cache version from v3 to v7 in service-worker.js.
- Added new logo assets: logo-intro-alt.svg and logo-math.svg.
- Updated trace.html to include a new exemption name for onset transient.
- Added tests for onset transient behavior in test_scoring.py.
7 days ago
Enhance scoring and training scripts with new features and benchmarks
- Updated test_scoring.py to include subject handling in save_class and added assertions for progress tracking.
- Modified finetune.py to introduce new command-line arguments for layer training, optimizer selection, gradient checkpointing, and maximum training steps.
- Added minerva_benchmark.py for benchmarking phoneme models on Minerva lines, including false flag detection and planted mistake scoring.
- Created minerva_dataset.py to cut reviewed Minerva lines into a training set, ensuring a proper split by video and maintaining CSV compatibility for training.
fix: conditionally display heard words and update hint label for improved feedback
- Implemented a new KeyStore class to handle API keys securely, encrypting them and ensuring they are never exposed.
- Added functionality to load, save, and clear keys, with validation against their respective providers.
- Created tests for the KeyStore to ensure keys are stored encrypted, swapped in place, and reverted to environment variables when cleared.
- Updated existing tests to include checks for new functionality related to API keys and tutor model management.
feat: enhance flagging system to retain audio recordings in private storage
- Updated the flagging process to no longer store user audio recordings, retaining only structured diagnostics.
- Modified the `add_flag` method to accept only the row data without audio parameters.
- Adjusted related API endpoints and tests to reflect the removal of audio storage.
- Updated documentation to clarify changes in flagging behavior and data storage.
feat: update styling for Hebrew memory game cards to enhance visual appeal
- Introduced a "Driving Mode" button in the learning dialog for enhanced user experience.
- Implemented logic to manage learning rounds, allowing users to resume or clear their progress.
- Added visual feedback for driving mode status and integrated audio prompts for learning words.
- Ensured proper state management for learning sessions, including wake lock handling for mobile devices.
9 days ago
Enhance GOP pooling and grading pipeline with new rules and configurations
- Updated `gop-pooling.md` to clarify the context for consonants in token alignment.
- Added new grading rules for unmarked short vowels, final b devoicing, and word-final vowel linking in `grading-pipeline.md`.
- Modified `trace-schema.ts` to include new exemptions in the TraceConfig interface.
- Enhanced UI in `trace.html` and `index.html` to support new frame playback features and display additional exemption information.
- Improved tests in `test_gop_pooling.py`, `test_scoring.py`, and `test_minerva_import.py` to validate new grading rules and ensure correct behavior of the scoring system.
Add system activity tracking and display to the dashboard
- Introduced a new API call to fetch system activity data.
- Added a new section in the UI to display recent system events with appropriate labels and icons.
- Enhanced error handling for system activity loading.
- Updated activity statistics to include a summary of total attempts and active students.
- Improved accessibility and user feedback during data loading.
feat: update daily limit for conversations to 5 and adjust related UI elements for better quota tracking
Refactor tutor game references from "בחכי ערבי" to "ערבוט" across application files; update access management features and permissions handling in the management panel; enhance user interface for access permissions; add access management functionality in the management system; improve test setup for authentication.
- Implement tests to verify lesson scenarios and their corresponding lines.
- Ensure vocabulary expands correctly with each lesson.
- Validate conversation flow, including turn handling and summary generation.
- Test for new words and their recognition in lessons.
- Check that corrections without changes are ignored.
- Confirm that only teachers can initiate sessions until opened.
- Validate daily limits based on stored data.
- Ensure conversations are restricted to the respective students.
- Implement input validation for start parameters.
- Handle refused answers appropriately without counting them.
Add tests for GOP pooling and windowing functionality
- Implemented tests for GOP frame pooling in `test_gop_pooling.py` to validate the scoring of synthetic CTC emissions, including various scenarios for vowel and consonant recognition.
- Created tests for class-based GOP windows in `test_gop_window.py`, ensuring proper handling of vowel and consonant transitions, substitutions, and deletions.
- Added a test for the Minerva import functionality in `test_minerva_import.py` to verify the integrity of the pilot manifest and associated phrases.
10 days ago
Add comprehensive tests for lab functionality and scoring
- Introduced a new test suite in `tests/test_lab.py` to validate the lab scoring system.
- Implemented mock classes for TTS and authentication to facilitate testing.
- Added tests for item validation, lab scores, flagging, and rescore functionality.
- Verified the integration of TTS with lab scoring and ensured proper handling of audio files.
- Included benchmarks for false rejections and caught mistakes in scoring.
fix: adjust responsive design for verb table and improve text rendering
- Implemented a test to verify conservative calibration for deleted 'ayin' phoneme.
- Updated the expected categories for workbook lessons 1, 2, and others to reflect new structure.
- Added a new test for validating new words in workbook lessons.
- Ensured that all lessons correctly filter out word topics in category assertions.
- Implemented `arabic_diacritics.py` to add Arabic vowel marks to words based on their IPA pronunciation.
- Created tests for the diacritics functionality in `test_arabic_diacritics.py`, covering various cases including short and long vowels, gemination, and phrase handling.
- Updated grading pipeline documentation to include detailed explanations of the scoring process and audio handling.
fix: clarify pronunciation rules for the Arabic letter ʔ and its omission in specific contexts
- Updated pronunciation rules in `pronunciation-rules.md` to clarify the handling of shwa and kubutz sounds, including new examples and scoring rules.
- Modified `index.html` to integrate scoring rules display, allowing teachers to toggle rules on and off.
- Added tests in `test_scoring.py` to verify the functionality of newly implemented scoring rules and their impact on pronunciation scoring.
- Introduced a new script `compare_verbs.py` to check the phonemes of Arabic verbs against the scorer's expectations, ensuring consistency in pronunciation handling.
Add unit tests for pronunciation rules parsing and detection
- Implement tests to ensure all YAML blocks in pronunciation-rules.md are parsed correctly into rules.
- Verify that every heard symbol has a corresponding Hebrew label.
- Check correct realizations per letter and dialect associations.
- Report undetectable rules and validate their detection status.
Refactor scoring tests and add pronunciation rules documentation
- Updated test_sign_in_guards_the_practice_endpoints to reflect changes in scoring logic for unmatched recordings.
- Enhanced test_spoken_questions_keep_expected_forms_server_side to assert additional properties of speech phrases.
- Introduced a new markdown file for pronunciation rules tailored for Hebrew speakers learning Palestinian Arabic, detailing articulation, dialect differences, and self-practice guidelines.
12 days ago
feat: add deployment metadata display for teacher panel with versioning and commit info