promptdojo_

mass ugc-looking as a channel — step 7 of 8

Write ship_checklist(campaign) — the pass that runs before a mass UGC-looking batch ships.

campaign is a dict with id, template_arc, fleet_size, bio_cta, disclosure, approver, and receipt_logged.

Collect flags in this order, then print them:

  • missing_disclosure when disclosure is empty
  • missing_approver when approver is empty
  • no_campaign_receipt when receipt_logged is false
  • no_owned_cta when bio_cta is empty
  • underbatched when fleet_size < 3

For each flag, print f"flag: {name}". Then print one verdict line:

  • verdict: BLOCKED when disclosure is missing OR there are two or more flags
  • verdict: NEEDS_WORK when there is exactly one flag (and disclosure is present)
  • verdict: READY_TO_SHIP when there are none

Return the flag list. The harness prints the campaign id. Expected output:

draft_missing_gate
flag: missing_disclosure
flag: missing_approver
flag: no_campaign_receipt
verdict: BLOCKED

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