Skip to content

E2605: Complete backend support for specialized rubrics by topic#325

Draft
PositivelyBookish wants to merge 34 commits intoexpertiza:mainfrom
PositivelyBookish:main
Draft

E2605: Complete backend support for specialized rubrics by topic#325
PositivelyBookish wants to merge 34 commits intoexpertiza:mainfrom
PositivelyBookish:main

Conversation

@PositivelyBookish
Copy link
Copy Markdown

Summary

This PR finalizes backend support for specialized review rubrics by topic.

It enables assignments to use a default review rubric while allowing individual topics to override that rubric, with support for round-specific behavior when rubrics vary by both topic and round.

Changes

  • support topic-aware rubric mappings in assignment questionnaires
  • add backend handling for retrieving topic-specific rubric data for an assignment
  • add backend handling for saving topic-specific rubric selections
  • preserve assignment-level review rubrics as the default fallback when no topic-specific override exists
  • support rubric resolution for all required cases:
    • no variation by round or topic
    • variation by round only
    • variation by topic only
    • variation by both round and topic
  • align assignment update handling with the persisted vary-by-topic / vary-by-round assignment state

Behavior

After this change:

  • an assignment can keep a default review rubric
  • each topic can optionally override that review rubric
  • if rubrics vary by round, topic-specific rubric selection can also vary by round
  • when no topic-specific rubric is defined, the assignment default is used

Testing

Verified through manual integration testing with the assignment editor by:

  • enabling Review rubric varies by topic?
  • selecting topic-specific review rubrics
  • saving the assignment
  • reloading the assignment editor
  • confirming the selected rubric persisted for the topic

Vanaja Agarwal and others added 30 commits March 28, 2026 13:46
@github-actions
Copy link
Copy Markdown

2 Warnings
⚠️ Pull request is too big (more than 500 LoC).
⚠️ RSpec tests seem shallow (single it blocks or no context). Consider improving test structure.

Generated by 🚫 Danger

@PositivelyBookish PositivelyBookish marked this pull request as draft March 31, 2026 01:07
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.

2 participants