[PR #1415] [MERGED] fix(staffml/gauntlet): add rubric checkboxes and fix silent fail on empty question pool #8182

Closed
opened 2026-04-27 17:29:11 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/harvard-edge/cs249r_book/pull/1415
Author: @Shashank-Tripathi-07
Created: 4/20/2026
Status: Merged
Merged: 4/20/2026
Merged by: @profvjreddi

Base: devHead: fix/gauntlet-rubric-and-silent-fail


📝 Commits (2)

  • 5c63db7 fix(staffml/gauntlet): add rubric checkboxes and fix silent fail on empty question pool
  • e066727 ci: retrigger CI

📊 Changes

1 file changed (+103 additions, -20 deletions)

View changed files

📝 interviews/staffml/src/app/gauntlet/page.tsx (+103 -20)

📄 Description

What is fixed

Two bugs in the Gauntlet page.

Bug 1: No rubric in Gauntlet

The Practice page shows rubric checkboxes after revealing an answer. You check off which points you covered, and the score buttons cap at your rubric score. Gauntlet had none of this. Users were scoring themselves on gut feel with no structure.

This matters because Gauntlet is the mock interview mode, the highest-stakes session in the app. It had weaker self-assessment tooling than Practice.

What this PR adds to Gauntlet:

  • After revealing an answer, rubric checkpoints are extracted from the model answer (same logic as Practice)
  • Checkboxes appear above the score buttons
  • Score buttons use effectiveMaxScore (capped by rubric) so buttons above your rubric score are disabled
  • The score label changes from "Rate yourself" to "Confirm or override" when a rubric is present
  • Rubric resets when moving to the next question

Bug 2: Silent fail when question pool is empty

In design mode, if no L5+ questions exist for the selected track, startGauntlet hit if (selected.length === 0) return and did nothing. The user clicked Begin and nothing happened. No feedback, no error.

Now shows a toast: "No questions found. Try a different track or difficulty level."

How to verify

Rubric:

  1. Start a Gauntlet session
  2. Reveal the answer on any question
  3. Rubric checkboxes should appear above the score buttons
  4. Check/uncheck boxes and confirm the score buttons cap accordingly

Silent fail:

  1. This is hard to trigger in the UI since the pool is large, but the code path is now guarded with a toast instead of a silent return

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/harvard-edge/cs249r_book/pull/1415 **Author:** [@Shashank-Tripathi-07](https://github.com/Shashank-Tripathi-07) **Created:** 4/20/2026 **Status:** ✅ Merged **Merged:** 4/20/2026 **Merged by:** [@profvjreddi](https://github.com/profvjreddi) **Base:** `dev` ← **Head:** `fix/gauntlet-rubric-and-silent-fail` --- ### 📝 Commits (2) - [`5c63db7`](https://github.com/harvard-edge/cs249r_book/commit/5c63db7ef5255943b6361673aaf64f16a9409205) fix(staffml/gauntlet): add rubric checkboxes and fix silent fail on empty question pool - [`e066727`](https://github.com/harvard-edge/cs249r_book/commit/e06672747e2551d2ecaeaaa339da55cbbcdb3985) ci: retrigger CI ### 📊 Changes **1 file changed** (+103 additions, -20 deletions) <details> <summary>View changed files</summary> 📝 `interviews/staffml/src/app/gauntlet/page.tsx` (+103 -20) </details> ### 📄 Description ## What is fixed Two bugs in the Gauntlet page. ### Bug 1: No rubric in Gauntlet The Practice page shows rubric checkboxes after revealing an answer. You check off which points you covered, and the score buttons cap at your rubric score. Gauntlet had none of this. Users were scoring themselves on gut feel with no structure. This matters because Gauntlet is the mock interview mode, the highest-stakes session in the app. It had weaker self-assessment tooling than Practice. What this PR adds to Gauntlet: - After revealing an answer, rubric checkpoints are extracted from the model answer (same logic as Practice) - Checkboxes appear above the score buttons - Score buttons use `effectiveMaxScore` (capped by rubric) so buttons above your rubric score are disabled - The score label changes from "Rate yourself" to "Confirm or override" when a rubric is present - Rubric resets when moving to the next question ### Bug 2: Silent fail when question pool is empty In design mode, if no L5+ questions exist for the selected track, `startGauntlet` hit `if (selected.length === 0) return` and did nothing. The user clicked Begin and nothing happened. No feedback, no error. Now shows a toast: "No questions found. Try a different track or difficulty level." ## How to verify **Rubric:** 1. Start a Gauntlet session 2. Reveal the answer on any question 3. Rubric checkboxes should appear above the score buttons 4. Check/uncheck boxes and confirm the score buttons cap accordingly **Silent fail:** 1. This is hard to trigger in the UI since the pool is large, but the code path is now guarded with a toast instead of a silent return --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-27 17:29:11 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/cs249r_book#8182