pdf-quiz-generator/docs/quiz-revamp/milestone-2-review.md
2026-09-07 04:22:03 +02:00

2.3 KiB
Raw Permalink Blame History

Review

  • Correct — Finding 1 (P1): Resolved. Failed initial progress/detail retrieval now shows Retry resume, not Start (frontend/src/pages/QuizPage.jsx:647665,881). Resume installs answers only after detail succeeds (:591615). Start rechecks progress before initializing an empty answer map; lookup/resume failures exit before that write (:672714). Autosave requires both attempt and mode (:732746), preventing premature saves during recovery. Redis failures return 503 rather than empty progress or false success (backend/app/routers/attempts.py:283285,377379). Failed suspension retains the player and answers instead of navigating (frontend/src/pages/QuizPage.jsx:10001024). Behavioral coverage verifies failed-detail recovery, failed lookup, reused attempts, and suspension retry (frontend/src/pages/QuizPage.test.jsx:58106,120136; backend/tests/test_study_tools.py:99114).

  • Correct — Finding 2 (P2): Resolved. allow_review now accepts NULL (backend/app/schemas/quiz.py:63), matching the ORM and existing DDL. Course startup treats anything other than 1 as review-disabled (frontend/src/pages/QuizPage.jsx:285); backend mode selection remains fail-closed (backend/app/routers/attempts.py:4951). Review authorization is unchanged (backend/app/utils/quiz_access.py:4751). Tests cover NULL listing/detail serialization, exam-only course startup, hidden answers, and denied study override (backend/tests/test_study_tools.py:8097; frontend/src/pages/QuizPage.test.jsx:108118).

  • Correct — Finding 3 (P2): Resolved. Importing app.models now registers LabReference (backend/app/models/__init__.py:11), so Alembics existing package import populates its target metadata (backend/alembic/env.py:2427). The fresh-process regression checks registration without router-import contamination (backend/tests/test_study_tools_migration.py:1822).

  • Blocker: None identified in the three fixes or their directly affected paths.

  • Note: Review was read-only. Test/build and PostgreSQL successes are parent-attested, not independently rerun. Existing tutor/private-image authorization issues remain a separate before-release task. This review makes no completion claim for later articles/cards/comments work.