File: workshop/04-github-actions-intro.md
Overall Score: 5.39 / 10.0 (corpus mean: 6.14)
Flagged Dimensions:
| Dimension |
Score |
Benchmark |
Delta |
| cognitive_load |
~3.9 (word component ~10, concept component ~3.7) |
≤ 15 new concepts |
large |
| active_learning |
3.9 |
density ≥ 3 → 10 |
-6.1 |
Root Cause (≤ 2 sentences):
The metric counts 28 new bolded/code terms in a 756-word page (trigger, jobs, steps, runner, .github/workflows/, on, runs-on, uses, run, self-hosted runner, plus every cell in the two comparison tables), well above the 15-concept ideal, even though word count itself is fine. The missing_checkpoint flag is a false positive from the shortcode regex bug — the page has a real checkpoint with 5 items at line 138.
Evidence (quoted from the file):
"A GitHub Actions workflow is a YAML file in .github/workflows/ that tells GitHub: when to run (on) what to run (jobs) how each job executes (steps)" followed immediately by a runner definition, a classic-vs-agentic comparison table, and a five-row label-the-parts exercise, all before the learner does anything.
Learning Science Rationale:
Cognitive Load Theory (Sweller) distinguishes intrinsic load (task complexity) from extraneous load (how material is presented); introducing ~10 distinct named primitives (trigger, job, runner, step, action, on, jobs, runs-on, uses, run) in a single unbroken pass before the first hands-on check risks exceeding working-memory capacity (typically cited as 4±1 novel chunks) for a page pitched as a "5 minute" refresher.
Improvement Prompt (for an agent):
Edit workshop/04-github-actions-intro.md to reduce concept density without losing content. Specifically:
1. Merge the "Quick Refresher" prose (on/jobs/steps) and the "Label a sample workflow" exercise so terms are introduced one at a time immediately followed by their labeling exercise, rather than introducing all five primitives (trigger, job, runner, step, action) and then testing them separately afterward.
2. Move the "Why This Matters for Agentic Workflows" comparison table (4 rows: Trigger, Runner, Steps, Output) to a follow-up or linked page, or trim it to the 1-2 rows most relevant to what the learner will do next in Step 5, since it introduces additional vocabulary (permissions model, guardrailed outputs) not used in this page's own exercises.
3. Consider removing or simplifying the collapsible "What is a runner?" aside so self-hosted-runner terminology is deferred to workshop/24-self-hosted-runners.md where it is the primary topic.
Re-run the corpus scoring script and confirm new_concepts drops toward 15-18 and cognitive_load score rises.
Expected Score After Fix: 6.3 / 10.0
Generated by 🔬 Curriculum Quality Evaluator · copilot · auto · 76.7 AIC · ⌖ 17.4 AIC · ⊞ 9.5K · ◷
File:
workshop/04-github-actions-intro.mdOverall Score:
5.39 / 10.0(corpus mean:6.14)Flagged Dimensions:
Root Cause (≤ 2 sentences):
The metric counts 28 new bolded/code terms in a 756-word page (trigger, jobs, steps, runner,
.github/workflows/,on,runs-on,uses,run, self-hosted runner, plus every cell in the two comparison tables), well above the 15-concept ideal, even though word count itself is fine. Themissing_checkpointflag is a false positive from the shortcode regex bug — the page has a real checkpoint with 5 items at line 138.Evidence (quoted from the file):
Learning Science Rationale:
Cognitive Load Theory (Sweller) distinguishes intrinsic load (task complexity) from extraneous load (how material is presented); introducing ~10 distinct named primitives (trigger, job, runner, step, action,
on,jobs,runs-on,uses,run) in a single unbroken pass before the first hands-on check risks exceeding working-memory capacity (typically cited as 4±1 novel chunks) for a page pitched as a "5 minute" refresher.Improvement Prompt (for an agent):
Expected Score After Fix:
6.3 / 10.0