Change the Learn Curriculum
Each Learn lesson has one numeric-prefix identifier. Work from site/learn/ for all commands.
Prerequisites
Section titled “Prerequisites”Select a lesson identifier such as 01-hello-beskid. Set BESKID_BINARY to the verified CLI executable that will check the lesson. Do not use a different compiler revision to approve the lesson.
At the pinned baseline, 09-cli-help, 10-cli-format, and 11-cli-build are instruction-only folders. The aggregate check:all gate must stop at 09-cli-help because it has a missing start.bd. Complete these folders before you use aggregate success as evidence.
| Source | Responsibility |
|---|---|
src/data/learningCatalog.ts | Web metadata and ordered exercise catalogue. |
curriculum/<lesson>/lesson.md | Learner instructions. |
curriculum/<lesson>/start.bd | Editable starter source. |
curriculum/<lesson>/solution.bd | Reference implementation. |
scripts/check-lesson.mjs | Command selection and one-lesson validation. |
The lesson folders cover analyze, parse, tree, and run checks. OpenSpec remains normative for language behavior.
Actions
Section titled “Actions”- Inspect
src/data/learningCatalog.tsfor the selected lesson identifier and command mode. - Inspect
lesson.mdin the matching numeric-prefix lesson folder. - Change
start.bdas the learner’s initial source. - Change
solution.bdas the verified reference implementation. - Run
pnpm run lesson:check 01-hello-beskidwith the selected lesson identifier in place of01-hello-beskid. - Run
pnpm run check:allafter the one-lesson check passes.
Expected result
Section titled “Expected result”The one-lesson check reports <lesson-id>: <command> pass. For a complete curriculum, the all-lesson check validates each numeric-prefix folder in deterministic order and exits successfully. At the pinned baseline, record the known instruction-only stop instead of claiming aggregate success.
Recovery
Section titled “Recovery”If the checker reports Unknown lesson slug, compare the folder name with the catalogue identifier. If one lesson fails, stop at the first failing lesson and read its CLI diagnostic. Do not change the normative language rule to make a lesson pass.
For a run lesson, use the runtime-kit recovery that the checker reports. Do not treat a missing runtime kit as a lesson-content failure.
Next task
Section titled “Next task”Use Beskid Learn to check the learner-facing path after all lesson checks pass.