promptdojo_

Numbers with receipts — every figure in the ops report traces to the export or it doesn't ship — step 8 of 8

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 send gate. Two versions of the weekly report — the model's first draft and the corrected resubmission — go through the full verification, and each gets a verdict.

Write report_gate(name, claims, export):

  1. Print {name}:
  2. Recompute the four metrics (same formulas as the last step: row count, mean of days, count of days > 5, percent damaged) and verify each claim in order with tolerance 0.05, printing indented lines: {metric}: VERIFIED ({claimed}) or {metric}: MISMATCH — report {claimed}, export {actual}
  3. Collect the mismatched metric names. Print verdict: HOLD — {names comma-joined} if any, else verdict: SEND.

Expected output:

weekly-ops-w30:
  orders_shipped: VERIFIED (5)
  avg_days: MISMATCH — report 4.2, export 6.0
  late_orders: VERIFIED (2)
  damage_rate_pct: VERIFIED (20.0)
  verdict: HOLD — avg_days
weekly-ops-w30-corrected:
  orders_shipped: VERIFIED (5)
  avg_days: VERIFIED (6.0)
  late_orders: VERIFIED (2)
  damage_rate_pct: VERIFIED (20.0)
  verdict: SEND

full-screen editor opens — close anytime to keep reading.