Module run

Module run 

Source
Expand description

The student run loop: execute a submission, grade it, ask the LLM for a verdict, and bundle the result into a typed RunReport.

This is the effect-shell that composes the runner, grade, and llm layers through their public types only (§2.4, §3.3): it executes the submission for its captured output, grades the lesson’s checks, builds the prompt, and requests a verdict. It adds no domain logic of its own — it neither builds prompts nor talks to a provider directly (those are the llm layer’s), and it does not render output or map exit codes (those belong to the cli edge). The result is a RunReport, a typed value carrying the Verdict, the per-check outcomes, and the captured output, with a stable JSON form for --format json.

Structs§

RunReport
The result of running one submission against a lesson: the graded verdict, the per-check outcomes, and the submission’s captured output.

Enums§

RunError
Why a run could not produce a report.

Functions§

run_lesson
Run submission against lesson and produce a RunReport.