Checkpoint
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Checkpoint. Report the gate result and what blocked it. Write
gate(results) that returns "blocked by: {failed}" listing the failed
checks (in order) when any fail, else "merge ok".
For a run where only scaffold_detector failed:
blocked by: ['scaffold_detector']