<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mokshith</title>
    <description>The latest articles on DEV Community by Mokshith (@mokshith_118).</description>
    <link>https://dev.to/mokshith_118</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4137834%2Fe7916f3a-c9df-4ed5-a405-19878672a3d1.jpg</url>
      <title>DEV Community: Mokshith</title>
      <link>https://dev.to/mokshith_118</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mokshith_118"/>
    <language>en</language>
    <item>
      <title>FraudGraph AI: Building an Agentic GraphRAG Fraud Investigation Platform with TigerGraph and LangGraph</title>
      <dc:creator>Mokshith</dc:creator>
      <pubDate>Tue, 22 Sep 2026 14:48:15 +0000</pubDate>
      <link>https://dev.to/mokshith_118/fraudgraph-ai-building-an-agentic-graphrag-fraud-investigation-platform-with-tigergraph-and-18ag</link>
      <guid>https://dev.to/mokshith_118/fraudgraph-ai-building-an-agentic-graphrag-fraud-investigation-platform-with-tigergraph-and-18ag</guid>
      <description>&lt;p&gt;FraudGraph AI: Building an Agentic GraphRAG Fraud Investigation Platform with TigerGraph and LangGraph&lt;/p&gt;

&lt;p&gt;Team:&amp;nbsp;NexusForge&lt;br&gt;
Submission:&amp;nbsp;TigerGraph × HHGoa 2026 Hackathon&lt;br&gt;
Repository:&amp;nbsp;&lt;a href="https://github.com/Mokshith-11/FraudGraph-AI" rel="noopener noreferrer"&gt;https://github.com/Mokshith-11/FraudGraph-AI&lt;/a&gt;&lt;br&gt;
Primary Tech Stack:&amp;nbsp;TigerGraph Savanna / GSQL 4.2.5, LangGraph StateGraph, Python 3.14, Scikit-learn TF-IDF, Streamlit&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Financial fraud detection systems operate under extreme operational tension. Traditional machine learning classifiers score millions of transactions per second, flagging anomalies with high precision on point-in-time attributes. However, when a transaction alert triggers, human Level 1 (L1) and Level 2 (L2) fraud analysts face an arduous, fragmented investigative process. Analysts must pivot across disparate relational databases, customer relationship management (CRM) records, device fingerprints, and compliance databases to determine whether a suspicious charge represents an isolated account compromise, a benign customer traveler, or part of a distributed, multi-card syndicated fraud ring.&lt;/p&gt;

&lt;p&gt;Recent efforts to automate fraud operations using standard Retrieval-Augmented Generation (RAG) collapse when confronted with relational topologies. Standard vector search retrieves text documents based on semantic keyword proximity; it possesses zero native awareness of cyclic transaction loops, device-sharing clusters across unrelated customer accounts, or temporal transaction hops along a payment card.&lt;/p&gt;

&lt;p&gt;To solve this,&amp;nbsp;NexusForge&amp;nbsp;developed&amp;nbsp;FraudGraph AI, an end-to-end agentic graph-augmented fraud investigation platform. Built for the&amp;nbsp;TigerGraph × HHGoa 2026&amp;nbsp;challenge, FraudGraph AI unites the massive multi-hop traversal power of&amp;nbsp;TigerGraph 4.2.5, the structured tool contracts of the&amp;nbsp;Model Context Protocol (MCP), a deterministic&amp;nbsp;R1–R10 Fraud Policy Engine, and a stateful&amp;nbsp;LangGraph&amp;nbsp;orchestrator. The platform executes autonomous, provenance-tracked investigations that generate legally grounded Suspicious Activity Reports (SAR) and actionable Next-Best-Action (NBA) directives with human-in-the-loop approval routing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Problem Statement&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Modern enterprise fraud investigation is hindered by four architectural bottlenecks:&lt;/p&gt;

&lt;p&gt;Topological Blindness: Standard tabular fraud models evaluate transactions as independent, identically distributed (i.i.d.) vectors. They cannot natively trace when ten distinct card numbers across five customer profiles share a single mobile hardware identifier (DeviceProfile) or pass through the same digital payment proxy.&lt;/p&gt;

&lt;p&gt;LLM Hallucinations in Compliance &amp;amp; Regulatory Reporting: Deploying unconstrained Large Language Models directly to compliance decisions introduces non-deterministic hallucinations. Regulated financial entities operating under BSA/AML (Bank Secrecy Act / Anti-Money Laundering) and FinCEN standards require deterministic policy enforcement, mathematical auditability, and clear evidence provenance.&lt;/p&gt;

&lt;p&gt;Investigation Workflow Fragility: Human analysts handle hundreds of alerts daily. Ad-hoc investigative scripts lack structured state management, error recovery, deterministic stopping thresholds, and standardized simulation protocols for cardholder outreach.&lt;/p&gt;

&lt;p&gt;Disconnection Between Knowledge Retrieval and Graph Intelligence: Text-based retrieval systems index historical case summaries and regulatory manuals, while graph databases hold the structural transaction topology. Without a unified hybrid retrieval layer, neither system can enrich the other during run-time reasoning.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Why a Graph-Based Fraud Investigation Architecture&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In relational schemas, discovering whether an alert transaction is connected to another compromised account requires expensive recursive multi-table SQL&amp;nbsp;JOIN&amp;nbsp;operations across transaction logs, card accounts, and identity tables. As the neighborhood depth grows beyond 2 hops, relational query execution times degrade exponentially.&lt;/p&gt;

&lt;p&gt;A Native Parallel Graph (NPG) database such as TigerGraph represents accounts, transactions, devices, and regulatory entities as vertices connected by explicit directional edges. In TigerGraph, multi-hop relationship traversals execute in sub-millisecond parallel memory lookups:&lt;/p&gt;

&lt;p&gt;Device Rings: Traversing&amp;nbsp;Transaction -&amp;gt; FROM_DEVICE -&amp;gt; DeviceProfile &amp;lt;- FROM_DEVICE &amp;lt;- Transaction &amp;lt;- MADE &amp;lt;- Card&amp;nbsp;reveals multi-card fraud rings within 4 graph hops.&lt;/p&gt;

