Problem statement
The shared curriculum quantitative assessment rubric (.github/skills/curriculum-quantitative-assessment/curriculum_assessment.py) scores checkpoint_quality as 0.0/10 on all 30 main workshop steps, even though every main step ends with a ## :white_check_mark: Checkpoint section containing a well-formed checklist (verified directly, e.g. 07-your-first-workflow.md:115-122, 04-github-actions-intro.md:138, 08-run-your-workflow.md:99). The root cause is CHECKPOINT_RE = re.compile(r"##\s+✅\s*Checkpoint", re.IGNORECASE), which only matches a literal ✅ character, while every main step uses the GitHub emoji shortcode :white_check_mark: instead. This suppresses the entire checkpoint_quality dimension corpus-wide and drags the cohort-wide Learning KPI index down to 2.88/10 even though genuine checkpoints are present and well-formed.
Proposed change
Update CHECKPOINT_RE in curriculum_assessment.py to match both the literal emoji and the :white_check_mark: shortcode, e.g. re.compile(r"##\s+(?:✅|:white_check_mark:)\s*Checkpoint", re.IGNORECASE). Re-run the assessment across the corpus after the fix to confirm checkpoint_quality scores now reflect the checklist_items count already computed per step (currently unused because has_checkpoint is always False).
Failure mode classification
Learning barrier (measurement/detection gap masking real scaffolding quality, not a content gap) — this is a rubric bug fix, not a workshop content change.
Quantitative guardrail
- Current
overall_score (corpus mean): 6.38/10; this fix is expected to raise, not lower, every step's overall_score since checkpoint_quality is weighted 2.0 in the rubric and currently floors at 0.0 everywhere
- Weakest rubric dimension corpus-wide:
checkpoint_quality (0.0/10 on all 30 steps)
- Current learning KPI index (cohort mean): active_learning 4.18, checkpoint_quality 0.0, scaffolding 5.0 → index = 2.88/10
- Because this only corrects detection (no workshop content changes), no step's
active_learning or scaffolding score is affected, and overall_score/learning KPI index can only increase or stay flat for steps with checklist items, never decrease
Acceptance criteria
Suggested owner
copilot coding agent
Related to #3139
Generated by 🔬 Workshop Student Simulator · copilot · auto · 231.3 AIC · ⌖ 7.23 AIC · ⊞ 15.2K · ◷
Problem statement
The shared curriculum quantitative assessment rubric (
.github/skills/curriculum-quantitative-assessment/curriculum_assessment.py) scorescheckpoint_qualityas 0.0/10 on all 30 main workshop steps, even though every main step ends with a## :white_check_mark: Checkpointsection containing a well-formed checklist (verified directly, e.g.07-your-first-workflow.md:115-122,04-github-actions-intro.md:138,08-run-your-workflow.md:99). The root cause isCHECKPOINT_RE = re.compile(r"##\s+✅\s*Checkpoint", re.IGNORECASE), which only matches a literal✅character, while every main step uses the GitHub emoji shortcode:white_check_mark:instead. This suppresses the entirecheckpoint_qualitydimension corpus-wide and drags the cohort-wide Learning KPI index down to 2.88/10 even though genuine checkpoints are present and well-formed.Proposed change
Update
CHECKPOINT_REincurriculum_assessment.pyto match both the literal emoji and the:white_check_mark:shortcode, e.g.re.compile(r"##\s+(?:✅|:white_check_mark:)\s*Checkpoint", re.IGNORECASE). Re-run the assessment across the corpus after the fix to confirmcheckpoint_qualityscores now reflect thechecklist_itemscount already computed per step (currently unused becausehas_checkpointis alwaysFalse).Failure mode classification
Learning barrier (measurement/detection gap masking real scaffolding quality, not a content gap) — this is a rubric bug fix, not a workshop content change.
Quantitative guardrail
overall_score(corpus mean): 6.38/10; this fix is expected to raise, not lower, every step'soverall_scoresincecheckpoint_qualityis weighted 2.0 in the rubric and currently floors at 0.0 everywherecheckpoint_quality(0.0/10 on all 30 steps)active_learningorscaffoldingscore is affected, andoverall_score/learning KPI index can only increase or stay flat for steps with checklist items, never decreaseAcceptance criteria
overall_scoreimproves (or stays flat) for every step with an existing checklist, verified by re-running the assessment script before and after the regex fix(2.0 × active_learning + 2.0 × checkpoint_quality + 1.5 × scaffolding) / 5.5increases from its current 2.88/10 baselinecurriculum_assessment.pychangescurriculum_assessment.py(if any) pass, and a regression test is added confirming both✅and:white_check_mark:headings are detectedSuggested owner
copilot coding agentRelated to #3139