Sanctions Desk

Sanctions Desk gathers and checks the evidence for every sanctions-screening alert and recommends an outcome; a person with the right entitlement approves it. One alert, start to finish · The problem it works on

Recorded runs / ALR-0004

ALR-0004: Spelling variant of the name, different person

What happened: The decision step proposed a close once; the critic approved it; the policy guard let it stand. Outcome: Close as a false positive (CLOSE_FALSE_POSITIVE), as the label expects.

Outcomes: CLOSE_FALSE_POSITIVE = close as a false positive · ESCALATE_L2 = escalate to level 2 · NEED_MORE_INFO = ask for more information · RECOMMEND_BLOCK = recommend a block (two people must confirm). Raise-only: the policy guard can make an outcome more cautious, never less.

A close: a spelling variant of a listed name with a different date of birth and nationality; the critic approved it, the challenger found no credible argument against it, and the guard let it stand for a person to confirm.

Outcome

Desk recommendation
Close as a false positive (CLOSE_FALSE_POSITIVE)
Label in the case file
Close as a false positive (CLOSE_FALSE_POSITIVE) (eval/cases/exam.json, case EX-004)
Compared with the label
matches the label
Code's first finding
Close as a false positive (CLOSE_FALSE_POSITIVE)
Critic
1 round(s), final: approved
Model calls
4 (1 local, 3 cloud); 4 with a signed receipt, all verified
Run
sys2b-routed-20261023T195504Z, policy version 6, 36 steps in 73.1 s

Case note from the case file: Similar name, but the date of birth conflicts and the nationality differs; no document matches.

Why the close stood

No check stopped this close. It is still only a recommendation: a person confirms or changes it. What each check said:

Steps in order

Each line is one event from the run's trace (trace.jsonl.gz). The model is the one that served the call, as the signed receipt records it.

