Commit Graph

7 Commits

Author SHA1 Message Date
Jakub Zych
2ad4e8b1ec feat: review open answers in the admin and pick a grader per quiz
- Do oceny admin screen (golem15.quizzes.reviews) over the open answers,
  with a read-only context partial, score and comment virtual fields saved
  through SetScore, confirm and regrade record actions, bulk confirm
- open question type, rubric and max_length in the question form; grader
  dropdown on the quiz form from the grader registry
- Review model with quiz, status and student filters
2026-11-09 18:31:19 +01:00
Jakub Zych
80ea79ee3e feat: grade open answers through a grader registry in the background
- graders registry collected at boot from every HasGraders plugin,
  manual first; a duplicate or reserved code fails boot
- grading job on queue quizzes_grading with three attempts; a stale
  or reviewed answer is never touched; the last failure marks it failed
- learning answers enqueue at once, tests at close; a grade
  recalculates a finished attempt and fires AnswerGradedEvent after
  commit
2026-11-09 17:51:55 +01:00
Jakub Zych
e615cc88db feat: list and show quizzes over MCP for their owner
- quizzes_list_quizzes and quizzes_show_quiz bound to GET /api/v1/quizzes
  and /api/v1/quizzes/{slug} behind user.api_token, the per-user
  golem15.quizzes.manage throttle, a scope and the access_quizzes permission
- the permission is grantable through pact.HasFrontendPermissions
- owner JSON shapes with solutions in manage_json.go, never used by a
  student route
2026-11-09 14:25:07 +01:00
Jakub Zych
d05bee4e50 feat: add the quizzes:import command for JSON quiz files 2026-10-02 14:20:33 +02:00
Jakub Zych
793cc4aac0 feat: add admin controllers, permissions and navigation for quizzes and attempts 2026-10-02 14:17:43 +02:00
Jakub Zych
effe640549 feat: serve the quiz API under /_quizzes/api/v1 behind jwt.auth 2026-10-02 14:13:30 +02:00
Jakub Zych
a01a75d49b chore: scaffold the plugin with summer make:plugin 2026-10-02 13:57:17 +02:00