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.
Creating and Managing Rubrics
This guide explains how rubrics drive the hand-grading experience and how scores are computed. It also includes copy-pasteable YAML examples for each configuration option.Rubrics can only be edited by instructors. When editing a rubric, you will be prompted to confirm before leaving the page if you have unsaved changes.Rubrics can only be edited by instructors. When editing rubrics, you will be warned before leaving the page if you have unsaved changes.
Editing Rubrics
When editing rubrics, the system protects against accidental data loss: Unsaved Changes Warning- If you attempt to leave the rubric editor with unsaved changes, a confirmation dialog appears
- The dialog warns you that your changes will be lost if you proceed
- You can choose to stay on the page and save your changes, or discard them and leave
- This prevents accidental loss of rubric modifications
High-Level Overview
- Rubric: Named collection of parts used for a specific review round (self-review, grading-review, meta-grading-review). The grading review is the main review that students will see.
- Part: Logical section within a rubric (e.g., Code Quality, Functionality). Contains criteria. Parts can be configured for individual grading or assign-to-student modes for group submissions.
- Criteria: A scoring rule block with:
is_additive: If true, checks add points up tototal_points. If false, checks deduct points fromtotal_points.total_points: Max points for this criteria. It is not possible for a grader to assign more points to nested checks, even if you allow them to select that many points.min_checks_per_submission/max_checks_per_submission: How many checks must/can be applied for the criteria.- One or more checks.
- Check: The atom of feedback and scoring. A check can be global or an annotation applied to a file line or to an artifact. Checks can have:
pointsor selectabledata.optionswith distinct labels/pointsis_annotation+annotation_target(fileorartifact), optionalfile/artifactto linkis_required: Must be applied by gradersis_comment_required: Comment is required when applyingmax_annotations: Cap on times a check may be applied as annotationsstudent_visibility:always|if_applied|if_released|neverkpi_category: Optional link to repository analytics (commits, prs_opened, pr_review_comments, issues_opened, issues_closed, issue_comments)
Where This Shows Up in the Hand-Grader
- The right-hand panel is the rubric sidebar. Global checks render as radio/checkbox options. Annotation checks are applied from the code view or artifact cards by right-clicking a line or selecting an artifact.
- Each applied check creates a comment entry tied to a check with points and optional text.
- For each criteria, the sidebar shows a running subtotal.
Artifact Rendering
When grading submissions, artifacts (non-code files) are displayed with appropriate rendering:- Markdown files (
.md,.markdown): Rendered with full formatting including headers, lists, links, and code blocks - Plain text files (
.txt): Displayed as formatted text for easy reading - Binary files: Available for download
How Points Are Computed
- Per criteria:
- If
is_additive = true: criteria score = sum(applied check points) up tototal_points. - If
is_additive = false: criteria score =total_points - sum(applied deduction points)(floored at 0).
- If
- The rubric total is the sum across criteria.
- Scores automatically recalculate when rubric check scores change, ensuring submission grade totals stay synchronized with the latest rubric configuration.
Note on Options vs Base Points
- If a check has
data.options, the selected option’spointsreplaces the check’s basepointswhen applied. - Options must be 2+ (single options are disallowed by the editor and schema).
References Across Rubrics
- Checks can reference checks from other rubrics to surface related feedback when grading. This is managed inline in the sidebar (preview mode).
Regrade Requests
Students cannot request regrades on self-review rubric items. Regrade requests are only available for grading rubric items that have been reviewed by instructors or graders.YAML Schema Quick Reference
These examples conform topublic/RubricSchema.json.
Minimal Rubric
Additive vs Subtractive Criteria
Check with Options (Multiple Choice)
Annotations (File vs Artifact) and Limits
Required Checks and Required Comments
Min/Max Checks per Criteria
Student Visibility
Editing Rubrics
When editing a rubric, Pawtograder will warn you before leaving the page if you have unsaved changes. This prevents accidental loss of work when navigating away from the rubric editor. The warning appears when:- You have made changes to the rubric YAML
- You attempt to navigate away or close the browser tab
- Changes have not been saved
- Browser tab/window close attempts show a confirmation dialog
- Clicking navigation links within the application prompts for confirmation
- Using browser back/forward buttons triggers a warning
- Mobile navigation controls respect the unsaved state
How This Renders in the Hand-Grader
- Global checks appear as radio buttons (when
max_checks_per_submission = 1) or checkboxes (otherwise). - Checks with
data.optionsrender a choice list. The selected option’s label is prefixed to the comment. - Annotation checks are applied via right-click on a code line or by selecting an artifact.
- Checks linked to specific artifacts display a clickable link to navigate directly to that artifact.
- For each criteria, the sidebar shows:
- Additive:
earned / total_points - Subtractive:
remaining / total_points
- Additive:
Regrade Requests
Students can request regrades on rubric items where they believe the grading was incorrect. However, regrade requests are automatically prevented on self-review rubric items, as these are completed by the students themselves.Split-Rubric Group Grading
For group assignments, you can apply per-student adjustments when using split-rubric grading. This allows you to assign different scores or provide individualized feedback to group members while maintaining the efficiency of group grading workflows.Editing Rubrics
Unsaved Changes Protection
When editing rubrics, the system protects against accidental data loss:- If you attempt to leave the rubric editor with unsaved changes, you’ll see a confirmation dialog
- The dialog warns you that your changes will be lost if you proceed
- You can choose to stay on the page and save your changes, or discard them and leave
- This protection applies when navigating away, closing the tab, or refreshing the page
Rubric Editor Features
Unsaved Changes Protection
The rubric editor automatically detects unsaved changes and prevents accidental data loss: When you have unsaved changes:- A warning indicator appears in the editor header
- Attempting to navigate away triggers a confirmation dialog
- Browser tab close/refresh prompts a warning
- The dialog shows which changes will be lost
- Save and Continue: Saves your changes before navigating away
- Discard Changes: Abandons unsaved changes and continues navigation
- Cancel: Returns to the editor to continue editing
Keyboard Shortcuts
Speed up rubric editing with keyboard shortcuts:Ctrl/Cmd + S: Save rubricCtrl/Cmd + Z: Undo last changeCtrl/Cmd + Shift + Z: RedoEsc: Close current dialog
Editing Rubric Scores After Completion
TAs and instructors can edit or delete rubric scores even after completing a review. This allows for:- Correcting mistakes in grading
- Adjusting scores based on regrade requests
- Updating feedback after discussion with students
- Modifying annotations or comments
How to Edit After Completion
- Navigate to the completed review
- Click on any rubric score or annotation
- Make your changes (modify points, update comments, or delete checks)
- Changes are saved automatically
- The review remains marked as complete unless you explicitly mark it incomplete
Editing completed reviews does not automatically notify students. If grades have been released, you may need to communicate changes to affected students.
Unsaved Changes Protection
When editing rubrics, Pawtograder automatically warns you before leaving the page if you have unsaved changes. This protection works across:- Browser navigation (back/forward buttons)
- Clicking links to other pages
- Closing the browser tab or window
- Using the mobile navigation dropdown
Notes and Tips
-
Keep criteria focused and keep check names short; longer explanation should go in
description. -
Use
max_annotationsto prevent over-counting nitpicks. - Prefer options when the same check has graded tiers (e.g., Complete/Partial/Incomplete).
-
Use
student_visibilityto separate internal notes from student-facing feedback. - Grade override notes are now properly displayed in the grading interface.
- Rubric scores are automatically recalculated when check scores change, ensuring the gradebook stays up-to-date.
- Save frequently to avoid losing work, especially for complex rubrics.
Editing Rubrics
Unsaved Changes Protection
When editing rubrics, Pawtograder protects you from accidentally losing work:- If you attempt to leave the rubric editor with unsaved changes, a confirmation dialog appears
- The dialog warns you that unsaved changes will be lost
- You can choose to stay on the page and save your changes, or discard them and leave
- This prevents accidental data loss when navigating away or closing the browser tab
Field Reference: Required vs Optional (with defaults)
Rubric- Mandatory:
name,parts - Optional:
description
- Mandatory:
name,criteria - Optional:
id,description,data
- Mandatory:
name,checks - Optional:
id,description,data,is_additive(default:false),total_points(default:0),min_checks_per_submission,max_checks_per_submission
- Mandatory:
name,is_annotation(boolean),is_required(boolean),is_comment_required(boolean),points(number; use0when the check relies ondata.options) - Optional:
id,description,file,artifact,annotation_target(file|artifact; default behavior in UI isfilewhen omitted for annotations),max_annotations,data(see below),student_visibility(default:always)
data.options (for multiple-choice checks)
- Mandatory per option:
label,points - Optional per option:
description - Notes: Must define at least two options (single-option checks are rejected by the editor). When options are present, the selected option’s
pointsreplace the basepointsfor that check when applied.
- Criteria without
is_additiveare treated as subtractive (deduction) criteria. - Criteria without
total_pointsdefault to0(i.e., no contribution unless checks add points in additive mode). - Check
student_visibilitydefaults toalways. - Annotation
annotation_targetdefaults tofilein the UI if omitted. min_checks_per_submissionandmax_checks_per_submissionare optional; when not set, graders are not constrained by count.
Grading Comment Restrictions After Release
Once a review has been released to students, grading comments are restricted to maintain grading integrity:- Graders can only edit or delete their own comments after a review is released
- Instructors retain full editing privileges and can modify any comment, even after release
- This prevents graders from modifying feedback after students have seen it, while allowing instructors to make corrections if needed
Check References (Cross-Rubric Context)
What It Is
A check on one rubric can reference a check on another rubric. During grading, any applied feedback (comments/points) from the referenced check(s) is shown inline under the current check as “Related Feedback from Other Reviews”. This gives graders context from, e.g., self-review or prior review rounds.Scoring and Visibility
- References are informational only. They do not contribute points to the current rubric’s criteria and do not alter the score computation.
- Referenced feedback is surfaced to graders in grading mode. Student visibility continues to follow each original check’s own
student_visibilityand release state within its source review.
How to Configure
- Navigate to the rubric preview/editor for an assignment.
- For the check you want to augment, click “Add Reference”.
- Search/select a check from other rubrics (the current rubric’s checks are excluded).
- Save. The relationship is stored so that, when grading, the referenced feedback appears under the referencing check.
Good Use Cases
- Show a student’s self-review evidence next to the corresponding grading check.
- Pull in meta-grading notes when doing final pass reviews.
Artifact Support
Pawtograder supports rendering plaintext and Markdown artifacts in the submission file preview. When you configure a rubric check to target an artifact (usingannotation_target: artifact and specifying the artifact field), graders can:
- View plaintext artifacts with proper formatting
- View Markdown artifacts with rendered formatting
- Click on artifact links in the rubric sidebar to navigate directly to the artifact
- Apply annotation checks to specific sections of artifacts
Individual and Assign-to-Student Grading Modes
For group submissions, rubric parts can be configured with special grading modes to assess individual contributions:Individual Grading Mode
When a rubric part hasis_individual_grading: true, that part is graded separately for each group member. The grading interface displays the part once per student, and graders apply checks individually for each team member.
Use cases:
- Individual code quality assessments in group projects
- Personal reflection questions
- Individual contribution evaluations
Assign-to-Student Mode
When a rubric part hasis_assign_to_student: true, the grader selects which student the part applies to (or skips it if not applicable).
Use cases:
- Role-specific responsibilities (e.g., “Team Lead” duties)
- Optional bonus sections that only some students completed
- Targeted feedback for specific contributions
Scoring with Individual/Assign-to-Student Parts
When a rubric includes individual or assign-to-student parts:- Shared score: Points from regular (whole-group) rubric parts, autograder, and tweak
- Individual score: Points from individual-grading and assign-to-student parts for each student
- Total per student: Shared + individual, capped to assignment maximum if configured
Important Notes
- A part cannot be both
is_individual_gradingandis_assign_to_student(mutually exclusive) - Individual grading parts require
target_student_profile_idon all rubric-linked comments - Assign-to-student parts are skipped in completion validation when not assigned to any student
- Students only see their own individual scores, not their teammates’ scores