Skip to content

Muesli: PR 10.3 - Performance read only endpoints#1066

Open
fosterfarrell9 wants to merge 28 commits intomuesli/performance-servicesfrom
muesli/performance-read-only-endpoints
Open

Muesli: PR 10.3 - Performance read only endpoints#1066
fosterfarrell9 wants to merge 28 commits intomuesli/performance-servicesfrom
muesli/performance-read-only-endpoints

Conversation

@fosterfarrell9
Copy link
Collaborator

@fosterfarrell9 fosterfarrell9 commented Mar 1, 2026

This PR implements Step 10.3 (read-only UI + proposal generation) for Student Performance. It adds read-only endpoints and views for performance records (index/show), active rule and evaluator views (bulk proposals, single proposal, rule-threshold preview). It integrates Performance/Rules into the Assessments overview tab structure behind the student_performance feature flag. It also extends the playground rake setup with student-performance seed helpers so realistic records/rules/proposals data can be generated quickly.

@fosterfarrell9 fosterfarrell9 requested a review from Splines as a code owner March 1, 2026 13:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Implements Student Performance Step 10.3 by adding feature-flagged, read-only teacher/editor UI and endpoints for computed performance records, rule display, and eligibility proposal generation, integrated into the lecture-level Assessments overview via subtabs.

Changes:

  • Add student_performance routes + controllers for Records (index/show + recompute), Rules (show), and Evaluator (bulk/single proposals + rule-change preview).
  • Add new ERB views + a ViewComponent + Stimulus polling controller to render records, rule display, and proposal previews.
  • Extend playground rake tasks and architecture docs to support and describe the new performance feature set.

Reviewed changes

Copilot reviewed 39 out of 39 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
spec/requests/student_performance/rules_spec.rb Request coverage for rules read-only page
spec/requests/student_performance/records_spec.rb Request coverage for records + recompute endpoints
spec/requests/student_performance/evaluator_spec.rb Request coverage for proposal/preview endpoints
spec/components/student_performance/participation_status_badge_component_spec.rb Component coverage for status badge rendering
spec/components/assessments_overview_component_spec.rb Component coverage for Assessments subtabs
lib/tasks/playground.rake Include performance tasks in playground setup/reset
lib/tasks/performance_playground.rake Add compute/reset helpers for performance playground data
lib/tasks/exam_playground.rake Adjust playground exam date behavior
lib/tasks/assessment_playground.rake Expand/adjust assessment playground data generation
config/routes.rb Add feature-flagged student_performance routes under lectures
config/locales/student_performance/en.yml Add EN strings for performance UI
config/locales/student_performance/de.yml Add DE strings for performance UI
config/locales/assessment/en.yml Add EN labels for subtabs
config/locales/assessment/de.yml Add DE labels for subtabs
architecture/src/features/implementation-prs.md Update PR plan docs for 10.3/10.4 scope
architecture/src/features/12-views.md Update views documentation for new subtabs
architecture/src/features/11-controllers.md Document RulesController (show/edit/update roadmap)
architecture/src/features/05-student-performance.md Update primary navigation location to Assessments subtabs
architecture/src/features/04-assessments-and-grading.md Document Assessments overview subtab structure
app/models/student_performance/record.rb Add staleness helper for computed records
app/models/assessment/participation.rb Add UI-friendly participation display status helper
app/models/assessment/assessment.rb Add compact short_title for column headers
app/frontend/student_performance/rules/show.html.erb Rules read-only UI (active rule + achievements)
app/frontend/student_performance/records/show.html.erb Record details UI incl. breakdown + recompute
app/frontend/student_performance/records/recompute_poll.controller.js Poll recompute status and reload Turbo frame
app/frontend/student_performance/records/index.html.erb Records index UI with filters, table, polling indicator
app/frontend/student_performance/evaluator/single_proposal.html.erb Single-student proposal preview UI
app/frontend/student_performance/evaluator/preview_rule_change.html.erb Rule-change preview UI (diff of affected students)
app/frontend/student_performance/evaluator/bulk_proposals.html.erb Bulk proposals UI + summary stats
app/frontend/student_performance/components/participation_status_badge_component.rb Badge component for participation status
app/frontend/student_performance/components/participation_status_badge_component.html.erb Badge component template
app/frontend/entrypoints/initHotwire.js Register recompute polling Stimulus controller
app/frontend/assessment/assessments/index.html.erb Render new Assessments overview component
app/frontend/assessment/assessments/components/assessments_overview_component.rb Tab resolution + feature-flag gating
app/frontend/assessment/assessments/components/assessments_overview_component.html.erb Tab UI + lazy-loaded Turbo frames
app/controllers/student_performance/rules_controller.rb Rules show endpoint + auth/locale handling
app/controllers/student_performance/records_controller.rb Records index/show + recompute + status endpoint
app/controllers/student_performance/evaluator_controller.rb Proposal generation + preview endpoints
app/controllers/assessment/assessments_controller.rb Wire tab param into overview rendering

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