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 whole chapter in one function. Acceptance records in, steering-committee status out — no human opinion anywhere in the pipeline.
Write status_report(project) where project maps workstream name →
list of tasks (each with id, launch_blocking, accepted,
rework, overdue). Using task_rag and worst-of severity
(green < amber < red), print:
- One line per workstream, in dict order:
{name}: {worst-of its task rags} project: {worst-of the workstream rags}- The gate: collect ids of launch-blocking, non-green tasks across
all workstreams (workstream order, then task order). Print
verdict: GOif none, elseverdict: NO-GO — {ids comma-joined}.
Expected output:
payments: green
onboarding: amber
reporting: red
project: red
verdict: NO-GO — O-2, R-1