promptdojo_

The numbers pass — every claimed metric traced to the export — step 7 of 7

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 final pass before the relaunch results go out. Two things want to publish — a results-recap email and a victory-lap social post — and both ride on the report's numbers. Run the whole spine at once.

Write campaign_audit(claims, export, queue):

  1. For each claim {"metric", "value"}, in order, print:
    • f"{c['metric']:<8} {c['value']:>6} TRACED" when the value equals export[c["metric"]]
    • f"{c['metric']:<8} {c['value']:>6} INVENTED (export: {actual})" otherwise
  2. For each queue row {"piece", "approved_by"}, in order, print:
    • f"{r['piece']}: OK ({r['approved_by']})" when approved_by is non-empty
    • f"{r['piece']}: BLOCKED (no approver)" otherwise
  3. Verdict line: if every claim traced AND every row has an approver, print verdict: CLEARED FOR PUBLISH. Otherwise print f"verdict: HELD ({invented} invented number(s), {blocked} unapproved row(s))".

Expected output:

sent      18200  TRACED
opens      4914  TRACED
clicks      618  TRACED
signups     230  INVENTED (export: 212)
results-recap email: OK (dana)
we-hit-record post: BLOCKED (no approver)
verdict: HELD (1 invented number(s), 1 unapproved row(s))

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