GO TO A SECTION

↑ ↓ to navigate · Enter to openExplore all sections →
FDEInterviews logo
Challenge · Building agents · Premium

Tool schemas that bite

Calder's agent called read_support_case with a case id that does not exist, got a neighbour's record back, and proposed a replacement for it. Tighten the schema and the adapter, and replay the case to a clarification instead.

  • intermediate
  • about 30 min
  • 4 objectives
  • par 9 steps
  • Calder Equipment
Mission workspace

This mission is part of premium, with every challenge and incident in the lab. The brief below is the whole problem; the box, the hints and the debrief are what you unlock.

Get full Premium access · ₹2,000 / $25

Every answer, concept and course, every paper breakdown, all published video lessons, hands-on FDE Lab missions, Premium PDF guides and companion files, the full practice-test bank and work-sample downloads. Referral Premium excludes guide PDFs and their companion files.

6 months · One payment · No auto-renewal

Study alongside free video lessons.

Brief
Customer
Calder Equipment (synthetic customer from the Production AI Agents course; every trace and schema on this box is made up for the exercise)
Situation
Trace tr_02311: the customer wrote my pump, case C0l with a lowercase L. The model called read_support_case('C0l'), the adapter's schema accepted any string, the CRM's fuzzy lookup returned C01, and the agent proposed a replacement for a different customer's pump. The proposal reached the operator queue before anyone noticed.
Your role
You are the FDE who owns the tool contracts. You have the trace, the tool schema file (bound to the live adapter), the adapter's state table and the console. You can replay the recorded case.
Goal
Identify the malformed argument copied from the customer, make the schema refuse it, make the adapter return not_found rather than a neighbor, and replay the case to a clarification instead of a proposal.
Objectives
  1. 1.Name the malformed argument passed to the tool (you commit to an answer)
  2. 2.Make the schema refuse anything that is not a case id
  3. 3.Make the adapter answer not_found instead of a neighbour
  4. 4.Replay the case to a clarification with no record touched