The decision memo with a number in it
Before you start
You own one control area, and this lab ends with the artifact that proves it: a build-vs-buy decision memo a finance partner would accept. Your workspace is the lab directory — the committed FAIR-style fixture (`risk-input.json`, the §5.2 scenario: 12 standing prod-db grants that never expire), the reference calculator's source (`expected_loss.ts`, read it — it is ~80 lines), a scoring-table skeleton, and the memo template. The **Run validator** button runs the module's own calculator against `risk-input.json`: the same deterministic TypeScript the lab ships, ported line for line and CI-verified byte-identical to real `bun expected_loss.ts` runs — every number you see here is the real tool's output, not a prop. On your own machine the same flow is `bash labs/setup.sh`, then `bun expected_loss.ts fixtures/risk-input.json`. One honesty note: the checks here are structural — they verify the memo has every load-bearing part, not that your judgment is good. The judgment is the part that transfers, and it is yours.