Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[curriculum-eval] curriculum_assessment.py: checkpoint_quality — emoji-only regex scores shortcode checkpoints as missing

Open Beginner friendly
#4,571 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
markdown, python
Domain
tooling

Research direction

The fix is in .github/skills/curriculum-quantitative-assessment/curriculum_assessment.py, in the CHECKPOINT_RE and Before-You-Start regex definitions, which only match literal emoji. Start by reading those two patterns and one page such as workshop/04-github-actions-intro.md that uses the :white_check_mark: shortcode. Done means both regexes accept the emoji and shortcode forms, new unit tests cover both, and the re-run reports has_checkpoint true for that page.

Written by the indexing model from the issue text.

Description

curriculum documentation quality

File: .github/skills/curriculum-quantitative-assessment/curriculum_assessment.py
Overall Score: corpus mean 6.09 / 10.0 (all pages affected)

Flagged Dimensions:

Dimension Score Benchmark Delta
checkpoint_quality 0.0 on 90/93 pages ≥ 7.5 (checkpoint with ≥ 3–4 items) up to −10
scaffolding 5.0 on 93/93 pages 10 −5

Root Cause (≤ 2 sentences):
CHECKPOINT_RE (##\s+✅\s*Checkpoint) and the Before-You-Start regex (##\s+📋\s*Before You Start) require literal emoji, but workshop pages use GitHub shortcodes (## :white_check_mark: Checkpoint, ## :clipboard: Before You Start), so detection always fails. Result: every non-dispatcher page is penalised ~2.5–3 points of weighted score and findings such as missing_checkpoint are false positives.

Evidence (quoted from the file):

workshop/04-github-actions-intro.md: "## ✅ Checkpoint" followed by 5 checklist items — scored has_checkpoint: false, checkpoint_quality: 0.0.

Learning Science Rationale:
Valid measurement is a precondition for acting on Cognitive Load Theory and retrieval-practice findings: checkpoints are a retrieval-practice mechanism (Roediger & Karpicke), so a rubric that reports them absent misdirects effort toward pages that already comply and hides real gaps (e.g. only 3 pages truly lack checkpoints: 00-welcome, 01-prerequisites, 06-install-gh-aw).

Improvement Prompt (for an agent):

In .github/skills/curriculum-quantitative-assessment/curriculum_assessment.py, update CHECKPOINT_RE to match both the emoji and shortcode forms: r"##\s+(?:✅|:white_check_mark:)\s*Checkpoint", and update the "Before You Start" regex to r"##\s+(?:📋|:clipboard:)\s*Before You Start". Add unit tests covering both forms, rerun the assessment over workshop/*.md, and confirm has_checkpoint is true for pages like 04-github-actions-intro.md and has_prereq_section is true where "## :clipboard: Before You Start" exists. Also check other emoji-based regexes in the file for the same shortcode mismatch.

Expected Score After Fix: ~7.8 / 10.0 corpus mean (from 6.09)

Generated by 🔬 Curriculum Quality Evaluator · copilot · auto · 25.5 AIC · ⌖ 0.831 AIC · ⊞ 10.4K · ◷

  • expires on Oct 15, 2026, 6:54 AM UTC
Dominant language
JavaScript
Stars
53
Forks
35
Avg merge
13h 50m
Merged PRs (30d)
14

Getting set up

Open in Codespaces

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from githubnext/gh-aw-workshop

All issues in githubnext/gh-aw-workshop

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.