Fraud Detection · Documentation

Architecture

Fraud Detection's pipeline, its owned data, the events it emits/consumes, and what is out of scope.

Fraud Detection
rulessignal setscoremeteredauto-hold≥ 75disposition→ #21metered · LLMdeterministic · $0
Live diagram — the rules and the score formula are authoritative; only the score stage is metered.
rules$0$scoremeteredauto-hold$0disposition$0COST LEVER · rules authoritative
Live diagram — spend accrues only on the metered score; the deterministic rules decide the auto-hold.

Deterministic signal rules + one metered stage

Scoring runs through one metered stage, score-booking — Cloud claude-haiku-4-5 (cost-capped, fail-closed) or OSS qwen3:8b recorded on local M4 hardware at $0, prototype default OSS-only. The signal set and the score formula (min(100, 30 + reasons×16 + jitter)) and the auto-hold threshold (75) are the authoritative deterministic rules; the model read rides on top. The stage writes a cost_ledger row visible only in the inspector.

Owned data, events + out of scope

The app owns demo_eco_c6_risk_signal (booking, partner, guest, score, fired reasons, disposition, linked case id). It emits fraud.flagged and dispute.opened (consumed by #21, which opens a linked refund case). The data invariant holds — owner canonical, viewer re-scores and dispositions credential-scoped, ephemeral, and reset-clearing (setWhere-guarded). No real cards or PII; honesty is inspector-only. Stage-2 reads demo_eco_c6_risk_signal behind the same surface.

Architecture · Fraud Detection · Abhishek Saxena