Checks that say no. Types, linters, hooks and gates that reject bad work before you ever see it.
Ask an agent if its work is finished and it will honestly tell you yes, because from the inside, almost-right looks the same as right. If nothing in the room can say otherwise, you are the only check there is, and you will be reading diffs until you stop reading them.
Backpressure is the fix. Instead of you saying no after the agent has finished, the environment says no while it is still working, in a form it can act on: a type error, a failing test (a small program that runs your code and checks the answer, which the next chapter covers properly), or a lint error that says what to do next. The agent reads the refusal and tries again, and by the time you look, the easy failures have been dealt with.
This chapter also has to be honest about the limit: a mechanical check can only refuse what someone thought to check. In our own experiment (one small model, one-function tasks, no real repo), a vague brief passed every hidden scenario 88% of the time in one shot, and 91% with a full line of checks behind it. The right words in the brief reached 98% with no checks at all, and 100% with them. Most of that gap is one task, where the vague brief never asked for the behaviour that mattered. The checks did make the code cleaner, and that is a real thing to want.
So the argument runs like this: what a harness is, the two ways to sort any check, the checks themselves from cheapest up, where they run, what they cost, how they break, and how they get walked round.