This is a decision-layer test, not a new visual direction. Each lesson receives a different learner journey before model copy is drafted; deterministic gates then reject clone structures, forced interactions, shallow Deep Dives, and renderer-invalid figures.
5/5 generated lessons accepted · zero model calls in the re-audit
48compiled lessons audited
21lessons still sharing one exact old recipe
5different experience patterns in the new level
Generated portfolio
Five different reasons to keep going
The key test is not “did the model use new prose?” It is whether the learner is asked to think differently from lesson to lesson.
Why checking comes before running Explains why the tool verifies a description before acting on it, rather than simply running whatever it's given — a distinction the entry screen has no room to earn.
02
guided anatomy
inside a go program
Learner journey
notice>notice>explain>contrast>verify>transfer
Thinking action
choice + choice
Surface
terminal + source + hierarchy + none
Deep Dive
Why nesting, not sequence Explains why reading these three parts as steps in order breaks down, and gives the containment model that keeps working once a program has many functions.
03
prediction to evidence
follow the message
Learner journey
predict>reveal>verify>transfer>reveal>compress
Thinking action
prediction + prediction
Surface
source + terminal + none
Deep Dive
Why the quotes vanish Explains the boundary between source syntax and runtime value: quotation marks are structural markers for the compiler, not data delivered to output.
04
diagnostic repair
errors are clues
Learner journey
encounter>diagnose>repair>verify>compress
Thinking action
choice + string-repair
Surface
source + terminal + none
Deep Dive
Anatomy of a compiler diagnostic Beyond this one message, it teaches the fixed shape every Go diagnostic follows — file, line, and stated rule — so future errors read as coordinates instead of requiring guesswork.
05
independent proof
make it run
Learner journey
notice>explain>explain>construct
Thinking action
go-workspace
Surface
terminal + source + none
Deep Dive
What actually proves it ran Explains why watching text change isn't proof — only the terminal's exit code and clean stderr confirm a successful run, distinct from a build failure.
Honest limit
This does not solve the art library.
The director can only select approved primitives. Where a beginner-safe visual is missing, it records a primitive gap rather than fabricating an AI-looking diagram. Fable’s tag work is the next input to this selector; once a tagged beginner skin is approved, the director can use it without changing course logic.
What changed
A course is now a portfolio, not five prompts.
The workflow writes an experience assignment first; lets the model fill a constrained storyboard; compiles through the real phone renderer; then runs both a lesson-level and corpus-level sameness audit. Generation took 233.5 seconds in this run, but re-auditing is free and immediate.