&lt;p&gt;Card Testing Velocity: Traversing&amp;nbsp;Card -&amp;gt; MADE -&amp;gt; Transaction -&amp;gt; NEXT -&amp;gt; Transaction&amp;nbsp;reveals rapid micro-authorization sequences (&amp;lt;$5.00) executed immediately prior to major merchant purchases.&lt;/p&gt;

&lt;p&gt;Historical Recidivism: Traversing&amp;nbsp;Card &amp;lt;- ON_CARD &amp;lt;- ClosedCase&amp;nbsp;immediately links active alerts to prior confirmed compromise dockets and regulatory filings.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dataset and Data Engineering&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;FraudGraph AI is engineered upon the benchmark&amp;nbsp;HHGOA_IEEE&amp;nbsp;dataset (derived from the IEEE-CIS Fraud Detection benchmark and augmented for complex enterprise fraud workflows). The raw input data encompasses:&lt;/p&gt;

&lt;p&gt;transactions.csv&amp;nbsp;(590,742 rows, 397 columns, 675 MB): Financial amounts, card attributes, merchant features, calendar timestamps (ts), and channel designations (in_person,&amp;nbsp;online).&lt;/p&gt;

&lt;p&gt;identity.csv&amp;nbsp;(144,432 rows, 41 columns, 25.5 MB): Device hardware signatures, operating systems, mobile browser strings, screen resolutions, and proxy statuses.&lt;/p&gt;

&lt;p&gt;closed_cases_history.csv&amp;nbsp;(5,565 rows, 15 columns, 2.58 MB): Historic bank investigation outcomes (July–October 2016) containing 4,665 confirmed fraud cases and 900 cleared cases with analyst notes and regulatory outcomes.&lt;/p&gt;

&lt;p&gt;case_pack.csv&amp;nbsp;(20 rows, 8 columns, 10 KB): Official blind benchmark cases (HHG-001&amp;nbsp;through&amp;nbsp;HHG-020) containing trigger texts, flagged transactions, and associated cards.&lt;/p&gt;

&lt;p&gt;Memory-Efficient Data Pipeline&lt;/p&gt;

&lt;p&gt;To transform 675 MB of dense tabular records into pristine graph load files without Out-Of-Memory (OOM) faults, we implemented a chunked streaming pipeline in&amp;nbsp;src/data/:&lt;/p&gt;

&lt;p&gt;DataLoader&amp;nbsp;(loaders.py): Streams raw CSVs using chunked generators with unified column typing.&lt;/p&gt;

&lt;p&gt;DataTransformer&amp;nbsp;(transformers.py): Synthesizes clean primary keys, extracting deterministic&amp;nbsp;Customer&amp;nbsp;identifiers and generating composite string hashes for&amp;nbsp;DeviceProfile&amp;nbsp;records.&lt;/p&gt;

&lt;p&gt;RelationshipDeriver&amp;nbsp;(relationships.py): Computes all directed relationships. Specifically, it groups transactions per payment card and sorts them chronologically by timestamp&amp;nbsp;ts, emitting monotonic&amp;nbsp;NEXT&amp;nbsp;transaction transitions.&lt;/p&gt;

&lt;p&gt;DataValidator&amp;nbsp;(validators.py): Performs invariant assertions, guaranteeing 100% referential integrity with zero dangling edges.&lt;/p&gt;

&lt;p&gt;The pipeline outputs 16 verified CSV files into&amp;nbsp;data/graph_load/: 7 vertex files and 9 edge files.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fraud Graph Data Model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The verified graph model consists of&amp;nbsp;7 vertex types&amp;nbsp;and&amp;nbsp;9 directed edge types, audited and certified in&amp;nbsp;docs/RELATIONSHIP_AUDIT_REPORT.md&amp;nbsp;and&amp;nbsp;docs/data-model.md.&lt;/p&gt;

&lt;p&gt;Graph Model Specification&lt;/p&gt;

&lt;p&gt;Vertex TypePrimary KeyKey AttributesVerified Count&lt;/p&gt;

&lt;p&gt;Customer&lt;/p&gt;

&lt;p&gt;customer_id&lt;/p&gt;

&lt;p&gt;customer_id&lt;/p&gt;

&lt;p&gt;13,553&lt;/p&gt;

&lt;p&gt;Card&lt;/p&gt;

&lt;p&gt;card_id&lt;/p&gt;

&lt;p&gt;card_id,&amp;nbsp;customer_id,&amp;nbsp;card1,&amp;nbsp;card_network,&amp;nbsp;card_type&lt;/p&gt;

&lt;p&gt;13,933&lt;/p&gt;

&lt;p&gt;Transaction&lt;/p&gt;

&lt;p&gt;TransactionID&lt;/p&gt;

&lt;p&gt;ts,&amp;nbsp;channel,&amp;nbsp;risk_score,&amp;nbsp;amount,&amp;nbsp;product_cd,&amp;nbsp;C1..C14,&amp;nbsp;D1..D15&lt;/p&gt;

&lt;p&gt;590,742&lt;/p&gt;

&lt;p&gt;DeviceProfile&lt;/p&gt;

&lt;p&gt;device_profile_id&lt;/p&gt;

&lt;p&gt;device_type,&amp;nbsp;device_info,&amp;nbsp;os,&amp;nbsp;browser,&amp;nbsp;screen,&amp;nbsp;proxy_status&lt;/p&gt;

&lt;p&gt;9,706&lt;/p&gt;

&lt;p&gt;EmailDomain&lt;/p&gt;

&lt;p&gt;domain_name&lt;/p&gt;

&lt;p&gt;domain_name&lt;/p&gt;

&lt;p&gt;60&lt;/p&gt;

&lt;p&gt;BillingRegion&lt;/p&gt;

&lt;p&gt;addr1&lt;/p&gt;

&lt;p&gt;addr1,&amp;nbsp;country_code&amp;nbsp;(addr2)&lt;/p&gt;

&lt;p&gt;332&lt;/p&gt;

&lt;p&gt;ClosedCase&lt;/p&gt;

&lt;p&gt;case_id&lt;/p&gt;

&lt;p&gt;customer_id,&amp;nbsp;card_id,&amp;nbsp;opened_at,&amp;nbsp;closed_at,&amp;nbsp;outcome,&amp;nbsp;pattern,&amp;nbsp;exposure_usd,&amp;nbsp;report_filed&lt;/p&gt;

