Kiln / overnight course-quality review

Stop generating valid clones.

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.

01

concrete consequence

instructions become behaviour

Learner journey
encounter>contrast>reveal>explain>transfer>compress
Thinking action
prediction + choice
Surface
none
Deep Dive
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.