> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pawtograder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Handgrading

> Grade student submissions with rubrics, annotations, and the handgrading interface

# Handgrading

Handgrading is the staff-facing interface for human review of student submissions. Graders view a submission's files and artifacts, apply rubric checks, leave inline annotations, and mark grading complete so instructors can release results to students.

Instructors can define multiple handgrading rubrics for each assignment, though the most typical setup is a single "Grading Rubric" whose score (combined with the autograder score) determines the submission's grade. For the rubric schema and configuration, see [Rubrics](/staff/assignments/rubrics). For assigning graders to submissions or rubric parts, see [Grading Assignments](/staff/assignments/grading-assignments).

## Grading status dashboard

The assignment landing page shows a grading status dashboard with:

* Overall grading progress across all submissions
* Individual grader workload and completion status
* Pending grading tasks organized by grader
* Quick access to ungraded submissions

Instructors use this view to monitor progress, identify bottlenecks, and rebalance workload among TAs before releasing grades.

## Grading submissions assigned to you

When you have submissions assigned to grade, a summary appears on the assignment's landing page.

<Frame>
  <img src="https://mintcdn.com/pawtograder/TXNOVyhofAn9Ft4X/images/staff/assignments/handgrading-1756054330152.png?fit=max&auto=format&n=TXNOVyhofAn9Ft4X&q=85&s=1814464d62b99723864d30b355f73124" alt="Handgrading page showing assigned submissions list" width="2340" height="1208" data-path="images/staff/assignments/handgrading-1756054330152.png" />
</Frame>

Click a submission to open the grading interface. The interface includes:

* A **Files** tab showing the submission's source files with syntax highlighting. Plaintext and markdown files render directly in the browser.
* An **Artifacts** tab showing any files generated by the autograder (logs, reports, coverage data, etc.). Rubric checks can link directly to specific artifacts.
* A rubric sidebar showing the parts you have been assigned to grade.

If you are assigned only part of a rubric, click **View + Grade Full Rubric** to access the full rubric. You can also click **Grade** to score the submission as a whole.

<Frame>
  <img src="https://mintcdn.com/pawtograder/TXNOVyhofAn9Ft4X/images/staff/assignments/handgrading-1756060030919.png?fit=max&auto=format&n=TXNOVyhofAn9Ft4X&q=85&s=7f46523800ae4a77e45a36df38382639" alt="Grading interface with rubric sidebar and code view" width="2606" height="1814" data-path="images/staff/assignments/handgrading-1756060030919.png" />
</Frame>

### Grading submissions without an assignment

If you have not been assigned any submissions, the assignment landing page shows the full list of submissions instead.

<Frame>
  <img src="https://mintcdn.com/pawtograder/TXNOVyhofAn9Ft4X/images/staff/assignments/handgrading-1756060230792.png?fit=max&auto=format&n=TXNOVyhofAn9Ft4X&q=85&s=d61f1ebdbdd7cab9183bda16fe1c229e" alt="All submissions list for unassigned grading" width="1978" height="1720" data-path="images/staff/assignments/handgrading-1756060230792.png" />
</Frame>

Click a student or group name to open the grading interface for that submission.

<Frame>
  <img src="https://mintcdn.com/pawtograder/TXNOVyhofAn9Ft4X/images/staff/assignments/handgrading-1756060471440.png?fit=max&auto=format&n=TXNOVyhofAn9Ft4X&q=85&s=659b69e0c6e240717a9cac95c6901305" alt="Individual submission grading interface" width="2278" height="1722" data-path="images/staff/assignments/handgrading-1756060471440.png" />
</Frame>

## Viewing files and artifacts

The grading interface supports a range of file types in both the **Files** and **Artifacts** tabs.

| Format                              | Rendering                                                   |
| ----------------------------------- | ----------------------------------------------------------- |
| Source code                         | Syntax highlighting, line numbers                           |
| Plain text (`.txt`, `.log`, `.csv`) | Inline view with line numbers and copy support              |
| Markdown (`.md`)                    | Full formatting: headers, lists, code blocks, links, tables |
| HTML                                | Sandboxed iframe with CSS preserved                         |
| PDF                                 | Browser PDF viewer with page navigation and zoom            |
| Other binary                        | Download link                                               |

Artifacts are files configured by the instructor in the autograder settings (for example, `reports/*.md` or `output.txt`). They typically contain test output, generated reports, coverage data, or other deliverables that provide context for grading.

## Applying rubric checks and annotations

Rubric checks are applied from the rubric sidebar. For checks that target specific lines of code or sections of an artifact, you can leave inline annotations:

1. Open the **Files** or **Artifacts** tab.
2. Click on the line (or section, for markdown) you want to annotate.
3. Choose a rubric check from the annotation menu.
4. Add an optional comment.

Annotations remain visible across grading sessions and become visible to students when the review is released.

### Grade overrides

When overriding a calculated grade, you can add a note explaining the reason for the override. The note is visible in the grading interface to track why a manual adjustment was made.

## Individual grading for group assignments

For group assignments, rubric parts can be configured so each group member is graded separately rather than once for the entire group.

### Individual grading mode

Mark a rubric part with `is_individual_grading: true`:

```yaml theme={null}
name: Grading Rubric
parts:
  - name: Individual Contribution
    is_individual_grading: true
    criteria:
      - name: Code quality
        total_points: 10
        checks:
          - name: Well-structured code
            points: 10
```

When grading a group submission, the rubric sidebar displays a separate section per group member, each labeled with the student's name. Checks and comments are scoped to the specific student.

### Assign-to-student mode

Mark a rubric part with `is_assign_to_student: true` to let the grader choose which student a part applies to (or skip it if it doesn't apply to anyone):

```yaml theme={null}
name: Grading Rubric
parts:
  - name: Documentation
    is_assign_to_student: true
    criteria:
      - name: README quality
        total_points: 5
        checks:
          - name: Complete documentation
            points: 5
```

This is useful when different students are responsible for different components of a group project.

<Note>
  A rubric part cannot be both `is_individual_grading` and `is_assign_to_student`. Choose the mode that best fits your grading needs.
</Note>

### Viewing individual scores

When a group submission has individual grading components, the submission view shows a **Scores by student** breakdown:

* **Shared**: Points from whole-group rubric items, autograder, and manual adjustments
* **Individual**: Points from that student's individual rubric sections
* **Total**: Combined score, capped to the assignment maximum if configured

Students see only their own breakdown; instructors and graders see all group members' scores. Tooltips on the assignments table also show individual score breakdowns.

## Completing a review

Once all required rubric checks are applied, click **Complete Review** to mark the review done. This does **not** release the review to the student; it indicates to the instructor that the review is ready to be released.

When you complete an assigned rubric part, Pawtograder will also automatically complete any other review assignments on the same submission whose assigned parts are a subset of yours. For example, if you complete parts A, B, and C, another grader assigned only to A+B has their assignment auto-completed.

### Editing after completion

TAs can edit or delete rubric scores, comments, and annotations after marking a review complete. Just navigate back to the submission and make your changes — the review stays marked complete, and the updates take effect immediately. There is no need to "uncomplete" a review to make corrections.

Once an instructor **releases** the review to the student, only instructors can make further edits. See [Grading after release](#grading-after-release) below.

## Bulk operations

### Mark All Grading Complete

Use **Mark All Grading Complete** on the assignment's **All Submissions** tab to mark every eligible submission review complete in one step:

1. Click **Mark All Grading Complete**.
2. A popover summarizes:
   * How many incomplete reviews can be marked complete
   * How many reviews have missing required checks (these will be skipped)
3. Click the checkmark to confirm.

Pawtograder only marks a review complete if all required rubric checks and any criteria min/max requirements are satisfied. Reviews with missing requirements are automatically skipped to prevent validation errors.

Use the **Grading Complete** column filter on the submissions table to focus on only complete or only incomplete submissions.

### Bulk Complete Reviews

For finer-grained bulk completion, use the **Bulk Complete** action on the **Grading Progress** page:

1. Filter incomplete reviews by grader, due date, rubric part, or completion status.
2. Select the reviews you want to complete using the checkboxes.
3. Click **Bulk Complete**.
4. Optionally choose to preserve existing grades, apply default scores, or excuse from grading.
5. Optionally add a note explaining the bulk action.
6. Click **Confirm Bulk Complete**.

Common use cases:

* Completing reviews for graders who finished their work but forgot to click **Complete Review**
* Excusing students who dropped the course
* Closing out a grading period at the end of the semester
* Marking placeholder reviews complete

<Warning>
  Bulk completion marks reviews as complete but does not automatically release them to students. Use the release controls separately to make grades visible to students.
</Warning>

### Reassigning grading work

Instructors can reassign a submission or rubric part to a different grader at any time, even after grading has been partially or fully completed. Reassignment is useful when:

* A grader is unavailable and their work needs to be redistributed
* Workload needs to be rebalanced across graders
* A specific grader's expertise is needed for certain submissions

To reassign:

1. Open the assignment's grading management page.
2. Select the submissions or rubric parts to reassign.
3. Choose the new grader from the dropdown.

Existing grading work (scores, comments, annotations) is preserved. The new grader sees the work in their pending list, and the review's `completed_at` timestamp is reset so the new assignment shows up correctly — even if the grader already completed a different rubric part on the same submission.

### Submission resubmissions

When a student submits a new version of their work, Pawtograder handles the reassignment automatically:

* Review assignments move to the new active submission and are reopened (completion status cleared).
* Existing comments remain attached to the original submission they were written for, so graders can see their previous feedback in context.
* The new submission starts fresh without carrying over old comments.

## Grading after release

Once an instructor **releases** a review to students, grading comments on that review are locked for non-instructor graders. Only instructors can edit or delete comments on a released review.

<Note>
  After a review is released to students, grading comments can no longer be edited or deleted by graders. This protects the integrity of feedback that students have already seen. If changes are needed after release, an instructor must unrelease the review, make edits, and re-release it.
</Note>

Note that self-review rubric items do not support regrade requests — students cannot request regrades on items they evaluated themselves during the self-review process.

## Rerunning the autograder

Instructors can rerun the autograder on an existing submission without creating a new submission — useful after fixing an autograder bug, updating tests, or regrading with a different grader version.

1. Open the submission to regrade.
2. Click **Rerun Autograder**.
3. In the regrade dialog:
   * Select a grader version from the dropdown, or enter a specific commit SHA.
   * Choose whether to auto-promote the regraded submission to be the active submission.
4. Click **Regrade**.

The autograder runs on the existing submission and updates its results when the regrade completes.

<Tip>
  Use the [Test Insights dashboard](/staff/assignments/test-insights) to launch regrading directly from error groups, with affected submissions automatically preselected.
</Tip>
