Build a Financial Crime Investigation Workload Prioritization Dispatcher
Score and prioritize financial crime investigative queues using configurable fictional business rules. Map case attributes to investigator specialization and capacity to produce transparent operational rosters.
What you are building
The core problem, expected build, and operating context for this challenge.
Score and prioritize financial crime investigative queues using configurable fictional business rules. Map case attributes to investigator specialization and capacity to produce transparent operational rosters.
AML Investigation Team Lead
Ingest batches of pending fictional financial crime case files containing entity risk, value, and alert types.
Calculate deterministic priority scores using weighted factors for corporate exposure, cross-border tags, and statutory SLA limits.
Evaluate investigator roster metrics including active load, jurisdiction certifications, and current backlog.
Generate a balanced investigation dispatch roster with explicit routing rationales and escalation markers.
Investigative operations dispatch console showing backlog queues, investigator capacity gauges, and assignment logs.
Construct a synthetic JSON fixture of fictional alert records and investigator profiles. Starter examples below are synthetic. They are not downloaded records.
OpenSanctions data toolkit Employ FollowTheMoney entity property types (jurisdiction, amount, currency, entity schema) for uniform alert attributes.
langgraph, pydantic, fastapi. LangGraph manages stateful queue routing loops and conditional dispatcher nodes efficiently. Local or hosted LLM with tool-calling capabilities for routing decisions.
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.
Calculates deterministic priority rank adhering to SLA deadline and multi-factor risk weighting.
Respects investigator caseload caps during automated assignment passes.
Provides clear reason codes explaining why a case was routed to a specific analyst.
Returns full priority queue JSON payload with valid ISO timestamps and routing keys.
```json [ { "input": { "cases": [ { "case_id": "CASE-901", "entity_type": "Company", "jurisdiction": "ky", "aggregate_amount": 750000, "days_to_sla": 2 }, { "case_id": "CASE-902", "entity_type": "Person", "jurisdiction": "us", "aggregate_amount": 12000, "days_to_sla": 14 } ], "investigators": [ { "id": "inv_1", "name": "Elena Vance", "active_cases": 2, "max_capacity": 5, "specialties": [ "offshore", "corporate" ] }, { "id": "inv_2", "name": "Marcus Reid", "active_cases": 4, "max_capacity": 5, "specialties": [ "retail", "structuring" ] } ] }, "expected_output": { "dispatches": [ { "case_id": "CASE-901", "assigned_to": "inv_1", "priority_tier": "critical", "score": 95, "routing_reason": "SLA expiring in 2 days and offshore corporate jurisdiction match." }, { "case_id": "CASE-902", "assigned_to": "inv_2", "priority_tier": "low", "score": 30, "routing_reason": "Low value domestic person alert within safe SLA threshold." } ], "unassigned_cases": [] } }, { "input": { "cases": [ { "case_id": "CASE-903", "entity_type": "Company", "jurisdiction": "pa", "aggregate_amount": 1500000, "days_to_sla": 1 } ], "investigators": [ { "id": "inv_3", "name": "Sarah Chen", "active_cases": 5, "max_capacity": 5, "specialties": [ "offshore" ] } ] }, "expected_output": { "dispatches": [], "unassigned_cases": [ { "case_id": "CASE-903", "priority_tier": "critical", "score": 98, "status": "queued_capacity_exceeded", "routing_reason": "Investigator capacity full; requires supervisor rebalancing." } ] } } ] ```
Utilizes purely synthetic scenarios with no real names, simulated routing only, and no automated regulatory reporting. Use mock external writes. Require human review before any real deployment.
Participation guide
Utilizes purely synthetic scenarios with no real names, simulated routing only, and no automated regulatory reporting. Use mock external writes and human review.
How work is evaluated
Calculates deterministic priority rank adhering to SLA deadline and multi-factor risk weighting. Respects investigator caseload caps during automated assignment passes. Provides clear reason codes explaining why a case was routed to a specific analyst. Returns full priority queue JSON payload with valid ISO timestamps and routing keys.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
Complete workflow
Ingest batches of pending fictional financial crime case files containing entity risk, value, and alert types. Calculate deterministic priority scores using weighted factors for corporate exposure, cross-border tags, and statutory SLA limits. Evaluate investigator roster metrics including active load, jurisdiction certifications, and current backlog. Generate a balanced investigation dispatch roster with explicit routing rationales and escalation markers.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Calculates deterministic priority rank adhering to SLA deadline and multi-factor risk weighting. Respects investigator caseload caps during automated assignment passes. Provides clear reason codes explaining why a case was routed to a specific analyst. Returns full priority queue JSON payload with valid ISO timestamps and routing keys.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Investigative operations dispatch console showing backlog queues, investigator capacity gauges, and assignment logs.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Utilizes purely synthetic scenarios with no real names, simulated routing only, and no automated regulatory reporting.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Ingest batches of pending fictional financial crime case files containing entity risk, value, and alert types.
Calculate deterministic priority scores using weighted factors for corporate exposure, cross-border tags, and statutory SLA limits.
Evaluate investigator roster metrics including active load, jurisdiction certifications, and current backlog.
Generate a balanced investigation dispatch roster with explicit routing rationales and escalation markers.
Reference links and supporting material
Construct a synthetic JSON fixture of fictional alert records and investigator profiles. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
LangGraph
Runtime for stateful agent workflows.
Evaluated output
No output checks are configured.
- Ingest batches of pending fictional financial crime case files containing entity risk, value, and alert typ...
- Calculates deterministic priority rank adhering to SLA deadline and multi-factor risk weighting. Respects i...
- Investigative operations dispatch console showing backlog queues, investigator capacity gauges, and assignm...
- 2 public reference cases
- 2 configured tools
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- LangGraph · Optional
- LangGraph · Optional
Evaluation contract
- Complete workflow · Weight 40
- Correctness and evidence · Weight 30
- Review interface · Weight 20
- Safe execution · Weight 10
Reference cases
- 2 public reference cases
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.