Skip to content

[curriculum-eval] side-quest-17-07-repo-poisoning.md: cognitive_load — 23 new concepts crammed into one page with practice deferred to the end #3129

Description

@github-actions

File: workshop/side-quest-17-07-repo-poisoning.md
Overall Score: 4.97 / 10.0 (corpus mean: 6.15)

Flagged Dimensions:

Dimension Score Benchmark Delta
cognitive_load 5.9 ≤ 800 words, ≤ 15 new concepts word_count 1224 (-4.1), new_concepts 23 (-4.0)
active_learning 2.7 ≥ 3 density -7.3

Root Cause (≤ 2 sentences):
The page introduces 23 new concepts (frontmatter fields like contents: read, toolsets, safe-outputs, allowed-files, protected-files.exclude, protected-files.policy, network.allowed-domains, plus the attack-scenario vocabulary) across 1,224 words — nearly triple the concept budget in 50% more words than ideal — while only 4 code blocks and 6 checklist items yield an activity density of 0.82, well under the ≥3 benchmark, despite the page containing two "Exercise" sections that read as more substantial than the density score suggests.

Evidence (quoted from the file):

Repository poisoning is what happens when a misdirected agent with write access commits changes an attacker designed — not changes the workflow author intended... The embedded YAML block in that issue body would define a job that exfiltrates ${{ secrets.GITHUB_TOKEN }} to an attacker-controlled server.

Learning Science Rationale:
Sweller's Cognitive Load Theory predicts that introducing 23 new concepts in one sitting exceeds working-memory capacity (typically 4±1 novel schema elements can be integrated per session without scaffolding), especially when the concepts are abstract security/permissions vocabulary rather than concrete, previously-encountered terms — this risks learners skimming the four defensive mechanisms (contents: read, create-pull-request, protected-files, network.allowed-domains) without deeply encoding any of them. Splitting the content into a "concept" pass and a "practice" pass would let Bloom's Apply-level exercises consolidate one mechanism at a time instead of asking learners to apply all four simultaneously in the final "Harden Your Workflow" exercise.

Improvement Prompt (for an agent):

Edit workshop/side-quest-17-07-repo-poisoning.md to reduce new-concept density and raise activity density:
1. Split the "How AW Defends Against It" section (currently introducing all 4 defenses: contents:read, safe-outputs:create-pull-request, protected-files, network.allowed-domains back to back) so each defense gets its own short "Exercise: apply this to your workflow" mini-checkpoint with a 1-2 item inline checklist immediately after its explanation, instead of deferring all practice to a single "Harden Your Workflow" exercise at the end.
2. Trim the "The Attack" narrative section by ~150-200 words: keep the exfiltration scenario but remove redundant restatement (the same scenario is explained twice — once in "The Attack" and again in "Why This Matters").
3. Keep the existing "Spot the Dangerous Frontmatter" and "Harden Your Workflow" exercises, but shorten the surrounding prose so total word count moves from ~1224 toward 950-1050.
4. Do not remove any of the four defensive mechanisms from the content — only redistribute practice opportunities earlier in the page.
5. Run `npx --yes markdownlint-cli2 "workshop/side-quest-17-07-repo-poisoning.md"` after editing.

Expected Score After Fix: 6.5 / 10.0

Generated by 🔬 Curriculum Quality Evaluator · copilot · auto · 62.1 AIC · ⌖ 23.2 AIC · ⊞ 9.5K ·

  • expires on Sep 10, 2026, 3:45 PM UTC

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions