Back to prompt library
Build a Watchlist Match Reviewer Disagreement and Audit Trail Synthesizer — implementation
Linked challenge: Build a Watchlist Match Reviewer Disagreement and Audit Trail Synthesizer
Prompt source
implementation85 lines11 sectionsNo variables1 code block
## Build
Analyze screening adjudication variances across distributed compliance analyst teams reviewing FollowTheMoney entity hits. Reconcile contradictory False Positive and True Match verdicts to construct transparent supervisory audit trails.
## User
Compliance Quality Assurance Officer
## Workflow
1. Ingest completed screening review logs containing analyst notes, verdict choices, and applied risk thresholds.
2. Retrieve underlying FollowTheMoney entity properties and sanction listing history via a simulated yente service.
3. Identify systematic review discrepancies where analysts reached opposite conclusions on identical target entities.
4. Assemble an audit consensus report highlighting evidentiary gaps, policy drift, and retraining opportunities.
## Interface
A review discrepancy workbench displaying analyst rationale side-by-side with underlying watchlist record diffs.
## Data
Fictional JSON compliance review decision tickets cross-referenced against synthetic yente match responses.
Starter examples below are synthetic. They are not downloaded records.
## Source
[OpenSanctions data toolkit](https://raw.githubusercontent.com/opensanctions/yente/main/README.md)
Extracts FollowTheMoney schema entity attributes, match scoring metrics, and yente KYC appliance endpoint structures.
## Tools
crewai, pydantic, fastapi.
CrewAI facilitates multi-agent arbitration where one agent critiques evidence and another drafts policy compliance notes.
Hosted reasoning model capable of identifying subtle discrepancies in natural language justification texts.
## Deliverables
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.
## Acceptance
- Accurately pinpoints all cases with conflicting verdicts for identical FollowTheMoney target entities.
- Categorizes discrepancy drivers into name similarity, PEP status interpretation, or secondary identifier mismatches.
- Outputs a structured audit trail detailing analyst IDs, conflicting tags, and final supervisory consensus.
## Starter Examples
```json
[
{
"input": {
"case_id": "CASE-6612",
"target_id": "Q12345",
"reviews": [
{
"analyst": "usr_10",
"verdict": "FALSE_POSITIVE",
"reason": "Entity confirmed deceased in local register"
},
{
"analyst": "usr_22",
"verdict": "TRUE_POSITIVE",
"reason": "Matches active sanctions identifier"
}
]
},
"expected_output": {
"case_id": "CASE-6612",
"has_conflict": true,
"discrepancy_category": "VITAL_STATUS_CONFIRMATION",
"consensus_verdict": "ESCALATED_SUPERVISOR",
"audit_summary": "Conflicting evidence regarding vital status; requires official death certificate verification."
}
},
{
"input": {
"case_id": "CASE-6613",
"target_id": "Q99999",
"reviews": [
{
"analyst": "usr_10",
"verdict": "TRUE_POSITIVE",
"reason": "Exact passport match"
},
{
"analyst": "usr_22",
"verdict": "TRUE_POSITIVE",
"reason": "Passport and nationality match"
}
]
},
"expected_output": {
"case_id": "CASE-6613",
"has_conflict": false,
"discrepancy_category": "CONSENSUS_REACHED",
"consensus_verdict": "CONFIRMED_MATCH",
"audit_summary": "Unanimous match on primary government identifier."
}
}
]
```
## Safety
Facilitates internal quality control without executing regulatory freeze orders or sharing real personal data.
Use mock external writes. Require human review before any real deployment.