Skip to content

MBS-10691: Implement teacher-triggered AI (re)grading for qtype_aitext#5

Open
Barbuia wants to merge 1 commit intomainfrom
MBS-10691-Regrade-by-teacher
Open

MBS-10691: Implement teacher-triggered AI (re)grading for qtype_aitext#5
Barbuia wants to merge 1 commit intomainfrom
MBS-10691-Regrade-by-teacher

Conversation

@Barbuia
Copy link
Copy Markdown

@Barbuia Barbuia commented Apr 8, 2026

Add autograde setting to control whether AI feedback is generated automatically on quiz submission or must be triggered manually by a teacher from the grading interface.

Changes:

  • New 'autograde' DB field (default: enabled) with upgrade step
  • Checkbox in question edit form to toggle automatic AI feedback
  • Conditional in grade_response(): skip AI task when autograde=0, set step to 'pending_teacher' state instead
  • New trigger_ai_regrade() method with upsert step data handling, runs adhoc task under teacher's identity (model + quota)
  • External API (qtype_aitext_trigger_regrade) for single and bulk regrading via AJAX with capability checks
  • AMD module (regrade.js) for the regrade button in grading UI
  • Renderer: pending_teacher state in feedback(), regrade button in manual_comment() for teachers
  • quizaccess_ai: skip access rule when all aitext questions in quiz have autograde disabled
  • Lang strings (EN + DE)
  • PHPUnit tests with data providers (13 cases): autograde on/off, teacher identity, upsert scenarios, persistence, edge cases
  • Behat test for autograde checkbox default and disable flow

Add autograde setting to control whether AI feedback is generated
automatically on quiz submission or must be triggered manually by
a teacher from the grading interface.

Changes:
- New 'autograde' DB field (default: enabled) with upgrade step
- Checkbox in question edit form to toggle automatic AI feedback
- Conditional in grade_response(): skip AI task when autograde=0,
  set step to 'pending_teacher' state instead
- New trigger_ai_regrade() method with upsert step data handling,
  runs adhoc task under teacher's identity (model + quota)
- External API (qtype_aitext_trigger_regrade) for single and bulk
  regrading via AJAX with capability checks
- AMD module (regrade.js) for the regrade button in grading UI
- Renderer: pending_teacher state in feedback(), regrade button
  in manual_comment() for teachers
- quizaccess_ai: skip access rule when all aitext questions in
  quiz have autograde disabled
- Lang strings (EN + DE)
- PHPUnit tests with data providers (13 cases): autograde on/off,
  teacher identity, upsert scenarios, persistence, edge cases
- Behat test for autograde checkbox default and disable flow
@Barbuia Barbuia force-pushed the MBS-10691-Regrade-by-teacher branch from 7e7470a to 58cd4e1 Compare April 8, 2026 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants