promptdojo_

Why most beginner agents die in production — and how to pick one that ships — 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.

Final drill. Synthesize the wedge checklist into one function: pick_capstone(candidates) that takes a list of project pitches and returns the NAME of the highest-scoring candidate.

Each candidate is a dict with:

  • name: string
  • volume_per_day: int
  • output_schema_defined: bool
  • has_rubric: bool
  • users_count: int
  • eval_method_defined: bool

Score each candidate using the same five rules from step 06 (each passing signal adds 20):

  • volume_per_day >= 10: +20
  • output_schema_defined: +20
  • has_rubric: +20
  • 1 <= users_count <= 10: +20
  • eval_method_defined: +20

Return the name of the highest-scoring candidate. On a tie, return the FIRST one in the list (Python's max with key= preserves stable order).

Five candidates run. Expected output:

ship: Support email triage

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