Mid-lesson progress check for claude-teacher. Compares the learner's current artifacts against the lesson rubric, updates the progress file, and tells the learner what's still missing. Does NOT mark the lesson complete — that is /review-submission. Use when the learner says "I think I'm done", "can you check where I am", or when they run this directly.
Teacher Terminal only. A checkpoint is a soft evaluation — it never advances the lesson, it only reports status.
$1 — course id$2 — lesson id (defaults to current lesson in .claude-teacher/state/$1.json)Load progress. Read .claude-teacher/progress/$1/$2.json. If missing,
tell the learner to run /lesson-start first.
Increment attempt_count. attempt_count += 1, set
last_checkpoint_at to now.
Load the rubric. Read runtime/courses/$1/lessons/$2/rubric.md and
extract each rubric item (id, pass_signal, fail_signal).
Find the artifacts. From the lesson's submission_path, locate the
learner's output. Also glob any other paths the lesson.md specifies as
artifacts. Record them in in the progress file.
artifacts[]Delegate grading to the teacher-coach subagent. Pass it the course id, lesson id, rubric items, artifact file contents, and current progress JSON. Ask it for:
hint_level_maxnext_recommended_actionadvance_to_next_lesson: false (this is a checkpoint, never an
advance)Merge the coach's decision into the progress file. Update
rubric_scores. Never lower a rubric score that was previously passing
unless the underlying artifact actually regressed.
Report to the learner. Structure:
lesson=$2 attempt=<n> passing=<x>/<y>/review-submission $1 $2
to formally close the lesson.complete here. Only /review-submission can do
that.completed_lesson_ids in the course state file./give-hint.