Progress by worksheet
graded vs remainingScore distribution
fully scored studentsWorksheets
Click a worksheet to see its studentsStudents
Every student of the selected run, updated live as projects are graded. Click a student to review.
| waiting | |||||||
| No students match these filters. | |||||||
| Student | Total | |
|---|---|---|
| pass rate | ||
✔ met · ✘ not met · ? not verifiable · ● changed by a human · blank = not graded yet. Hover a cell for the criterion.
Submission files & links
open the student's links, or download the exact copy the AI gradedLoading what the grader downloaded…
| Source | Link | Result | Copy the AI graded |
|---|---|---|---|
The grader has no recorded link attempts for this student yet.
Matching fragments
Audit decisions recorded with your name and exported; they do not change marks
What to check:
Evidence, requirement and AI notes
AI technical reason:
Required:
: —
Sources and limitations
Export
Downloads for the selected run. Files are read live, so a running grading job exports everything finished so far.
Per-worksheet tables can also be downloaded as CSV from the Students page (Export CSV), and PDF reports from each student.
Audit
Check what the AI could not settle on its own: similarity matches, AI-use flags, unverifiable criteria and a random sample. Every decision is saved with your name and goes into the Excel and JSON exports; marks change only through criterion decisions.
Analysis
Decisions so far
AI vs human agreement by worksheet
| Worksheet | Students | Agree | Changed | Agreement |
|---|---|---|---|---|
| Appears after the first criterion decisions. | ||||
Criteria with most disagreement
| Criterion | Agreement | AI too lenient | AI too strict | AI blank | |
|---|---|---|---|---|---|
| Appears after the first criterion decisions. | |||||
Rules & settings
Controls future runs without code changes. Official rubric rows are never edited; briefs and rules only explain them. A changed brief or rule re-grades that worksheet on its next run.
Project brief
The student-facing assignment: required columns, charts, commands, scenario values and expected answers (e.g. the CTF flag). The AI uses it to know exactly what each criterion asks for.
Criteria & interpretation rules
Runs & uploads
One run at a time (the GPU is shared). Re-using a run name resumes it; finished students are kept.
Run log
Upload
In production the VM downloads each File URL itself; archives are only needed when links are unavailable.
| Worksheet | Rubric | Students | Problems |
|---|---|---|---|
How it works
From a roster to graded, reviewed and reported projects. Click any step for details.
How to run it
From this app — no code or commands neededFor administrators (server)
The same actions from the grading VM's terminal.
cd /workspace/project-grading/code # web app (normally kept running by supervisor: grading-webapp) /venv/main/bin/python -m uvicorn webapp.server:app --host 127.0.0.1 --port 18060 # a full grading run from the command line /venv/main/bin/python -m agent --mode full --flexibility 20 --workers 16 --pilot-per-sheet 3 \ --continue-full --similarity yes --download-file-url --input "../roster/<roster>.xlsx" \ --output ../runtime/<run>/AI-Graded.xlsx --results ../runtime/<run>/results # tests /venv/main/bin/python -m unittest discover -s tests
Reading the results
What every score, status and number means.
Users
Admin: everything · Reviewer: review scores and add rules · Viewer: read only.
| User | Role | |
|---|---|---|
Add a user
Activity log
Every sign-in, review, rule, setting, upload and run action.
| When | User | Action | Detail |
|---|---|---|---|
|