Expand description
The lesson↔runner grading join: pick a language’s runner and turn each lesson check code-string into a typed pass/fail outcome.
This is where lesson meets runner. It
depends on both only through their public types — a Language to choose a
runner, the Runner trait to execute, and a lesson’s check code-strings to
grade against (§3.1). Selecting the runner is pure; running checks is
effectful (§2.1, §2.2). This module classifies outcomes; it does NOT build
prompts or call LLMs — that is the provider layer’s job (§4.1).
Enums§
- Check
Outcome - The verdict for a single lesson check.
- Runner
Kind - A runner chosen for a lesson’s language.
Functions§
- run_
checks - Run each
checkagainstsubmissionthroughrunner, returning oneCheckOutcomeper check, in order. - select_
runner - Select the runner for a lesson’s
language, threadingpackagesto the Python runner (ADR-0011).