Checkpoint
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Checkpoint: the review packet a supervising attorney actually wants — triage plus a per-owner escalation digest, so each named human sees their calls in one place.
Write review_packet(extracted, playbook) returning
(rows, escalations, ready):
rows: the(clause, status)list, exactly the four rules from the last step ("REOPEN — no pinpoint"/"OK — preferred"/"OK — fallback"/"ESCALATE -> "+ owner).escalations: a dict mapping each owner's name to the list of their escalated clause names, in extraction order. Owners appear in the order their first escalation appears; owners with none stay out of the dict.ready:Trueonly when there are no REOPEN and no ESCALATE rows.
The report loop (provided) prints the rows, the digest, and the verdict. Expected output:
limitation_of_liability: OK — fallback
indemnification: ESCALATE -> E. Ramos
governing_law: ESCALATE -> D. Chen
data_breach_notice: REOPEN — no pinpoint
audit_rights: ESCALATE -> D. Chen
escalations:
E. Ramos: indemnification
D. Chen: governing_law, audit_rights
mark-up ready: NO