Review what comes back like a senior
Lesson 4 of 5 — read generated code adversarially, where models actually fail.
The failure classes models reliably produce, and how to review for intent and edges instead of style.
Prerequisites
Lesson 3 — you have tasks whose output you now need to judge.
Reviewing AI code
Reading generated code adversarially for the failures models reliably make — wrong assumptions, missing edges, plausible-but-wrong APIs.
Want the full picture? Open the reference →
The rubric — the classes models reliably miss
Run this on every diff
const user = await db.users.find(id);return user.profile.name; // TypeError when user or profile is nullconst user = await db.users.find(id);if (!user) return null; // the case it skippedreturn user.profile?.name ?? 'Anonymous';Quiz
A generated function is clean, well-named, and passes the test the model wrote. What is left to do?
Take a diff a model gave you recently and run all seven rubric items on it. Find at least one thing you would change.
Concepts covered · 1
More like this
Persist & filter
Save the list to localStorage so it is still there tomorrow, and wire the All / Active / Done filters. This is the lesson that turns a toy into something you would actually use.
Write the spec the model can hit
A prompt is a specification. The difference between a junior and a senior prompt is the constraints a senior names that a junior leaves to chance. This lesson turns your architecture sketch into a prompt that produces reviewable code.
Add todos with JavaScript
Wire the form so typing and pressing Add creates a real item. You will hold the todos in an array and render the list from it — the pattern every UI framework formalises later.
Liked this one?
Pass it on
Discussion
Be the first to ask
Your questions stay private with the team. We can pin answers to share with everyone.
Sign in to ask a question privately on this tutorial.
Sign inNo pinned answers yet for this tutorial.