ExamNovaDocumentation
Offline readyChangelog
Developer guide

Assessment state, snapshots, autosave, and results

Preserve the decisions that produced an exam attempt and result instead of reconstructing them from mutable records.

MaintainerIntegratorReviewer
Marking and publication stateObjective and manual marks become a result only after required review, moderation, approval, and publication.Auto markManual markModerateApprovePublishDocument
Marking and publication state. Objective and manual marks become a result only after required review, moderation, approval, and publication.

Responsibility

Assessment state is historical evidence. Approved question revisions, exam snapshots, assignments, attempts, answers, integrity events, marks, moderation, approvals, publication, holds, rechecks, and documents must remain distinguishable.

Components and data flow

Rules that must remain true

Failure modes

  • Reading a current question instead of the pinned snapshot changes historical meaning.
  • Last-write-wins autosave can silently erase a newer answer.
  • Calculating reports from draft grades exposes incomplete results.
  • Regenerating documents without revocation rules creates conflicting records.

Safe extension guidance

  • Model transitions explicitly and reject invalid source states.
  • Store the actor, time, reason, and relevant prior/new values for sensitive transitions.
  • Keep calculation deterministic and test fixed fixtures.
  • Notify and export only after the primary state transaction commits.

Required tests

Release gate: Replay a complete seeded assessment from approved question through published result and verify every transition and consumer.