- Implement tests for retrieving a student's assignments, focus practices, finals, and returned worksheets in `test_my_tasks.py`.
- Ensure that the task list correctly reflects only the student's assignments and submissions.
- Add tests for quiz modes in `test_quiz_modes.py`, covering final quiz windows, sitting management, and grade release processes.
- Validate that only the class teacher can open final quiz windows and that practice is blocked while a final is active.
- Test the handling of photo submissions and the behavior of quiz sittings after deadlines.
9 days ago
Add end-to-end tests for worksheets functionality with Playwright
- Implement tests for teacher and student interactions with assignments and worksheets.
- Cover scenarios including PDF upload, photo submissions, grading, and worksheet removal.
- Ensure proper handling of errors and UI feedback during the workflow.
- Validate the visibility of classes and assignments for teachers and students.
10 days ago
Add tests for drafting and reviewing student answers
- Implement tests for the drafting of worked examples in `test_draft_examples.py`, ensuring well-formed drafts are generated for skills without examples, and that the model's responses are validated.
- Create tests in `test_teacher_review.py` to cover the teacher's review process of student answers, including handling review requests, score validation, and ensuring proper access control for teachers and students.
- Ensure that the tests cover various scenarios, including error handling and edge cases, to maintain robustness in the review and drafting functionalities.
feat: add AI queue for math requests, including database migration and tests
- Implemented a new table `math_ai_requests` to handle student requests for AI assistance in math problems.
- Created tests for the AI queue functionality, ensuring proper request handling and state management.
- Added browser tests to verify the user guide's accessibility and functionality for both students and teachers.
- Developed a class report feature for teachers to view student progress and grades.
11 days ago
feat: implement AI usage tracking and monitoring for Claude API calls
- Added science.css for styling the science path and its voting interface.
- Implemented science.js to handle the riddle voting logic, including room management and vote processing.
- Created a new database table `math_progress` to track student progress across devices.
- Developed tests for the progress tracking and science voting functionalities, ensuring proper behavior and error handling.
Implement push notifications for photo requests from computer to phone
- Added push notification functionality in app/push.py to notify phones when a photo of an answer is requested from the computer.
- Created a new service worker (static/service-worker.js) to handle push notifications.
- Introduced a new database table (supabase/migrations/20261103180000_math_push_subs.sql) to store push subscriptions.
- Updated the frontend (static/math.js, static/math.css) to remove phone pairing functionality and adjust UI accordingly.
- Removed related tests (tests/test_phone_browser.py) and added new tests for push notifications (tests/test_push.py).
- Ensured proper handling of push subscription lifecycle and error cases.
13 days ago
feat: add lesson resources feature for teachers to photograph and manage unit resources
Your Name
8e0e8fe
- Implemented frontend components in math.js and math.css for resource management.
- Created backend API in unit_resources.py to handle resource storage and retrieval.
- Added database migration for math_unit_resources table to store resource metadata.
- Developed tests for resource management functionality, including adding, listing, and deleting resources.
- Enabled teachers to photograph exercises and explanations, with appropriate permissions and validations.
Enhance monitoring features with action logging and recent activity tracking
- Implemented a new monitoring module to track system health, error logs, and open-answer activity.
- Added endpoints for monitoring summaries, Supabase status, and activity tracking.
- Created a logging handler to count errors and maintain recent log entries for monitoring.
- Enhanced the CSS for monitoring UI components.
- Developed tests for monitoring functionalities to ensure proper access control and data accuracy.
Add endpoint for retired service worker to clear cache and update app
- Implement test for default locking of open-ended questions and grading key behavior.
- Enhance phone browser tests to ensure navigation and visibility of math skills.
- Introduce new JavaScript file for math sky features, including star and comet mechanics.
- Create math TeX rendering functionality for displaying mathematical expressions.
- Add comprehensive browser tests for night sky features, including star progression and comet collection.
Additive migration stores exam schedules on classes. Unit subjects drive subject selection and route learners into the matching path.
feat: add additive answer-scanning schema and related functionality
Your Name
f14ef69
- Introduced new JavaScript file for shared camera preparation for answer scans.
- Created new tables in the Supabase database for managing math question attempts, answer scans, and attachments.
- Implemented row-level security and policies for data access control.
- Added a new RPC function for handling answer scans, including actions for creating, confirming, and finalizing scans.
- Developed tests for the new functionality, ensuring proper handling of answer scans, including retries and error management.
- Established a local testing environment with PostgreSQL and integrated Playwright for end-to-end testing of the answer scanning process.
18 days ago
feat: add phone photo feature for solving math problems
Your Name
9f81a43
- Implemented a new endpoint for pairing phone and computer for photo uploads.
- Added functionality to generate QR codes for easy linking between devices.
- Created a new HTML page for phone users to capture and send math problems.
- Enhanced the backend to handle photo sessions with expiration and state management.
- Updated the frontend to support photo uploads and display results dynamically.
- Introduced new geometry-related skills and problems in the math curriculum.
- Added tests for the new phone photo functionality and ensured robust error handling.
Remove obsolete test files and training scripts for phoneme CTC model on Palestinian Arabic recordings
- Implemented a new MCP connector for managing library videos through Grok.
- Added authentication middleware for the MCP endpoint using a dedicated bearer token.
- Introduced tools for listing, preparing, publishing, and renaming library videos.
- Ensured input validation and duplicate checks for video titles and URLs.
- Implemented an approval system for publishing videos with expiration and single-use constraints.
- Refactored library operations into shared helpers to maintain consistency across API and MCP tools.
- Updated requirements to include the official MCP SDK and anyio for compatibility.
- Added comprehensive tests for the new MCP functionality and ensured existing library API compatibility.
- Updated promo.html to improve layout and styling for new features, including enhanced word display and interaction elements.
- Modified promo.py to include new marks for user interactions and improved timing for screen recordings.
- Adjusted index.html to refine lesson continuation logic and ensure proper voice configuration for TTS.
- Enhanced test cases for Arabic diacritics and learner home browser to validate new story resumption logic and TTS playback configurations.
- Added tests for TTS endpoint to ensure proper audio serving and voice ID handling.
- Introduced a new OpenSpec configuration for the Grok library MCP.
20 days ago
Add tests for models tab and POWSM ONNX export, and implement fine-tuning for POWSM-CTC
- Created `test_models_tab.py` to verify the functionality of the models tab, including model switching and settings management.
- Introduced `test_powsm_onnx.py` to test the POWSM ONNX export functionality, ensuring correct handling of model exports and environmental configurations.
- Developed `finetune_powsm.py` for fine-tuning the POWSM-CTC model on Palestinian Arabic recordings, including support for dynamic padding and training configurations.
21 days ago
feat: add support for measuring long vowels said short by duration
- Implemented a mechanism in the scorer to evaluate long vowels pronounced short based on their duration, following rule 3.8.
- Updated the Rules class to include a new length attribute for tracking long vowel duration.
- Enhanced the scoring logic to incorporate checks for shortened long vowels and adjusted the scoring stages accordingly.
- Added tests to validate the new functionality, ensuring that long vowels pronounced short are flagged correctly and that the scoring reflects this.
- Updated documentation to reflect changes in pronunciation rules and scoring behavior.
- Introduced a new audio storage test suite to verify audio migration and storage functionality.
feat: enhance learner home functionality and add practice streak tests
- Introduced a new utility function `minutesFor` to estimate time for actions based on item count.
- Updated the rendering of recommended actions on the learner home page to include estimated time for completion.
- Added a new test for the class week's performance metrics, ensuring accurate reporting without teacher data.
- Modified existing tests to reflect changes in the reminder prompt behavior after a good moment.
- Expanded progress tracking tests to include new streak states: "frozen" and "freeze_ready".
- Created a new test suite for practice streak logic, covering various scenarios including missed days and freeze conditions.
Add tests for learner home functionality and browser interactions
- Implement tests for saving and reading current lessons for learners.
- Create a mock authentication class to simulate Supabase interactions.
- Add tests for handling various scenarios including missing keys, table absence, and server downtime.
- Develop browser tests for the focused learner home page using headless Chrome.
- Validate lesson selection, reminders, and class-specific lesson handling.
- Ensure tests cover both successful and error scenarios for lesson management.
Add requirements browser and diagram rendering enhancements
- Introduced a local, read-only requirements browser for inspecting OpenSpec specifications and changes, ensuring it operates solely on the loopback interface.
- Implemented a standalone Python server for the requirements browser, utilizing OpenSpec CLI output for project inventory and ensuring all reads are confined to resolved paths.
- Developed structured JSON responses and a responsive HTML/CSS/JavaScript interface for the requirements browser, focusing on accessibility and usability.
- Enhanced the Atlas to render fenced `mermaid` diagrams as visual representations while preserving the original source as inert text, ensuring no external dependencies or interactive elements are introduced.
- Added a pinned Mermaid library for local rendering of diagrams, with strict security configurations to prevent any active content from being executed.
- Ensured that all new features maintain the existing read-only and local-only boundaries of the Atlas, with comprehensive testing for functiona…
feat(push): implement admin notification system with audience targeting and broadcast capabilities
- Implemented promo.py to record and render a promotional video for the app, utilizing Playwright for screen recording and frame manipulation.
- Created promo.html for displaying the recorded frames in a 3D iPhone interface with animated captions.
- Added tests for the Nakdan module to ensure correct handling of Hebrew niqqud and caching behavior.
- Developed tests for the Push module to validate subscription management and notification sending logic.
23 days ago
feat(auth): increase MAX_MONITOR_ATTEMPTS for improved pronunciation pattern sampling
feat(main): update class progress handling to retain student history across classes
feat(index): enhance logout button styling for better accessibility and visibility
test: adjust assertions to reflect changes in class progress tracking and student data
feat(topic): enhance topic completion dialog with visual feedback and retry options
- The native baseline now uses two TTS voices: ראאף (generated on demand) and فدوى (used when cached).
Each sound is still measured against the lowest score any voice got on it.
- References are read with wav_for_voice: wav() turned any voice outside playback into ראאף.
- Each Reference carries its voice name; the trace keeps every voice's score per sound
(baseline stage `refs`, references[].voice).
- Trace dashboard: a row per voice under each sound (the voice used in bold), a marker per
voice on the waterfall's baseline step, per-voice tooltip and table columns.
- The mock trace has two voices.
Bench on 2,828 lab recordings (all said right): false rejections 3.6% -> 2.9%
(ħ 6.0 -> 2.8%, h 9.7 -> 5.4%, ɣ 20.6 -> 12.5%, ʕ 12.5 -> 9.5%). Detection is not measured:
the lab has no recordings with a planted mistake yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 days ago
feat(tts): enhance TTS warm process with phase tracking and to_generate count
- 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.
26 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.
27 days ago
Add keystore for managing API keys securely and update tests
- 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.