[workshop-sim] Repair: Fix checkpoint-quality regex in curriculum_assessment.py to recognize :white_check_mark: shortcode headings
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Start with .github/skills/curriculum-quantitative-assessment/curriculum_assessment.py and inspect CHECKPOINT_RE and the score_checkpoint_quality() tests. Run the assessment against the workshop files and confirm both the literal ✅ and :white_check_mark: headings are detected. Done when checkpoints are scored from their checklist content, the cohort Learning KPI improves, and no workshop content changes.
Written by the indexing model from the issue text.
Description
Problem statement
.github/skills/curriculum-quantitative-assessment/curriculum_assessment.py scores checkpoint_quality as 0.0/10 for all 30 main workshop steps, even though every step (confirmed on 04-github-actions-intro.md, 07-your-first-workflow.md, 07d-confirm-model-access.md, 08-run-your-workflow.md, and others) ends with a properly formatted ## :white_check_mark: Checkpoint section containing a markdown checklist, exactly as required by AGENTS.md. The detection regex CHECKPOINT_RE = re.compile(r"##\s+✅\s*Checkpoint", re.IGNORECASE) only matches the literal unicode ✅ emoji character, but the workshop's actual convention (and AGENTS.md's own documented style) uses the GitHub Markdown shortcode :white_check_mark:. This silently zeroes out one-third of the weight in the Learning KPI index (checkpoint_quality carries a 2.0 weight alongside active_learning) for every single page in the corpus, masking genuine scaffolding and making the Learning KPI index (currently 2.87/10) artificially pessimistic.
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 assessment script against all workshop files and confirm has_checkpoint becomes True and checkpoint_quality is scored on its actual content-quality criteria (not zeroed) for every page with a real checkpoint section.
Failure mode classification
Learning barrier (measurement defect) — this is not a dropout-causing problem for learners, but it is a content-quality measurement gap that misrepresents the curriculum's actual scaffolding quality and would misdirect future repair priorities if left uncorrected.
Quantitative guardrail
Current cohort-wide values: checkpoint_quality mean 0.0/10 across all 30 steps (every step affected identically), Learning KPI index (2.0×4.15 + 2.0×0.0 + 1.5×5.0)/5.5 ≈ 2.87. After the regex fix, checkpoint_quality should rise from its artificial floor to reflect each step's actual checklist quality (item count, specificity, actionability per score_checkpoint_quality), and the Learning KPI index should rise correspondingly — this is a pure correction, not a content change, so overall_score per step should only increase or stay flat, never decrease, since no step currently benefits from the broken regex.
Acceptance criteria
- The shared curriculum quantitative assessment
overall_scorefor every step with an existing:white_check_mark: Checkpointheading stays flat or improves after the regex fix - The cohort-wide Learning KPI index (
(2.0 × active_learning + 2.0 × checkpoint_quality + 1.5 × scaffolding) / 5.5) improves measurably oncecheckpoint_qualityis no longer artificially zeroed - No existing checklist items, checkpoints, or scaffolding content are touched — this is a scoring-tool fix only, not a workshop content change
-
score_checkpoint_quality()unit tests (new or existing) confirm both the unicode ✅ and:white_check_mark:shortcode forms are detected
Suggested owner
copilot coding agent (small, well-scoped regex fix with an existing test harness in curriculum_assessment.py)
Related to #4247
Generated by 🔬 Workshop Student Simulator · copilot · auto · 246.5 AIC · ⌖ 8.13 AIC · ⊞ 15.1K · ◷
- expires on Oct 7, 2026, 9:06 AM UTC
- Dominant language
- JavaScript
- Stars
- 52
- Forks
- 26
- Avg merge
- 11h 32m
- Merged PRs (30d)
- 22
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from githubnext/gh-aw-workshop
-
[workshop-sim] Repair: Add a fallback sample .lock.yml to the Agentic Workflows Intro Activity 1Openfeedback simulation workshop
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
githubnext/gh-aw-workshop#4328 ·
Maintainers usually reply within 1 day
-
documentation guidelines
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
githubnext/gh-aw-workshop#4314 ·
Maintainers usually reply within 1 day
-
curriculum documentation quality
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
githubnext/gh-aw-workshop#4311 ·
Maintainers usually reply within 1 day
-
curriculum documentation quality
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
githubnext/gh-aw-workshop#4309 ·
Maintainers usually reply within 1 day
-
curriculum documentation quality
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
githubnext/gh-aw-workshop#4310 ·
Maintainers usually reply within 1 day
All issues in githubnext/gh-aw-workshop
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
naver/egjs-flicking#971 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
RADAR-base/radar-self-enrolment-ui#118 ·
Maintainers usually reply within 1 day
-
Renderer treats a sub-pixel width difference as a resize, which cancels the `motion()` entranceOpen
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
triage-needed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
MicrosoftDocs/edge-developer#3970 ·
Maintainers usually reply within 1 day
-
agent/scanner hive/hosted-available-lke648397-260827-5n31 quality testing
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day