The problem
The broker was hand-reviewing ~38,000 pre-trade alerts per week. Reviewers were missing the long tail. The compliance team wanted machine triage — but not the kind that gets explained to the regulator as "the model decided."
We needed a system that could justify every block in plain language, with citations.
— Head of Compliance, Fintech, Europe
Our approach
We didn't replace the reviewer — we replaced the triage queue. The system explains its reasoning span-by-span; the reviewer accepts or kicks back.
Three decisions shaped the system:
- Typed envelopes between agents. Every agent-to-agent message has a versioned schema. Codegen handles the boilerplate.
- Deterministic eval gates. A regression in rule-coverage stops the deploy automatically.
- Full audit trail. Trace IDs on every span. A reviewer can replay any decision exactly.
Architecture notes
Four specialized agents coordinate over A2A: intake, rule matching, explanation, and reviewer-facing triage. Orchestration keeps task state durable so a mid-flight failure resumes without redoing completed steps. Interactive portal embeds (architecture diagram, sample run) stay app-local; this CMS body is the narrative.
Outcomes
| Metric | Result |
|---|---|
| Review-time cut | 73% |
| False-positive rate | −61% |
| Rules covered | 1,247 |
| Latency p95 | 1.8s |
| Hours saved / month | 1,420 |
They shipped a system that survived our peak weeks. The evals caught two regressions that would have made it to production otherwise.
— VP of Engineering, Fintech, Europe