- Introduced detailed specifications for exercise tests to enhance student practice under test conditions.
- Established a unified grading system across quizzes and tests, ensuring consistent evaluation.
- Defined the learning path structure, emphasizing skill mastery and navigation.
- Created lesson quizzes that allow retakes and provide feedback on skill performance.
- Implemented a readiness meter to assess student preparedness for upcoming tests.
- Added functionality for teachers to set and manage real tests within the app.
- Developed a rewards system to motivate student engagement and practice.
- Specified requirements for simulation tests to provide students with a rehearsal for real tests.
- Outlined skill mastery criteria to ensure accurate tracking of student progress.
- Designed a smart board feature for interactive problem-solving and submission of solutions.
- Enhanced the student home screen to streamline access to tasks and upcoming tests.
- Implemented a countdown plan…
8 days ago
feat: update project documentation and improve board interaction handling
- 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: implement server-side grading for unit quizzes
- Added `math_quiz_sittings` table to store quiz sittings on the server.
- Introduced functions `math_quiz_sitting_json` and `math_quiz_action` for handling quiz data.
- Updated `sitting_view` to compute grades based on stored attempts and checks.
- Enhanced tests to validate the new grading logic and ensure correct behavior of quiz sittings.
- Modified existing tests to reflect changes in quiz grading and reporting.
feat: update user guide to include AI queue information for teachers
- 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
- Implemented a new sketch board feature in static/math-board.js, allowing users to draw and submit answers for unit quizzes.
- Added tests in tests/test_board_browser.py to verify the functionality of the sketch board, including drawing, erasing, and submitting sketches.
- Enhanced existing unit tests in tests/test_unit_quiz.py to ensure proper integration of the sketch board with quiz questions.
feat(science): implement interactive riddle voting system with CSS animations
- 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.
feat: update stroke and fill colors in math plots to use starlight variable
Your Name
a61ffde
feat: enhance phone integration UI and error handling for push notifications
- 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.
feat: remove phone interface and related functionality
- Introduced a new log for tracking misconceptions across multiple-choice answers, capturing details such as skill, question, and activity type.
- Implemented a "patterns that come back" card on the math home screen to display recurring misconceptions, enhancing student feedback.
- Developed a patterns sheet that shows detailed information about misconceptions, including tips and practice links.
- Updated the UI to reflect these changes, ensuring a consistent user experience.
- Added tests to validate the new functionality and ensure existing features remain unaffected.
- Modified database schema to accommodate new scan states for answer submissions.
12 days ago
feat: ensure saved answers from previous rounds are retained in progress tracking
- Updated `requirements-dev.txt` to include `sympy` for algebra answer recomputation in tests.
- Modified `math.js` to implement a new round system for skills with more than 10 questions, ensuring unsolved questions are prioritized.
- Adjusted question navigation logic to accommodate the new round system.
- Enhanced the user interface to reflect the current question progress based on rounds.
- Added tests in `test_math_skills.py` to verify the correctness of algebraic expressions and equations, ensuring marked answers are accurate.
- Implemented new tests in `test_sky_browser.py` to validate the round functionality and progress tracking for skills.
13 days ago
feat: implement spaced review feature and enhance mistake handling in skill assessments
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.
Refactor math.js to update views and enhance streak tracking
- Changed the default view from "home" to "path" in math.js.
- Updated the subject selection logic to set the view correctly.
- Introduced a daily goal button and a streak calendar for better user engagement.
- Modified the path and collection views to include new daily and exam tracking features.
- Adjusted the top bar to display additional statistics related to stars and comets.
Enhance tests for math skills and sky browser
- Updated geometry units to include new identifiers.
- Adjusted tests to reflect changes in the algebra graph structure.
- Added tests to ensure no unit has more than six subunits.
- Modified sky browser tests to validate the new streak calendar and home view functionality.
- Ensured that the home view displays the correct tally and opens at the next skill.
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 tests for open-ended questions, math sky features, and comet interactions
- 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.
Preserve class, subject-navigation, and exam-board structure while replacing the math graph and related identifiers with the revised remote curriculum.
Additive migration stores exam schedules on classes. Unit subjects drive subject selection and route learners into the matching path.
Refactor math skills and update CSS styles; adjust tests for new skill identifiers
Your Name
d05b676
- Updated math_skills.py to reflect changes in the teaching schedule and skill prerequisites.
- Modified CSS variables for improved styling consistency.
- Adjusted test_answer_browser.py and related test files to use new skill identifiers (e.g., a_30_side instead of g_triangle_area).
- Added documentation for the 9th-grade teaching schedule.
Grade handwritten answers automatically after upload
Your Name
bc8af21
feat: Implement grading functionality for handwritten answers
Your Name
6f5ba40
- Added `grade` method to `AnswerScans` class for initiating grading actions.
- Enhanced error handling for grading limits and busy states in the grading process.
- Updated `public_result` function to clean up grading-related fields from results.
- Introduced new grading verification tests to ensure correct behavior of grading API.
- Created `AnswerGrader` class to handle grading logic and validation of assessment results.
- Added database migration for `math_answer_grades` table to store grading results.
- Updated front-end JavaScript to handle grading states and display results appropriately.
- Enhanced CSS styles for grading feedback display.
- Implemented comprehensive tests for grading functionality, including edge cases and error handling.
feat: implement class management functionality and related tests
Your Name
109c542
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.
feat: implement advance timer and cancellation for skill transitions
- Introduced a new Python script `install.py` in the `scripts/demo_video` directory.
- The script captures screenshots of the app's first screen on both iPhone and Android devices.
- It supports generating video files from the captured images using FFmpeg.
- Added command-line arguments for specifying the app URL, target OS, output directory, and specific frames to capture.