In a multi-agent system the dangerous failure is not the crash — it is the subagent that returns something plausible after a partial failure. Build explicit error classification, and make the coordinator's behaviour depend on the class.
What to build
- Define three error classes: transient (retry), permanent (fail fast), and degraded (partial result usable).
- Have each worker return a status field alongside its payload, never a bare string.
- Retry transient errors inside the tool with backoff, so the agent never sees them.
- Surface permanent errors to the coordinator with enough context to route around them.
- For degraded results, return the partial payload plus an explicit coverage note.
- Make the coordinator refuse to synthesise a confident answer when coverage is incomplete.
Done when
- The coordinator's final output states its coverage when any worker degraded.
- Transient failures never reach the model — they are absorbed and retried in the tool.
- A permanent failure produces a clearly failed run, not a confident wrong answer.
- An empty result is distinguishable from a failed lookup.
If you want to go further
- Add a coverage threshold below which the coordinator escalates to a human instead of answering.
The trap this exercise teaches
Before you start
The theory behind this build is covered in Error classification and propagation. If any step below is unfamiliar, read that first — the exercise assumes it. Primary source: Claude Docs — Tool use.
Check yourself against the exam
This exercise sits in Domain 1, which is 27% of the CCAR‑F exam. Once you have built it, run a domain drill in the study app and see whether the questions read differently.