&lt;p&gt;5,565&lt;/p&gt;

&lt;p&gt;Graph Relationships (Edges)&lt;/p&gt;

&lt;p&gt;┌──────────┐&lt;/p&gt;

&lt;p&gt;│ Customer │&lt;/p&gt;

&lt;p&gt;└────┬─────┘&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    │ OWNS (13,933)

    ▼
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;┌──────────┐            NEXT (577,189)&lt;/p&gt;

&lt;p&gt;│   Card   │◄────────────────────────────────┐&lt;/p&gt;

&lt;p&gt;└────┬─────┘                                 │&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    │ MADE (590,742)                        │

    ▼                                       │
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;┌─────────────┐──────────────────────────────┘&lt;/p&gt;

&lt;p&gt;│ Transaction │&lt;/p&gt;

&lt;p&gt;└──┬───┬───┬──┘&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  │   │   │ FROM_DEVICE (144,432)

  │   │   └──────────────────────► ┌───────────────┐

  │   │ PURCHASER_EMAIL (496,262)  │ DeviceProfile │

  │   └──────────────────────────► └───────────────┘

  │ BILLED_IN (525,003)            ┌───────────────┐

  └──────────────────────────────► │  EmailDomain  │

                                   └───────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;┌────────────┐                      ┌───────────────┐&lt;/p&gt;

&lt;p&gt;│ ClosedCase │                      │ BillingRegion │&lt;/p&gt;

