The problem
A Lusaka distributor receives hundreds of MTN and Airtel mobile-money payments a month, often with a phone number and a half-typed reference instead of an invoice number. Someone spends days matching payments to invoices, preparing Smart Invoice entries and chasing late payers. It is exactly the work an agent can take on, and exactly the work where a confident mistake moves money.
You build the agent the way the source course defines agent systems engineering: a typed tool registry exposed as an MCP server, an explicit state machine, memory with rules for what persists, orchestration you can reason about, a failure and prompt-injection suite (including instructions hidden in payment references and WhatsApp replies), evaluation on trajectories rather than final answers, and runtime traces showing every stop, retry and escalation.
Architecture
statement CSV (MTN, Airtel) open invoices customer ledger
\ | /
+------ MCP server: typed tool registry ------+
| parse_statement match_payment get_invoice |
| draft_smart_invoice send_whatsapp_template |
| request_approval (writes need approval) |
+---------------------------------------------+
|
state graph: ingest -> match -> review -> act
| | | |
memory: confidence human audit log
customer threshold approval + traces
aliases queue
|
eval: trajectory suite + injection suite + false-completion checksWhat you hand in
- A typed tool registry served over MCP, with read tools and approval-gated write tools
- An explicit state graph with retry, stop and escalation paths
- Memory for customer aliases and phone numbers with expiry rules
- An injection and failure suite: instructions in payment references and WhatsApp replies, duplicate payments, partial payments
- A trajectory evaluation on 100 labelled statement lines, and traces for a full month’s run
How it is marked
Trajectory evaluation
Match accuracy and correct escalations on 100 labelled lines
Safety and injection defence
Pass rate on the injection and failure suite
Runtime evidence
Traces show every stop, retry, escalation and approval
Tool contracts
Typed schemas, MCP registry, read and write separation
State and memory
Explicit transitions; memory with documented expiry
Human approval and audit
No money-affecting action without a recorded approval
Weights out of 100
Get it reviewed
Paste your capstone report. Jev scores the evidence against each rubric line; the final mark comes from your mentor’s code review.
Reviews open with an access code.
Adapted from open-source work: AI Engineering from Scratch by Rohit Ghumare (MIT, lesson text, code and quizzes); Awesome LLM Apps by Shubham Saboo (Apache-2.0, starter code); AI Engineering Interview Questions by Outcome School (Apache-2.0, interview questions). Capstones, milestones, data packs and Zambian context by Zambrite.