Validation completed on 2026-08-03
==================================

PHP syntax
----------
PASS: install.php
PASS: payload/admin/exams.php
PASS: payload/teacher/exams.php
PASS: payload/student/exams.php

Static behavior checks
----------------------
PASS: reset marks the old attempt as cancelled, not in_progress.
PASS: reset clears started_at, expires_at, answers, autosave, score and exam_code_used.
PASS: reset saves a non-bypassed custom retake code in the student override.
PASS: student lobby requires a custom retake code even if global require_exam_code is disabled.
PASS: a new attempt number uses MAX(attempt_number)+1, avoiding duplicate unique keys after cancelled history.
PASS: installer replaces only three exam files and creates a rollback backup.
