Write the scorer that decides whether a challenge record actually challenges anything.
score_challenge(record) returns one verdict string, by these rules
in order:
record["challenger"] == record["author"]→INVALID — self-review is not challenge- 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} - 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