- Practice tests on request in three modes (balanced, focused on the hard skills, manual pick) and simulations on request
(all the material, timed, no choice, repeatable). No plan, no window, no one-time rule. Old exercise tests 1-2 count as balanced, 3 as focused.
- Readiness moves only with handed-in tests, only up: number += GAIN x (grade - number), GAIN 0.6 simulation, 0.3 practice,
0.15 manual. Mastery and deepening no longer count. Levels, points to the next level, what a perfect test adds.
- Home: one compact block (number, level, days left; practice and simulation buttons with +N), still one screen.
The test page: how it goes up, simulation, practice modes, the trail of gains. A result opens with its gain and a level up.
- Teacher tabs show readiness, test counts and bests. countdown.py removed. OpenSpec change tests-on-demand; PRD updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AI review per question; the mistakes round shows where each question came from; a 15-question practice test on the weak topics
- Board review: one Gemini request per question (paced for the free tier), each result saved and shown as it comes, then a short
text-only summary. A stopping failure (quota, key) keeps what was checked; the teacher can check or re-check one question alone.
- Mistakes round: each question shows its number in the test and what was chosen there.
- Exercise test 3 (מבחן תרגול: נושאים לחיזוק): 15 questions from the skills that lost points in the test's exercise tests or simulation,
or are still being learned. Not part of the readiness score. On the test card and on a result.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Board review: the steps of a running review (boards found, sent, the AI busy) on the student's and the teacher's screens
A mistakes round (kind mistakes_round) over the questions the handed-in attempt got wrong, in the lesson round's sheet: instant feedback,
never the right answer, counted as practice, the grade unchanged. Needs migration 20261122090000_m2_mistakes_round.sql.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Board review: the teacher sees the AI state, why it failed, and runs it (again)
Opening a handed-in test starts a missing review; a button runs it again after a failure or on a lesson quiz.
A missing review column no longer breaks the student's result.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat(simulation): add bypass for all skills when no skills are started
The tests expect board work's "work" fields and board functions; tests about other things count the board as written on. The home spec's "Nothing critical" scenario is back.
Home: the current lesson on its own, past and coming lessons folded (#10)
When the curriculum dates the lessons, home shows the current lesson with its date and folds the past lessons (with how many are behind) and the coming ones under it.
feat(board-work): implement board work feature for student answers
- Save a picture of the student's board with every answer in practice, quizzes, tests, and simulations.
- Require board work for quizzes and tests before a choice can be submitted.
- Allow teachers to grade the board work, providing points for the process.
- Create API endpoints for uploading board work and retrieving it for teacher review.
- Add frontend functionality to handle board work submission and display in the teacher's grading interface.
- Implement database migrations to support new board work data structure and relationships.
- Add comprehensive tests for the new functionality, ensuring correct behavior in various scenarios.
- Updated home.js to change the layout to a grid of lesson tiles, each displaying stars and status indicators.
- Replaced the previous map structure with a compact design that fits within a single screen.
- Modified the nearest test display to a strip format showing days left and readiness.
- Consolidated new assignments into a single button that links to the submissions tab.
- Adjusted related tests to reflect the new layout and functionality.
refactor: remove obsolete test file for lessons behind the curriculum
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
feat: implement lesson rounds with instant feedback and star system
- Added a new lesson round feature that presents 10 questions from a lesson's skills, providing instant feedback for each answer.
- Implemented a star rating system based on performance in the lesson round, with conditions for earning 0 to 3 stars.
- Updated the home interface to display a map of lessons, showing progress and allowing easy access to the next lesson.
- Created database migration to accommodate the new lesson round functionality.
- Developed comprehensive tests for the lesson rounds and their integration with the home interface.
Enhance answer saving and submission handling in quizzes and attempts; add error handling for subjects tab loading
The refusal replaced the whole page, so the test card's bypass buttons were
never in reach (and the home page links straight to the practice test).
Now the server falls back to the simulation's draw over every skill of the
test's lessons; the refusal stays only when those lessons have no questions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Practice test on all the material: a bypass for skills not started yet
The test card now offers "מבחן תרגול 1/2 על כל החומר". It draws like the
simulation: an even spread over every skill of the test's lessons,
including skills the student has not started, so the student is not told
to practise on the path first.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 days ago
Status card: the change's name beside the version (#7)
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
Subjects and worksheets: more subjects, and a worksheet becomes a lesson (#6)
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
3 days ago
Developer activity chart: how many people used the app each day (#5)
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
Developer status card: system health, running version and last update date (#4)
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
Only the simulation is timed: lesson quizzes and exercise tests have no time limit (#3)
* Path: heading reads מה נתרגל היום? instead of במה נתרגל היום?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* HF sync: check out without LFS
The image files' LFS contents were never uploaded to GitHub, so checkout
with lfs: true failed and the Space was never updated from GitHub. Check
out the LFS pointers and push them; the Space keeps the image contents it
already has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XVGkAsva3pSS6u4MFvghb
* Only the simulation is timed: lesson quizzes and exercise tests have no time limit
A lesson quiz and an exercise test now stay open until the student hands
them in and show no timer; the simulation keeps its countdown and is still
handed in when time ends. Attempts still store due_at (the database needs
one) but only a simulation is held to it. Updates the specs, PRD (QZ-2,
QZ-5, EXT-4, EXT-7, GRD-2) an…
4 days ago
Path: heading reads מה נתרגל היום? instead of במה נתרגל היום? (#1)
- Introduced a new "התקדמות" tab for teachers to view class progress by lesson, including readiness for upcoming tests.
- Implemented API endpoint `GET /api/classes/{id}/progress` to fetch progress data, including skill states, coverage, and readiness metrics.
- Updated permissions to restrict access to class progress data to the class's teacher and developers only.
- Enhanced UI with period tabs and a class picker, ensuring a responsive design that prevents sideways scrolling.
- Added comprehensive tests for API and browser interactions to validate functionality and permissions.
mathly2: written work, rounds, caching, one course for all classes, lesson schedule
- 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…
7 days ago
feat: Implement skill learning and mastery features
- Added a proposal for a new skill learning system that includes a structured four-stage learning process: worked examples, faded examples, practice, and feedback.
- Introduced specifications for the learning path, allowing students to access lessons in any order, track daily goals, and view their progress.
- Developed specifications for skill mastery, defining the criteria for mastering skills and ensuring mastery does not decay over time.
- Created tasks for implementing the new features, including database migrations, API endpoints, and student screens.
- Added a new build for test preparation, including features for exercise tests, readiness meters, and real test management.
- Defined specifications for exercise tests that focus on weak skills, simulation tests, and student screens for managing assignments and grades.
- Ensured all new features adhere to the app's design principles, including right-to-left layout and server-side grade management.