State model
Append-only case events feed a current-state projection. Evidence rows keep source, observation time, validity, correction history and narrative usage.
Invoices, shipping records, counterparties, goods descriptions and payments can be individually plausible yet inconsistent as a trade story.
Specialist agents extract typed trade facts, reconcile quantities and timelines, compare counterparties and create a dossier of provable inconsistencies and open hypotheses.
Organisations, systems and operating conditions are intentionally anonymised and recomposed. The design demonstrates engineering and banking-domain reasoning; it does not represent a named client estate, vendor product or measured production result.
Typed commands, state changes and receipts cross an event spine without surrendering domain ownership.
Permitted workModels may extract, compare and propose hypotheses. Deterministic policy gates and trained investigators own risk classification and disposition.
Consistency rulePin policy, list and evidence versions per case; retain contradiction and non-match evidence as well as supporting evidence.
Hard boundaryThe model is not a system of record, identity provider, policy authority or proof that an external effect occurred.
An alert or case requires evidence fan-out, deterministic triage, residual model reasoning and a defensible human disposition.
Models may surface anomalies but cannot label criminal intent or file a report.
A deterministic outer workflow contains model-led work inside typed, observable calls. Dashed messages remain proposals until policy or a human grants authority.
Append-only case events feed a current-state projection. Evidence rows keep source, observation time, validity, correction history and narrative usage.
Use asynchronous ingestion and bounded parallel reads. Slow providers have independent timeout and circuit-breaker policy so one source cannot exhaust the case tier.
Pin policy and evidence versions at case open. Later corrections append and may trigger reassessment; they do not rewrite the historic basis silently.
These roles are deliberately vendor-neutral. Each can be independently owned, versioned and replaced.
Accepts a typed evidence request and returns the minimum permitted facts with source, event time, observation time, validity and exclusions.
Returns candidate entities and typed relationships with match features, contradictions, effective dates and non-merge evidence.
Appends request, versions, policy result, model proposal, approval, action receipt, readback, correction and custody events under one correlation key.
Serves owned, audience-qualified and effective-dated content; exposes supersession, withdrawal and dependency metadata.
Evaluates identity, purpose, capability, amount, risk tier and policy version; returns allow, deny, step-up or human-review with reasons.
Durable records carry provenance, authority, effect and custody without turning a transcript into an uncontrolled memory store.
Pin policy, list and evidence versions per case; retain contradiction and non-match evidence as well as supporting evidence.
The selected design is not universally superior. It is the safer fit for this boundary and failure cost.
Prefetch stable, purpose-safe facts; acquire volatile facts on demand against a time-qualified snapshot.
Load a broad customer profile at session start.
Cost acceptedThe selected design adds source calls and latency, but reduces stale data, excess exposure and accidental reuse.
Bias consequential journeys against false merge and retain unresolved candidates.
Automatically merge the highest-scoring candidate.
Cost acceptedMore cases require clarification, but one person's authority or risk cannot silently attach to another.
Use append-only events plus a rebuildable current-state projection.
Overwrite the case row with its latest status.
Cost acceptedReplay and storage are more complex, but point-in-time reconstruction and correction lineage remain possible.
Federate authoring while centralising lifecycle metadata, validation and serving rules.
Create one centrally authored knowledge corpus.
Cost acceptedFederation requires stronger contracts and owner discipline, but preserves domain accountability and release velocity.
Compile stable decision logic and retain retrieval for explanation and residual ambiguity.
Ask a model to interpret the source document for every request.
Cost acceptedRule compilation needs controlled change, but creates repeatable decisions, regression tests and clear exceptions.
Retries are bounded by knowledge of business effect; unknown outcome remains visible, owned and independently reconciled.
Actual thresholds belong to accountable service owners. The design exposes the equations and observables that those owners must baseline.
peak_enrichment_qps = peak_case_rate x sources_per_casereview_hours = residual_cases / investigator_throughputevidence_storage = cases x evidence_rows x retention_windowTokenise identity before model use, restrict sources by investigation purpose and retain only policy-required evidence.
A design is production-ready only when teams can prove what happened, recover it and change it safely.
false-merge and false-split test
source outage and incomplete-case test
blind sample of deterministic closes
investigator override drift review
Document citations, goods normalisation, route graph, price comparisons, contradiction pairs and disposition history.
A financial-crime investigator determines escalation and reporting.
Use shadow decisions and blind samples before allowing deterministic closes. Keep agent-touched cases under human disposition until operating evidence supports narrower review.
Investigation, policy, data, model-risk and operations owners retain decision and control accountability.