Every step of the run, in order
#AgentActionStatusWhat happenedModelReceiptZetaris read
0triageplanokin: customer alert ALR-0004
path: customer review; the critic may send the recommendation back up to 3 times
1evidenceread_semantic_layerokscreening_usl v4efa3ddddfbe: 14 tables
2evidencefind_alertokin: alert_id=ALR-0004
1 rows
alert, 1 rows
1ef14aa9-2aab-4c99-93a7-dfc4a3481dda
3evidencefind_customerokin: customer_id=CUST-0004
1 rows
customer, 1 rows
b231701a-8c7e-49bf-88f8-75804e7b3a67
4evidencefind_customer_identifierokin: customer_id=CUST-0004
0 rows
customer_identifier, 0 rows
602bc1ef-dd0f-4ae1-bba3-bbc590e374a6
5evidencefind_list_entryokin: entry_id=OFAC-30966
1 rows
list_entry, 1 rows
9b3b5e59-e4e2-4d6d-b00b-83b1621f6c12
6evidencefind_list_aliasokin: entry_id=OFAC-30966
4 rows
list_alias, 4 rows
f19d09c8-b4ac-49f3-9dee-32ecde6dc2f4
7evidencefind_list_dobokin: entry_id=OFAC-30966
1 rows
list_dob, 1 rows
1243e2b4-88eb-4157-8797-2e9d59f59686
8evidencefind_list_countryokin: entry_id=OFAC-30966
3 rows
list_country, 3 rows
03575692-ec28-468a-8ecb-77b1c5fc9e13
9evidencefind_list_identifierokin: entry_id=OFAC-30966
1 rows
list_identifier, 1 rows
afab93e7-c3a2-49f9-95a4-a57f115a73c6
10evidencefind_business_definitionokin: status=approved
6 rows
business_definition, 6 rows
a3602491-fe20-4909-a7de-6875cc04aee6
11evidencedefinitionsokcounterparty_match@1, effective_ownership_threshold@1, false_positive@2, strong_identifier@1, true_match@1
12evidenceidentifier_overlapokno identifier matchesidentifier_overlap
6cd0fa5a-9aee-41ed-8707-4d25f21c49bb
13evidencedata_qualityokin: customer.dob_present_for_individuals for CUST-0004
record passes this rule
data_quality
dc3f03d0-647e-4fac-887f-51cf063228da
14evidencedata_qualityokin: customer.nationality_is_iso2 for CUST-0004
record passes this rule
data_quality
d789c010-a35d-425d-8d57-561d26d1d9d3
15policy_guardmodel_answerokvalid answer on attempt 1Nemotron 3.5 Lightning 30B-A3B (Runtime GGUF) (local, Lightning)rcpt_req_mnq5frzi
signature valid, key pinned
16policy_guardscreen_inboundokin: 6 text field(s) from the data
no instruction-like text
17screenerscreen_textskippedno customer note, payment reference or list remark to read
18matchingcompare_partyokin: CUST-0004 vs OFAC-30966
weak: name 0.96 (phonetic) vs primary "Andrew Kan"; date of birth: conflict; country: conflict
19triagedifficultyokclear (weak; date of birth conflict; country conflict)
20memoryrecallokin: customer CUST-0004 and OFAC-30966
no earlier decision about this pair
recall
e036cd02-c277-4fa2-ac42-bf6873a80dce
21triagepathokconfirm: the structured evidence settles it (the approved definition of a false positive is met and no identifier matches)
22triagerouteokearlier clearance still valid: fast path, no reasoning
23decisioncloud_payloadoksent 17 fields, 5417 characters, hash dba6a84dc83c651b; free text withheld
24decisionmodel_answerokvalid answer on attempt 1Nemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_juqym0sl
signature valid, key pinned
25decisionrecommendokCLOSE_FALSE_POSITIVE: The customer's date of birth (1956-12-27) conflicts with the listed party's date of birth (1969-09-22) at day precision. The customer's nationality (CH) does not match the listed party's nationality (
26criticverify_factsokin: 6 cited facts
6 verified, 0 issues
27criticcloud_payloadoksent 17 fields, 5542 characters, hash 551528f6d18ee4ff; free text withheld
28criticmodel_answerokvalid answer on attempt 1Nemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_uvhh194d
signature valid, key pinned
29criticjudgeokapproved
30challengerchallenge_startokchallenging a close: the name similarity 0.965 is at least 0.95
31challengercloud_payloadoksent 16 fields, 5264 characters, hash 6bc2a33b05959fcf; free text withheld
32challengermodel_answerokvalid answer on attempt 1Nemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_vknuclln
signature valid, key pinned
33challengerchallenge_resultokno credible argument: While the name similarity is high (0.965) and 'Endrew' could be a transliteration variant of 'Andrew', the customer's date of birth (1956-12-27) conflicts with the listed party's date of birth (1969-09-22) at day precision, and the customer's nationality (CH) does not match the
34policy_guardapply_policyokCLOSE_FALSE_POSITIVE stands
35reporterseal_recordokrecord rec-eval-sys2b-routed-EX-004 sealed

Model calls and receipts

Each signature was checked when this page was built, with the same code as npm run evidence:verify (Ed25519 over the receipt body in receipts.jsonl.gz); the build stops if one does not verify, is missing, or names a different model from the trace. The Nightshift runtime's receipt key is pinned in config/default.json, so signature valid, key pinned shows the receipt was not changed and that this runtime signed it; a receipt signed by any other key stops the build.

Model calls and their receipts
#StepMode asked forModel that served itReceiptAppChecked nowAt run timeTimeTokens in / out
15policy_guardmeterless/fastNemotron 3.5 Lightning 30B-A3B (Runtime GGUF) (local, Lightning)rcpt_req_mnq5frzisanctions-desk-guardsignature valid, key pinnedvalid_pinned0.5 s459 / 19
24decisionmeterless/deepNemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_juqym0slsanctions-desk-reasoningsignature valid, key pinnedvalid_pinned22.4 s4879 / 535
28criticmeterless/judgeNemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_uvhh194dsanctions-desk-reasoningsignature valid, key pinnedvalid_pinned23.4 s3683 / 151
32challengermeterless/deepNemotron 3 Ultra 550B A55B (cloud, Ultra)rcpt_req_vknucllnsanctions-desk-reasoningsignature valid, key pinnedvalid_pinned24.5 s3263 / 437

The whole run passes the same check: 305 receipts with valid signatures, 305 model calls in the trace that name a receipt, none missing and none naming a different model from its receipt.

Signing key fingerprint (first 16 hex of SHA-256): 1835d1eab9211f97.

Zetaris queries

This run's export keeps the table, the row count and the Zetaris query id of each read, not the statement text; the statements are not reconstructed here.

Zetaris reads in this run
AgentTableRowsStatementQuery id
evidencealert1not kept in this run's export (step: find_alert, alert_id=ALR-0004)1ef14aa9-2aab-4c99-93a7-dfc4a3481dda
evidencecustomer1not kept in this run's export (step: find_customer, customer_id=CUST-0004)b231701a-8c7e-49bf-88f8-75804e7b3a67
evidencecustomer_identifier0not kept in this run's export (step: find_customer_identifier, customer_id=CUST-0004)602bc1ef-dd0f-4ae1-bba3-bbc590e374a6
evidencelist_entry1not kept in this run's export (step: find_list_entry, entry_id=OFAC-30966)9b3b5e59-e4e2-4d6d-b00b-83b1621f6c12
evidencelist_alias4not kept in this run's export (step: find_list_alias, entry_id=OFAC-30966)f19d09c8-b4ac-49f3-9dee-32ecde6dc2f4
evidencelist_dob1not kept in this run's export (step: find_list_dob, entry_id=OFAC-30966)1243e2b4-88eb-4157-8797-2e9d59f59686
evidencelist_country3not kept in this run's export (step: find_list_country, entry_id=OFAC-30966)03575692-ec28-468a-8ecb-77b1c5fc9e13
evidencelist_identifier1not kept in this run's export (step: find_list_identifier, entry_id=OFAC-30966)afab93e7-c3a2-49f9-95a4-a57f115a73c6
evidencebusiness_definition6not kept in this run's export (step: find_business_definition, status=approved)a3602491-fe20-4909-a7de-6875cc04aee6
evidenceidentifier_overlapno identifier matchesnot kept in this run's export (step: identifier_overlap)6cd0fa5a-9aee-41ed-8707-4d25f21c49bb
evidencedata_qualityrecord passes this rulenot kept in this run's export (step: data_quality, customer.dob_present_for_individuals for CUST-0004)dc3f03d0-647e-4fac-887f-51cf063228da
evidencedata_qualityrecord passes this rulenot kept in this run's export (step: data_quality, customer.nationality_is_iso2 for CUST-0004)d789c010-a35d-425d-8d57-561d26d1d9d3
memoryrecallno earlier decision about this pairnot kept in this run's export (step: recall, customer CUST-0004 and OFAC-30966)e036cd02-c277-4fa2-ac42-bf6873a80dce

Check it yourself

Clone the repository and run npm run evidence:verify -- eval/runs/sys2b-routed-20261023T195504Z. What the export left out: tokens, local paths, hostnames and addresses other than the local machine, usernames, e-mail addresses and secret environment values were removed from results.json and trace.jsonl.gz; receipts.jsonl.gz is untouched.