File size: 585 Bytes
81e1efb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def grade(trajectory) -> float:
final_action = trajectory[-1].action.action
if final_action.action_type != "submit_decision":
return 0.01
if final_action.decision == "FRAUD":
evidence = final_action.evidence_links
# Check if they caught the 3 Smurfs
caught = sum(1 for smurf in ["ACC-9011", "ACC-9012", "ACC-9013"] if smurf in evidence)
if caught == 3:
return 1.0
elif caught > 0:
return 0.4 + (caught * 0.1) # Partial credit
return 0.1 # Failed to catch the structuring |