mirror of
https://github.com/luxfi/aml.git
synced 2026-09-24 00:25:20 +00:00
Twenty rules across twelve typologies, each naming the requirement it implements with a locator a reviewer can open. Citations were read from the primary text. Two figures that a coverage claim commonly gets wrong are handled explicitly: Recommendation 16 is cited by its current title, Payment transparency. FATF revised and renamed it in June 2025 and still hosts the pre-revised text at a separate path; a test rejects a citation carrying the old title or that URL. The suspicious-reporting section carries one threshold, 5,000 dollars, applying whether or not a suspect is identified. The familiar 5,000-with-suspect and 25,000-without split belongs to the banking agencies' rules in 12 CFR, not here. A test rejects attributing 25,000 to this section. Currency reporting cites both the threshold section and the aggregation section, because the first states the figure and only the second states the business-day period. Citing only the first is how a point-in-time check comes to be described as implementing currency reporting. The crypto transfer rule carries no value floor, because the recast transfer regulation applies regardless of amount; a test rejects adding one. Gaps() publishes the requirements located in the primary text that this engine does not meet — report workflow, filing clock, retention, tipping-off confidentiality, correspondent banking — each with why and what would fix it. A test rejects claiming a requirement as both covered and outstanding. Co-authored-by: Hanzo Dev <[email protected]>