&lt;p&gt;└──┬───┬───┬─┘                      └───────────────┘&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  │   │   │ INVOLVES (14,955)

  │   │   └──────────────────────► [ Transaction ]

  │   │ ON_CARD (5,565)

  │   └──────────────────────────► [ Card ]

  │ CONNECTED_TO (92)

  └──────────────────────────────► [ Card ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;OWNS&amp;nbsp;(Customer -&amp;gt; Card): 13,933 directed ownership assignments.&lt;/p&gt;

&lt;p&gt;MADE&amp;nbsp;(Card -&amp;gt; Transaction): 590,742 transaction creation records.&lt;/p&gt;

&lt;p&gt;FROM_DEVICE&amp;nbsp;(Transaction -&amp;gt; DeviceProfile): 144,432 identity links connecting transactions to device fingerprints.&lt;/p&gt;

&lt;p&gt;PURCHASER_EMAIL&amp;nbsp;(Transaction -&amp;gt; EmailDomain): 496,262 email domain links.&lt;/p&gt;

&lt;p&gt;BILLED_IN&amp;nbsp;(Transaction -&amp;gt; BillingRegion): 525,003 billing jurisdiction mappings.&lt;/p&gt;

&lt;p&gt;NEXT&amp;nbsp;(Transaction -&amp;gt; Transaction): 577,189 chronological sequence edges tracking cardholder transaction flow over time.&lt;/p&gt;

&lt;p&gt;INVOLVES&amp;nbsp;(ClosedCase -&amp;gt; Transaction): 14,955 historical transaction attachments.&lt;/p&gt;

&lt;p&gt;ON_CARD&amp;nbsp;(ClosedCase -&amp;gt; Card): 5,565 historical primary compromised card associations.&lt;/p&gt;

&lt;p&gt;CONNECTED_TO&amp;nbsp;(ClosedCase -&amp;gt; Card): 92 secondary compromised card links across historical syndicated fraud rings.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;TigerGraph Architecture&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The system provides dual-mode execution via a clean client abstraction layer in&amp;nbsp;src/graph/:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;            ┌────────────────────────────┐

            │      GraphQueryEngine      │

            │   (Unified Dispatcher)     │

            └─────────────┬──────────────┘

                          │

          Is TigerGraph Live Reachable?

                          │

             ┌────────────┴────────────┐

         YES │                         │ NO (Fallback)

             ▼                         ▼

┌─────────────────────────┐ ┌─────────────────────────┐

│  LiveTigerGraphClient   │ │    LocalGraphClient     │

│   RESTPP Port 9000      │ │   In-Memory Indexing    │

│   GSQL Pre-compiled     │ │   12 Dictionary Stores  │

└─────────────────────────┘ └─────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;LiveTigerGraphClient&amp;nbsp;(live_client.py): Interfaces with TigerGraph Savanna or self-hosted Docker instances over RESTPP API endpoints (/query/FraudGraph/...&amp;nbsp;and&amp;nbsp;/graph/FraudGraph/...). Queries are defined in pre-compiled GSQL (tigergraph/queries/).&lt;/p&gt;

&lt;p&gt;LocalGraphClient&amp;nbsp;(client.py): An optimized, in-memory graph engine loading&amp;nbsp;data/graph_load/&amp;nbsp;CSVs. It instantiates 12 internal hash dictionary indices, resolving vertex lookups, multi-hop traversals, and temporal sequence queries in sub-millisecond offline execution.&lt;/p&gt;

&lt;p&gt;GraphQueryEngine&amp;nbsp;(queries.py): The dynamic dispatcher. Upon initialization, it probes TigerGraph endpoints (/echo&amp;nbsp;and&amp;nbsp;/version). If unconfigured or unreachable, it falls back gracefully to&amp;nbsp;LocalGraphClient, logging the active mode without system disruption.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;MCP Graph Investigation Tools&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;FraudGraph AI exposes&amp;nbsp;10 standardized graph tools&amp;nbsp;in&amp;nbsp;src/tools/mcp_server.py&amp;nbsp;complying with the Model Context Protocol specification. Every tool call returns a structured envelope containing explicit status flags, error codes, execution modes, and strongly typed data payloads:&lt;/p&gt;

&lt;p&gt;{&lt;/p&gt;

&lt;p&gt;"status": "success",&lt;/p&gt;

&lt;p&gt;"error_code": null,&lt;/p&gt;

&lt;p&gt;"message": "Successfully retrieved details for transaction '3514030'",&lt;/p&gt;

&lt;p&gt;"data": { ... },&lt;/p&gt;

&lt;p&gt;"execution_mode": "offline_local"&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;The 10 MCP Tools&lt;/p&gt;

&lt;p&gt;get_transaction_details(txn_id): Retrieves vertex attributes (amount, timestamp, channel, risk score, C/D features) and connected edges for a specific transaction.&lt;/p&gt;

&lt;p&gt;get_card_history(card_id, limit): Fetches the card vertex and its reverse-chronological transaction history.&lt;/p&gt;

&lt;p&gt;get_connected_cards_and_customers(card_id): Traverses ownership relationships to identify secondary cards belonging to the cardholder and shared entities.&lt;/p&gt;

&lt;p&gt;find_shared_devices(card_id): Performs a multi-hop traversal to identify all&amp;nbsp;DeviceProfile&amp;nbsp;vertices associated with the card and discovers all other payment cards that transacted on those same devices.&lt;/p&gt;

&lt;p&gt;get_transaction_neighborhood(txn_id, depth): Extracts the&amp;nbsp;k-hop subgraph (depth 1 to 3) surrounding a transaction, collecting adjacent cards, device profiles, email domains, and billing regions.&lt;/p&gt;

&lt;p&gt;get_connected_transactions(card_id): Traverses chronological&amp;nbsp;NEXT&amp;nbsp;edges to return the exact sequential payment journey executed on a card.&lt;/p&gt;

&lt;p&gt;get_historical_closed_cases(card_id, limit): Queries&amp;nbsp;ON_CARD&amp;nbsp;and&amp;nbsp;CONNECTED_TO&amp;nbsp;edges to retrieve prior resolved fraud cases and analyst outcomes involving the card.&lt;/p&gt;

&lt;p&gt;detect_card_testing_pattern(card_id): Algorithmic detector searching for 3 or more micro-authorizations (&amp;lt;$5.00) within a 1-hour rolling window preceding a larger transaction.&lt;/p&gt;

&lt;p&gt;detect_out_of_region_pattern(card_id): Cross-references transaction billing regions against the cardholder's historical modal home region (addr1), flagging geographic anomalies.&lt;/p&gt;

&lt;p&gt;write_case_to_graph(case_data): Upserts a resolved investigation case as a new&amp;nbsp;ClosedCase&amp;nbsp;vertex and creates&amp;nbsp;INVOLVES,&amp;nbsp;ON_CARD, and&amp;nbsp;CONNECTED_TO&amp;nbsp;edges in graph memory.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hybrid GraphRAG Architecture&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To ground reasoning in both institutional memory and topological evidence, FraudGraph AI implements a specialized&amp;nbsp;Hybrid GraphRAG&amp;nbsp;architecture (src/rag/).&lt;/p&gt;

&lt;p&gt;Document Corpus Indexing&lt;/p&gt;

&lt;p&gt;Rather than using external, black-box embedding APIs, the vector store (vector_store.py) indexes&amp;nbsp;5,590 authoritative documents&amp;nbsp;directly from the project repository using Scikit-Learn TF-IDF vectorization with cosine similarity ranking:&lt;/p&gt;

&lt;p&gt;5,565 Historical Closed Cases&amp;nbsp;(closed_cases_history.csv): Real past fraud dispositions, analyst notes, and outcomes.&lt;/p&gt;

&lt;p&gt;5 Recognized Fraud Typologies: Formally defining&amp;nbsp;card_testing,&amp;nbsp;card_not_present_fraud,&amp;nbsp;card_not_present_new_device,&amp;nbsp;out_of_region_use, and&amp;nbsp;account_takeover.&lt;/p&gt;

&lt;p&gt;10 Regulatory Standards: Verbatim guidance from FinCEN SAR narrative guidelines and the FFIEC BSA/AML Examination Manual.&lt;/p&gt;

&lt;p&gt;10 Policy Rules: Institutional operational definitions of Rules R1 through R10.&lt;/p&gt;

&lt;p&gt;Hybrid Retrieval Fusion&lt;/p&gt;

&lt;p&gt;The&amp;nbsp;HybridGraphRAGRetriever&amp;nbsp;(retriever.py) merges topological entity facts gathered by MCP graph tools with semantic matches returned by the vector store. Every retrieved item is formatted into an immutable&amp;nbsp;Evidence Item&amp;nbsp;bearing strict provenance metadata:&lt;/p&gt;

&lt;p&gt;{&lt;/p&gt;

&lt;p&gt;"claim": "Card C12382-K1 shares device profile(s) with 258 other card(s)",&lt;/p&gt;

&lt;p&gt;"source": "graph",&lt;/p&gt;

&lt;p&gt;"ref": "tool:find_shared_devices(card_id=C12382-K1)",&lt;/p&gt;

&lt;p&gt;"entity_ids": ["C12382-K1", "C00232-K1", "C00235-K1"]&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deterministic R1–R10 Policy Engine&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fraud compliance requires absolute determinism. Delegating blocking directives or SAR filings to an LLM prompt invites hallucinated reasoning, non-reproducible decisions, and regulatory exposure.&lt;/p&gt;

&lt;p&gt;FraudGraph AI features a completely deterministic, zero-LLM policy engine (src/policy/engine.py) implementing&amp;nbsp;Fraud Policy Version 1.0:&lt;/p&gt;

&lt;p&gt;The 10 Evaluated Policy Rules&lt;/p&gt;

&lt;p&gt;R1: Verify before you block on a weak signal: If an investigation rests on a single signal and fraud probability&amp;nbsp;&amp;lt;0.70, the system mandates&amp;nbsp;VERIFY_WITH_CUSTOMER&amp;nbsp;or&amp;nbsp;STEP_UP_AUTH&amp;nbsp;before any card block.&lt;/p&gt;

&lt;p&gt;R2: Customer denies the transaction: When cardholder denies activity, mandates&amp;nbsp;BLOCK_CARD&amp;nbsp;and&amp;nbsp;CREATE_CASE. Escalates to&amp;nbsp;FILE_REPORT&amp;nbsp;if exposure&amp;nbsp;&amp;gt;$1,000, devices are shared, or syndication is detected.&lt;/p&gt;

&lt;p&gt;R3: Customer confirms the transaction: When cardholder validates activity, mandates&amp;nbsp;CLOSE_NO_FRAUD.&lt;/p&gt;

&lt;p&gt;R4: No reply within 24 hours: Recommends&amp;nbsp;MONITOR_CARD&amp;nbsp;and&amp;nbsp;DECLINE_TRANSACTION&amp;nbsp;for pending authorizations. If exposure&amp;nbsp;&amp;gt;$500, triggers&amp;nbsp;ESCALATE_TO_ANALYST.&lt;/p&gt;

&lt;p&gt;R5: Card testing: Detects micro-authorizations. Recommends&amp;nbsp;DECLINE_TRANSACTION&amp;nbsp;and&amp;nbsp;STEP_UP_AUTH. If a subsequent purchase&amp;nbsp;&amp;gt;$100&amp;nbsp;cleared, upgrades immediately to&amp;nbsp;BLOCK_CARD.&lt;/p&gt;

&lt;p&gt;R6: Shared origin ring: When multiple cards share devices, billing regions, or emails with fraud probability&amp;nbsp;≥0.30, mandates&amp;nbsp;CREATE_CASE,&amp;nbsp;FILE_REPORT, and&amp;nbsp;MONITOR_CONNECTED_CARDS.&lt;/p&gt;

&lt;p&gt;R7: Disputed but legitimate charge: If a disputed charge matches historical recurring intervals (merchant, amount, period), mandates&amp;nbsp;CREATE_CASE&amp;nbsp;and&amp;nbsp;WARN_CUSTOMER&amp;nbsp;without card blocking.&lt;/p&gt;

&lt;p&gt;R8: Escalate when uncertain and exposed: If verdict is&amp;nbsp;uncertain&amp;nbsp;and exposure&amp;nbsp;&amp;gt;$500, or if evidence signals conflict, mandates&amp;nbsp;ESCALATE_TO_ANALYST.&lt;/p&gt;

&lt;p&gt;R9: Undocumented pattern: When novel, unclassified coordinated abuse is detected, triggers&amp;nbsp;CREATE_CASE,&amp;nbsp;FILE_REPORT, and&amp;nbsp;ESCALATE_TO_ANALYST.&lt;/p&gt;

&lt;p&gt;R10: Never BLOCK_ALL_CARDS unless qualified: Strictly forbids&amp;nbsp;BLOCK_ALL_CARDS&amp;nbsp;unless&amp;nbsp;≥2&amp;nbsp;cards of a customer have confirmed fraud or customer credentials are confirmed compromised.&lt;/p&gt;

&lt;p&gt;Three-Tier Approval Routing&lt;/p&gt;

&lt;p&gt;Every recommended action is assigned an enforceable operational tier:&lt;/p&gt;

&lt;p&gt;auto: Autonomous system execution (ALLOW_TRANSACTION,&amp;nbsp;MONITOR_CARD,&amp;nbsp;WARN_CUSTOMER,&amp;nbsp;VERIFY_WITH_CUSTOMER,&amp;nbsp;STEP_UP_AUTH,&amp;nbsp;CREATE_CASE,&amp;nbsp;CLOSE_NO_FRAUD).&lt;/p&gt;

&lt;p&gt;L1&amp;nbsp;(Team Lead): Moderate intervention (DECLINE_TRANSACTION,&amp;nbsp;BLOCK_CARD&amp;nbsp;when exposure&amp;nbsp;≤$2,500).&lt;/p&gt;

&lt;p&gt;L2&amp;nbsp;(Fraud Operations Manager): High-risk intervention (BLOCK_CARD&amp;nbsp;when exposure&amp;nbsp;&amp;gt;$2,500,&amp;nbsp;BLOCK_ALL_CARDS,&amp;nbsp;FILE_REPORT).&lt;/p&gt;

&lt;p&gt;Initial vs. Final Next-Best-Action (NBA)&lt;/p&gt;

&lt;p&gt;The engine evaluates policy twice per investigation:&lt;/p&gt;

&lt;p&gt;Initial NBA: Determined when the alert is first ingested prior to cardholder verification (e.g., recommend&amp;nbsp;VERIFY_WITH_CUSTOMER&amp;nbsp;and&amp;nbsp;MONITOR_CARD).&lt;/p&gt;

&lt;p&gt;Final NBA: Determined after evidence gathering and simulated cardholder response (e.g., cardholder denies transaction&amp;nbsp;→&amp;nbsp;upgrade to&amp;nbsp;BLOCK_CARD&amp;nbsp;and&amp;nbsp;FILE_REPORT).&lt;/p&gt;

&lt;p&gt;what_changed: An audited textual explanation contrasting the initial and final action queues.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;LangGraph Investigation Agent&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To orchestrate the end-to-end investigation, FraudGraph AI builds a stateful directed execution graph using&amp;nbsp;LangGraph&amp;nbsp;(src/agent/orchestrator.py). The state machine is governed by an immutable typed state container (InvestigationState) tracking alert triggers, graph evidence, vector search hits, risk scores, simulated customer responses, stopping criteria, and telemetry.&lt;/p&gt;

&lt;p&gt;Architecture at a Glance&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌────────────────────┐

                 │  1. trigger_handler│

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │2. evidence_gatherer│

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │ 3. pattern_matcher │

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │  4. rag_retriever  │

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │  5. risk_assessor  │

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │6. sufficiency_eval │

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │ 7. policy_evaluator│

                 └─────────┬──────────┘

                           │

                           ▼

                 ┌────────────────────┐

                 │  8. case_updater   │

                 └─────────┬──────────┘

                           │

                           ▼

                        [ END ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Investigation Workflow (The 8 LangGraph Nodes)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every investigation traverses 8 discrete, auditable nodes:&lt;/p&gt;

&lt;p&gt;trigger_handler: Validates the input alert, extracts the flagged transaction ID and payment card ID, initializes the&amp;nbsp;InvestigationState, and logs the initial telemetry timestamp.&lt;/p&gt;

&lt;p&gt;evidence_gatherer: Dispatches calls to Phase 4 MCP tools (get_transaction_details,&amp;nbsp;get_card_history,&amp;nbsp;get_connected_cards_and_customers,&amp;nbsp;find_shared_devices,&amp;nbsp;get_transaction_neighborhood,&amp;nbsp;get_connected_transactions,&amp;nbsp;get_historical_closed_cases), accumulating graph evidence claims.&lt;/p&gt;

&lt;p&gt;pattern_matcher: Evaluates card testing sequences (Tool 8), out-of-region use (Tool 9), and multi-card shared device clusters, classifying the primary typology (card_not_present_new_device,&amp;nbsp;card_testing,&amp;nbsp;out_of_region_use, or&amp;nbsp;none).&lt;/p&gt;

&lt;p&gt;rag_retriever: Queries the Hybrid GraphRAG vector store using contextual query strings, fetching similar historical closed cases, regulatory guidance notes, and policy references.&lt;/p&gt;

&lt;p&gt;risk_assessor: Aggregates affected transaction values to compute&amp;nbsp;exposure_usd, evaluates independent evidence signals, computes&amp;nbsp;fraud_probability, and assigns an initial verdict (fraud,&amp;nbsp;legitimate, or&amp;nbsp;uncertain).&lt;/p&gt;

&lt;p&gt;sufficiency_evaluator: Simulates cardholder verification responses (confirm/deny/unresponsive) and enforces formal stopping criteria (Section 6 of Policy).&lt;/p&gt;

&lt;p&gt;policy_evaluator: Executes the deterministic Policy Engine, comparing initial vs. final NBA queues, mapping&amp;nbsp;auto/L1/L2&amp;nbsp;approval routes, and generating a compliant SAR narrative if filing thresholds are met.&lt;/p&gt;

&lt;p&gt;case_updater: Writes the final investigation record back to graph memory via&amp;nbsp;write_case_to_graph&amp;nbsp;(Tool 10), completing the lifecycle and stamping execution telemetry.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Evidence Provenance and Explainability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In financial crimes enforcement, a black-box probability score is legally indefensible. FraudGraph AI enforces a rigorous&amp;nbsp;Four-Source Provenance Standard&amp;nbsp;across all generated answer files:&lt;/p&gt;

&lt;p&gt;Source CodeOrigin DescriptionExample Reference&lt;/p&gt;

&lt;p&gt;graph&lt;/p&gt;

&lt;p&gt;Direct graph traversal from TigerGraph / LocalGraphClient&lt;/p&gt;

&lt;p&gt;tool:get_transaction_details(txn_id=3514030)&lt;/p&gt;

&lt;p&gt;document&lt;/p&gt;

&lt;p&gt;Vector store retrieval from closed case or policy store&lt;/p&gt;

&lt;p&gt;tool:vector_search::closed_cases&lt;/p&gt;

&lt;p&gt;customer&lt;/p&gt;

&lt;p&gt;Simulated cardholder outreach / verification response&lt;/p&gt;

&lt;p&gt;evidence_request:1&lt;/p&gt;

&lt;p&gt;external&lt;/p&gt;

&lt;p&gt;External sanction lists, merchant registries, or AML feeds&lt;/p&gt;

&lt;p&gt;external:consortium_registry&lt;/p&gt;

&lt;p&gt;Every claim in the final case docket points to its exact source and entity ID list. Suspicious Activity Reports (SAR) generated by the agent detail the full timeline, subjects, exposure, and typologies, linking directly to the underlying graph evidence trail.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Benchmark Evaluation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The complete platform was evaluated across all&amp;nbsp;20 official exam benchmark cases&amp;nbsp;(HHG-001&amp;nbsp;through&amp;nbsp;HHG-020) using the automated benchmarking driver (scripts/evaluate_benchmarks.py).&lt;/p&gt;

&lt;p&gt;Verification &amp;amp; Schema Compliance&lt;/p&gt;

&lt;p&gt;All 20 cases generated comprehensive JSON answer files saved to&amp;nbsp;cases/HHG-001.json&amp;nbsp;through&amp;nbsp;cases/HHG-020.json.&lt;/p&gt;

&lt;p&gt;CheckExpectedActualCompliance Status&lt;/p&gt;

&lt;p&gt;Benchmark Cases Evaluated&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;p&gt;Answer JSON Files Generated&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;p&gt;JSON Syntax &amp;amp; Formatting&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;p&gt;3-Part Schema (case,&amp;nbsp;sar,&amp;nbsp;next_best_actions)&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;p&gt;Approval Route Verification (auto,&amp;nbsp;L1,&amp;nbsp;L2)&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;p&gt;Evidence Provenance (graph,&amp;nbsp;document, etc.)&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;100% PASS&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Plain RAG vs GraphRAG vs Agentic GraphRAG&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To measure the architectural value of graph traversals and agentic state management, the 20 benchmark cases were executed across three distinct operational modes. The measured metrics from&amp;nbsp;docs/BENCHMARK_REPORT.md&amp;nbsp;are presented below:&lt;/p&gt;

&lt;p&gt;Three-Mode Operational Comparison Table&lt;/p&gt;

&lt;p&gt;Operational MetricPlain RAGGraphRAGAgentic GraphRAG (Phase 6)&lt;/p&gt;

&lt;p&gt;Graph Tool Calls (Total / Avg)&lt;/p&gt;

&lt;p&gt;0 / 0.0&lt;/p&gt;

&lt;p&gt;180 / 9.0&lt;/p&gt;

&lt;p&gt;180 / 9.0&lt;/p&gt;

&lt;p&gt;Evidence Items per Case (Avg)&lt;/p&gt;

&lt;p&gt;5.0&lt;/p&gt;

&lt;p&gt;8.9&lt;/p&gt;

&lt;p&gt;6.9&lt;/p&gt;

&lt;p&gt;SARs Filed (out of 20)&lt;/p&gt;

&lt;p&gt;0&lt;/p&gt;

&lt;p&gt;0&lt;/p&gt;

&lt;p&gt;20&lt;/p&gt;

&lt;p&gt;Evidence Provenance Compliance&lt;/p&gt;

&lt;p&gt;100.0%&lt;/p&gt;

&lt;p&gt;100.0%&lt;/p&gt;

&lt;p&gt;100.0%&lt;/p&gt;

&lt;p&gt;Average Latency per Case&lt;/p&gt;

&lt;p&gt;0.011s&lt;/p&gt;

&lt;p&gt;0.059s&lt;/p&gt;

&lt;p&gt;0.062s&lt;/p&gt;

&lt;p&gt;Ground Truth Accuracy&lt;/p&gt;

&lt;p&gt;NOT COMPUTABLE&lt;/p&gt;

&lt;p&gt;NOT COMPUTABLE&lt;/p&gt;

&lt;p&gt;NOT COMPUTABLE&lt;/p&gt;

&lt;p&gt;Architectural Trade-Off Analysis&lt;/p&gt;

&lt;p&gt;Plain RAG (Baseline): Operates strictly on semantic text matching against historical documents. While exhibiting the lowest latency (0.011s), it is completely blind to topological device sharing, transaction velocities, and card connections. Consequently, it gathers fewer evidence items and lacks the structural confidence to formulate compliance filings.&lt;/p&gt;

&lt;p&gt;GraphRAG (Direct Hybrid): Augments text retrieval with 9 graph tool calls per case, gathering the highest volume of raw evidence items (8.9 per case). However, without stateful orchestration or stopping logic, it cannot evaluate dynamic customer outreach or resolve conflicting signals.&lt;/p&gt;

&lt;p&gt;Agentic GraphRAG (Phase 6 Full Orchestration): Combines graph traversals with stateful multi-node reasoning. The agent applies stopping criteria to prune redundant evidence, simulates customer confirmation outreach, triggers deterministic policy actions, and generates complete, audit-ready SAR packages for 20/20 cases with minimal latency overhead (0.062s per case).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Streamlit Investigation Dashboard&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;FraudGraph AI includes an interactive, browser-based investigation dashboard (ui/app.py&amp;nbsp;and&amp;nbsp;app.py) built with&amp;nbsp;Streamlit:&lt;/p&gt;

&lt;p&gt;┌─────────────────────────────────────────────────────────────────────────┐&lt;/p&gt;

&lt;p&gt;│ FraudGraph AI — Autonomous Fraud Investigation Platform                │&lt;/p&gt;

&lt;p&gt;├────────────────────────────────┬────────────────────────────────────────┤&lt;/p&gt;

&lt;p&gt;│ Active Case: HHG-001           │ Verdict: CONFIRMED FRAUD (0.86)        │&lt;/p&gt;

&lt;p&gt;│ Card: C12382-K1                │ Pattern: card_not_present_new_device   │&lt;/p&gt;

&lt;p&gt;│ Customer: C12382               │ Total Exposure: $77.07 USD             │&lt;/p&gt;

&lt;p&gt;├────────────────────────────────┴────────────────────────────────────────┤&lt;/p&gt;

&lt;p&gt;│ Entity Subgraph Visualization (SVG Render)                              │&lt;/p&gt;

&lt;p&gt;│   [Customer C12382] ──OWNS──► [Card C12382-K1] ──MADE──► [Txn 3514030] │&lt;/p&gt;

&lt;p&gt;│                                      │                                  │&lt;/p&gt;

&lt;p&gt;│                                 SHARED_DEVICE                           │&lt;/p&gt;

&lt;p&gt;│                                      ▼                                  │&lt;/p&gt;

&lt;p&gt;│                          [Device iOS Mobile Safari]                     │&lt;/p&gt;

&lt;p&gt;│                                      ▲                                  │&lt;/p&gt;

&lt;p&gt;│                                 SHARED_DEVICE                           │&lt;/p&gt;

&lt;p&gt;│                                      │                                  │&lt;/p&gt;

&lt;p&gt;│                        [258 Connected Cards Ring]                       │&lt;/p&gt;

&lt;p&gt;├─────────────────────────────────────────────────────────────────────────┤&lt;/p&gt;

&lt;p&gt;│ Evidence Provenance Log (Graph, Document, Customer)                     │&lt;/p&gt;

&lt;p&gt;│ SAR Filing Narrative &amp;amp; Regulatory Export (FinCEN Format)                │&lt;/p&gt;

&lt;p&gt;│ Next-Best-Action Policy Queue (Initial vs Final, auto / L1 / L2 Routes) │&lt;/p&gt;

&lt;p&gt;└─────────────────────────────────────────────────────────────────────────┘&lt;/p&gt;

&lt;p&gt;The UI provides:&lt;/p&gt;

&lt;p&gt;Case Investigation Inspector: Instant filtering across all 20 benchmark cases, displaying fraud probability, risk tier, pattern classification, exposure amounts, and stopping rationales.&lt;/p&gt;

&lt;p&gt;Interactive SVG Subgraph Visualizer: Dynamically draws the local entity network, connecting customers, payment cards, flagged transactions, shared devices, and prior closed cases.&lt;/p&gt;

&lt;p&gt;Evidence Provenance Audit Trail: Categorized view of all evidence claims tagged by origin (graph,&amp;nbsp;document,&amp;nbsp;customer).&lt;/p&gt;

&lt;p&gt;SAR &amp;amp; Policy Explorer: Interactive viewing of generated SAR narratives and real-time inspection of Rules R1–R10.&lt;/p&gt;

&lt;p&gt;Benchmark Comparison Dashboard: Interactive comparison of Plain RAG, GraphRAG, and Agentic GraphRAG operational performance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Testing and Validation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;System correctness and regression resistance were verified across 12 automated test suites:&lt;/p&gt;

&lt;p&gt;tests/test_loaders.py: Chunked CSV streaming and column integrity.&lt;/p&gt;

&lt;p&gt;tests/test_transformers.py: Entity extraction and primary key determinism.&lt;/p&gt;

&lt;p&gt;tests/test_relationships.py: Edge derivation logic.&lt;/p&gt;

&lt;p&gt;tests/test_relationship_invariants.py: Referential integrity and zero-dangling-edge invariants.&lt;/p&gt;

&lt;p&gt;tests/test_tigergraph_schema.py: GSQL schema syntax, loading jobs, and query contracts.&lt;/p&gt;

&lt;p&gt;tests/test_mcp_tools.py: All 10 MCP graph tools, error envelopes, and index queries.&lt;/p&gt;

&lt;p&gt;tests/test_policy_engine.py: Rules R1–R10, initial/final NBA, approval routes, and stopping thresholds.&lt;/p&gt;

&lt;p&gt;tests/test_rag.py: Vector store indexing (5,590 docs), cosine similarity ranking, and hybrid retrieval.&lt;/p&gt;

&lt;p&gt;tests/test_agent_orchestration.py: LangGraph state machine, node transitions, and evidence simulation.&lt;/p&gt;

&lt;p&gt;tests/test_benchmark_evaluation.py: 20 benchmark answer files and schema compliance.&lt;/p&gt;

&lt;p&gt;tests/test_ui_data.py: Streamlit data loaders, error resilience, and credential safety.&lt;/p&gt;

&lt;p&gt;Final Verification Result&lt;/p&gt;

&lt;p&gt;Ran 151 tests in 352.535s&lt;/p&gt;

&lt;p&gt;OK (0 failures, 0 errors)&lt;/p&gt;

&lt;p&gt;The entire system passed&amp;nbsp;151 / 151 automated tests&amp;nbsp;with zero failures and zero errors.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Benchmark Limitations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In keeping with rigorous engineering standards, two key benchmark limitations are documented factually:&lt;/p&gt;

&lt;p&gt;Ground-Truth Accuracy Metrics (Precision, Recall, F1-Score):&lt;/p&gt;

&lt;p&gt;Status:&amp;nbsp;NOT COMPUTABLE FROM AVAILABLE GROUND TRUTH.&lt;/p&gt;

&lt;p&gt;Rationale: In accordance with the official challenge specification (dataset/HHGOA_IEEE/README.md), the 20 benchmark cases in&amp;nbsp;case_pack.csv&amp;nbsp;intentionally withhold true binary fraud labels to serve as a blind evaluation test pack. Fabricating an accuracy or F1 score without the official competition answer key is scientifically invalid.&lt;/p&gt;

&lt;p&gt;Live TigerGraph RESTPP Benchmark:&lt;/p&gt;

&lt;p&gt;Status:&amp;nbsp;NOT COMPUTABLE IN TEST ENVIRONMENT.&lt;/p&gt;

&lt;p&gt;Rationale: A live TigerGraph Savanna or self-hosted enterprise instance was not configured in the local execution environment (TIGERGRAPH LIVE STATUS: NOT CONFIGURED). All graph traversals were executed via the verified&amp;nbsp;LocalGraphClient&amp;nbsp;offline engine, which implements identical query contracts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Lessons Learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Deterministic Logic Trumps LLM Prompts for Compliance: Embedding policy rules (R1–R10) inside Python classes with mathematical threshold checks eliminated 100% of hallucinations and guaranteed reproducible compliance routing.&lt;/p&gt;

&lt;p&gt;Chronological Edge Derivation Unlocks High-Yield Patterns: Synthesizing the&amp;nbsp;NEXT&amp;nbsp;transaction sequence edge during data engineering enabled sub-millisecond card testing detection (&amp;lt;$5.00&amp;nbsp;micro-auths) that would have required cumbersome window functions in relational SQL.&lt;/p&gt;

&lt;p&gt;Graph Topology Is Essential for Evidence Provenance: Associating evidence claims directly with graph tool calls (tool:find_shared_devices) provides legal defensibility that vector-only RAG cannot match.&lt;/p&gt;

&lt;p&gt;Offline Dual-Client Architecture Accelerates Development: Building&amp;nbsp;LocalGraphClient&amp;nbsp;with identical interfaces to&amp;nbsp;LiveTigerGraphClient&amp;nbsp;allowed comprehensive unit testing, benchmark evaluation, and UI development without continuous network dependencies on remote graph clusters.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Future Enhancements&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Live TigerGraph Savanna Deployment: Complete cloud cluster provisioning to benchmark distributed GSQL query latency against massive billion-edge transaction graphs.&lt;/p&gt;

&lt;p&gt;Dynamic Graph Neural Network (GNN) Embeddings: Integrate TigerGraph Graph Data Science (GDS) library algorithms (such as Node2Vec or FastRP) to pass structural graph embeddings into the hybrid retrieval layer.&lt;/p&gt;

&lt;p&gt;Active Directory &amp;amp; Multi-Tenant RBAC: Expand approval routing (auto,&amp;nbsp;L1,&amp;nbsp;L2) into enterprise Single Sign-On (SSO) workflows with cryptographic analyst signatures for L2 SAR filings.&lt;/p&gt;

&lt;p&gt;Automated Feedback Loop Ingestion: Feed resolved, analyst-edited cases back into TigerGraph in real time, automatically expanding the vector store's historical index.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;FraudGraph AI demonstrates that the future of enterprise fraud investigation lies at the intersection of&amp;nbsp;Native Parallel Graphs,&amp;nbsp;Hybrid Retrieval-Augmented Generation, and&amp;nbsp;Deterministic Stateful Agents. By replacing disjoint manual analyst pivots with an automated, provenance-aware LangGraph state machine backed by TigerGraph 4.2.5, the platform bridges the gap between raw anomaly detection and legally defensible compliance action.&lt;/p&gt;

&lt;p&gt;Key Takeaways&lt;/p&gt;

&lt;p&gt;Graph Power: 7 vertices and 9 directed edges represent 590K+ transactions, identifying complex multi-card device-sharing syndicates within 4 hops.&lt;/p&gt;

&lt;p&gt;MCP Tool Standardization: 10 Model Context Protocol tools expose graph traversals with uniform JSON error-handling envelopes.&lt;/p&gt;

&lt;p&gt;Zero-Hallucination Policy: Deterministic R1–R10 engine enforces compliance actions and three-tier (auto,&amp;nbsp;L1,&amp;nbsp;L2) approval routes without LLM hallucinations.&lt;/p&gt;

&lt;p&gt;Hybrid GraphRAG: Indexes 5,590 documents (cases, typologies, regulations, rules), merging semantic relevance with topological graph evidence.&lt;/p&gt;

&lt;p&gt;End-to-End Verification: 20/20 benchmark cases generated with 100% schema compliance, supported by 151/151 passing automated tests.&lt;/p&gt;

&lt;p&gt;Team&lt;/p&gt;

&lt;p&gt;Team:&amp;nbsp;NexusForge&lt;br&gt;
Project:&amp;nbsp;FraudGraph AI&lt;br&gt;
Competition:&amp;nbsp;TigerGraph × HHGoa 2026 Hackathon&lt;br&gt;
Repository:&amp;nbsp;&lt;a href="https://github.com/Mokshith-11/FraudGraph-AI" rel="noopener noreferrer"&gt;https://github.com/Mokshith-11/FraudGraph-AI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tigergraph</category>
      <category>python</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
