Problem statement
The shared curriculum-quantitative-assessment rubric's checkpoint_quality dimension scores 0.0 for all 30 workshop steps, including every step's ## :white_check_mark: Checkpoint section that contains a full checklist. The detector in .github/skills/curriculum-quantitative-assessment/curriculum_assessment.py is:
CHECKPOINT_RE = re.compile(r"##\s+✅\s*Checkpoint", re.IGNORECASE)
This regex requires a literal unicode ✅ emoji character immediately after the heading marker, but every workshop file uses the GitHub Markdown shortcode :white_check_mark: instead (e.g., ## :white_check_mark: Checkpoint). As a result, has_checkpoint is False everywhere, score_checkpoint_quality() always returns 0.0, and the Learning KPI index ((2.0 × active_learning + 2.0 × checkpoint_quality + 1.5 × scaffolding) / 5.5) is understated for every step in the corpus — this is a measurement bug, not an actual content gap.
Proposed change
Update CHECKPOINT_RE to also match the :white_check_mark: shortcode form, e.g.:
CHECKPOINT_RE = re.compile(r"##\s+(?:✅|:white_check_mark:)\s*Checkpoint", re.IGNORECASE)
Re-run the rubric against all 30 workshop files to confirm has_checkpoint=True and non-zero checkpoint_quality scores wherever a real checklist exists.
Failure mode classification
Access barrier — this is a tooling/instrumentation defect in the assessment script itself, not a workshop content or learner-facing defect.
Quantitative guardrail
- Current cohort-wide
checkpoint_quality: 0.0/10 (every one of 30 steps)
- Current cohort-wide Learning KPI index: 2.88/10 (active_learning 4.18, checkpoint_quality 0.0, scaffolding 5.0)
- Current
mean_overall_score: 6.38/10
- Because
checkpoint_quality carries a 2.0 weight in the KPI formula, correctly scoring existing checklists (most steps have 5+ checklist items, which the formula scores as min(10, checklist_items × 2.5)) should raise both overall_score and the Learning KPI index for nearly every step — this change cannot lower any score, since it only corrects false negatives.
Acceptance criteria
Suggested owner profile
copilot coding agent
Related to #3132
Generated by 🔬 Workshop Student Simulator · copilot · auto · 219.4 AIC · ⌖ 10.3 AIC · ⊞ 15.2K · ◷
Problem statement
The shared curriculum-quantitative-assessment rubric's
checkpoint_qualitydimension scores 0.0 for all 30 workshop steps, including every step's## :white_check_mark: Checkpointsection that contains a full checklist. The detector in.github/skills/curriculum-quantitative-assessment/curriculum_assessment.pyis:This regex requires a literal unicode ✅ emoji character immediately after the heading marker, but every workshop file uses the GitHub Markdown shortcode
:white_check_mark:instead (e.g.,## :white_check_mark: Checkpoint). As a result,has_checkpointisFalseeverywhere,score_checkpoint_quality()always returns0.0, and the Learning KPI index ((2.0 × active_learning + 2.0 × checkpoint_quality + 1.5 × scaffolding) / 5.5) is understated for every step in the corpus — this is a measurement bug, not an actual content gap.Proposed change
Update
CHECKPOINT_REto also match the:white_check_mark:shortcode form, e.g.:Re-run the rubric against all 30 workshop files to confirm
has_checkpoint=Trueand non-zerocheckpoint_qualityscores wherever a real checklist exists.Failure mode classification
Access barrier — this is a tooling/instrumentation defect in the assessment script itself, not a workshop content or learner-facing defect.
Quantitative guardrail
checkpoint_quality: 0.0/10 (every one of 30 steps)mean_overall_score: 6.38/10checkpoint_qualitycarries a 2.0 weight in the KPI formula, correctly scoring existing checklists (most steps have 5+ checklist items, which the formula scores asmin(10, checklist_items × 2.5)) should raise bothoverall_scoreand the Learning KPI index for nearly every step — this change cannot lower any score, since it only corrects false negatives.Acceptance criteria
overall_scorefor affected steps stays flat or improves after the regex fix (expected: improves for the ~30 steps with real checkpoints)(2.0 × active_learning + 2.0 × checkpoint_quality + 1.5 × scaffolding) / 5.5) stays flat or improves cohort-wide (expected: improves from 2.88/10 toward the true value)CHECKPOINT_REmatches both the unicode ✅ form and the:white_check_mark:shortcode form, verified against a sample of workshop filesSuggested owner profile
copilot coding agentRelated to #3132