promptdojo_

Challenge the recommendation, then rerun the memo — step 6 of 7

Write the scorer that decides whether a challenge record actually challenges anything.

score_challenge(record) returns one verdict string, by these rules in order:

  1. record["challenger"] == record["author"]INVALID — self-review is not challenge
  2. Otherwise collect every triad leg whose evidence is empty (empty or whitespace-only string). If any: SENT BACK — {n} leg(s) unanswered: {legs, comma-joined, in dict order}
  3. All three legs answered → STANDS — all three legs answered, ship with findings

The report loop prints {id}: {verdict}. Expected output:

R-1: SENT BACK — 2 leg(s) unanswered: ongoing_monitoring, outcomes_analysis
R-2: INVALID — self-review is not challenge
R-3: STANDS — all three legs answered, ship with findings

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