Skip to main content
Back to Prompt Library
implementation

Build the application

Inspect the original prompt language first, then copy or adapt it once you know how it fits your workflow.

Linked challenge: Build a Watchlist False Positive Whitelist Decay Auditor

Format
Code-aware
Lines
88
Sections
11
Linked challenge
Build a Watchlist False Positive Whitelist Decay Auditor

Prompt source

Original prompt text with formatting preserved for inspection.

88 lines
11 sections
No variables
1 code block
## Build
Analyze historically whitelisted screening matches against fresh yente FollowTheMoney entity updates. Flag previously cleared entities that have accumulated new risk identifiers requiring re-adjudication.

## User
Senior Sanctions Compliance Officer

## Workflow
1. Ingest historical screening whitelists containing cleared FollowTheMoney entities and original analyst rationales.
2. Query a simulated yente service for the latest entity properties and sanction listing history for each whitelisted target.
3. Compare historical entity profiles against current properties to detect newly added aliases, passports, or risk tags.
4. Generate a re-adjudication queue prioritizing whitelisted matches with significant material changes in their underlying risk profile.

## Interface
Browser-based compliance dashboard showing reviewer adjudication diffs, source lineage provenance trees, and dispute escalation triggers.

## Data
Use open-source yente FollowTheMoney entity format definitions and generate synthetic screening alert files containing contradictory reviewer dispositions.
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 entity and match structures defined in the yente open-source data toolkit documentation to model screening hits and watchlist provenance.

## Tools
llamaindex, pydantic, fastapi.
LlamaIndex indexes reviewer adjudication notes, discrepancy criteria, and entity schemas to retrieve relevant precedents during arbitration synthesis.
Fast hosted instruction-tuned LLM accessed via API with at least 8k context window for reasoning over multi-analyst narratives.

## 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
- Successfully retrieves updated entity properties from a simulated yente service.
- Identifies material profile changes that invalidate previous false positive rationales.
- Outputs a prioritized re-screening queue in JSON format.

## Starter Examples
```json
[
  {
    "input": {
      "whitelist_id": "WL-992",
      "target_id": "ftm-per-123",
      "cleared_date": "2023-01-15",
      "original_rationale": "Different nationality (Spain vs target's unknown).",
      "current_yente_profile": {
        "schema": "Person",
        "properties": {
          "nationality": [
            "Spain",
            "Russia"
          ],
          "sanctions": [
            "Updated 2024-02: Added Spanish dual citizenship"
          ]
        }
      }
    },
    "expected_output": {
      "whitelist_id": "WL-992",
      "target_id": "ftm-per-123",
      "status": "DECAYED_REQUIRES_REVIEW",
      "material_changes_detected": [
        "nationality",
        "sanctions"
      ],
      "reason": "New dual citizenship matches previously cleared discrepancy."
    }
  },
  {
    "input": {
      "whitelist_id": "WL-993",
      "target_id": "ftm-per-456",
      "cleared_date": "2023-05-10",
      "original_rationale": "Distinct date of birth.",
      "current_yente_profile": {
        "schema": "Person",
        "properties": {
          "birthDate": [
            "1980-01-01"
          ]
        }
      }
    },
    "expected_output": {
      "whitelist_id": "WL-993",
      "target_id": "ftm-per-456",
      "status": "VALID",
      "material_changes_detected": [],
      "reason": "No material changes to entity profile since clearance."
    }
  }
]
```

## Safety
Processes mock screening decisions only; no live external sanction list updates or financial blocking actions are executed.
Use mock external writes. Require human review before any real deployment.

Adaptation plan

Keep the source stable, then change the prompt in a predictable order so the next run is easier to evaluate.

Keep stable

Hold the task contract and output shape stable so generated implementations remain comparable.

Tune next

Update libraries, interfaces, and environment assumptions to match the stack you actually run.

Verify after

Test failure handling, edge cases, and any code paths that depend on hidden context or secrets.