Skip to content

Fix exam grading workflow and redesign assignment creation - #23

Merged
NMSOfficial merged 21 commits into
mainfrom
fix/exam-grading-assignment-ui-20260808
Aug 8, 2026
Merged

Fix exam grading workflow and redesign assignment creation#23
NMSOfficial merged 21 commits into
mainfrom
fix/exam-grading-assignment-ui-20260808

Conversation

@NMSOfficial

Copy link
Copy Markdown
Owner

Reworks the teacher exam workflow into separate overview, setup, grading, and review stages. Adds optional OCR answer-key references, makes item-to-attempt AI grading a single backend operation, separates Writing OCR from exams, and replaces the long assignment form with a four-step wizard. Includes migration 0055 for answer-key OCR fields and staged workflow constraints. Production is not changed by this PR until merge/migration.

@vercel

vercel Bot commented Aug 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pasific Ready Ready Preview Aug 8, 2026 4:10pm

@NMSOfficial
NMSOfficial marked this pull request as ready for review August 8, 2026 16:14
@NMSOfficial
NMSOfficial merged commit fc97620 into main Aug 8, 2026
3 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b5cb319067

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +375 to +377
if p_max_points is distinct from v_exam.max_points
and exists (select 1 from public.exam_attempts where exam_id = p_exam_id) then
raise exception 'exam_scale_locked_after_attempts' using errcode = '42501';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Lock all grading inputs after attempts exist

When an exam already has attempts, this guard locks only max_points; the setup page can still change scoring_notes, and subsequent reference uploads overwrite the blank exam or answer-key OCR. Existing attempts therefore retain scores produced from the old inputs while later attempts or retries use different questions, answers, or rules under the same exam definition. Lock these grading inputs once attempts exist, or version the exam and bind each attempt to a version.

Useful? React with 👍 / 👎.

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.

1 participant