Rather hand this lab to a coding agent? The Lab section of Chapter 16 opens with a prompt to paste.
labs/ch16: Eval Culture
This chapter's Lab has no code, on purpose. What you run is a meeting (a mock incident postmortem).
The material is in material/: the full trace material pack for Chapter 12's forged customer email
plus that round's red team layered interception tally (Chapter 12 ended by saying "leave it closed
until then," and this is then).
Material missing, or you want to reproduce it: python labs/ch16/generate_material.py
(a MODEL_FAKE script, zero API).
Following the chapter's Lab steps:
- Convene a mock postmortem: pull in one or two colleagues to play the owners; one person can also
walk
templates/ch16/incident-postmortem-template.mdend to end. - Timeline and attribution:
python viewer/trace_viewer.py labs/ch16/material/incident-trace.jsonland rebuild it from the trace;first_bad_stepis the step that took the forged email at face value (step 2), not the step that got stopped. - Blast radius and defenses: the diff list is empty (an attempt); look at
material/interception-stats.md, only the permission matrix layer of the depth is still working, and that by itself is what has to be handled. - Produce action items: each one in three parts (action → the equipment it points at → owner), compared against the chapter's reference table.
- Self-check: every action item should point at some piece of equipment from the first fifteen chapters; the ones that point at nothing get deleted and rewritten.
With no model API: this chapter is entirely offline (generate_material.py runs under MODEL_FAKE, and the viewer only reads files).
Files in this lab
Full directory: repo/labs/ch16/