Full-access lesson
Structured Output
> Feed this chapter's validator the same 14 candidate support-ticket outputs twice — once in strict mode, once in lenient mode — and strict mode rejects 8 of them while lenient mode rejects only 6. The 2-candidate gap is not noise: both rejected candidates were structurally sound data that broke exactly one rule, "no unexpected fields." The other 6 rejections don't move at all between modes, because they are wrong for reasons no mode setting can wave away: 2 missing a required field, 2 with the wrong JSON type, and 2 with a value outside the allowed set.
The complete curriculum
All 12 volumes, companion resources, interviews, and architecture reviews.
Executable engineering practice
Subscriber-only Python, Java, TypeScript, and SQL labs in the isolated runner.