State model
A partitioned event log feeds time-windowed operational state. Per-entity sequence and watermark prevent late or duplicate events from appearing current.
Periodic review can miss material change between cycles, while continuous monitoring can overwhelm teams with low-value noise.
A change-detection layer distinguishes source refresh from risk-relevant change, assembles only affected evidence and opens a review when a policy-defined trigger is met.
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.
Events or conversation turns require a decision before the underlying situation changes, with strict latency and back-pressure constraints.
Risk-rating changes require deterministic trigger evidence and authorised review; unverified external data remains quarantined.
A deterministic outer workflow contains model-led work inside typed, observable calls. Dashed messages remain proposals until policy or a human grants authority.
A partitioned event log feeds time-windowed operational state. Per-entity sequence and watermark prevent late or duplicate events from appearing current.
Use streaming ingestion for signals, low-latency feature or state reads for the hot path, and asynchronous enrichment outside the decision budget.
Point-in-time correctness takes precedence over the newest unqualified value. Late events trigger correction or review instead of mutating the old decision invisibly.
These roles are deliberately vendor-neutral. Each can be independently owned, versioned and replaced.
Returns candidate entities and typed relationships with match features, contradictions, effective dates and non-merge evidence.
Evaluates identity, purpose, capability, amount, risk tier and policy version; returns allow, deny, step-up or human-review with reasons.
Runs a versioned state machine with explicit waits, deadlines, retries, compensations, human tasks and terminal states.
Builds time-qualified projections from source events and reconciliations without becoming the legal system of record.
Appends request, versions, policy result, model proposal, approval, action receipt, readback, correction and custody events under one correlation key.
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.
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.
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.
Keep consequential state transitions deterministic and use models inside bounded steps.
Let the model choose the complete path and recovery sequence.
Cost acceptedThe shell reduces flexibility, but makes deadlines, retries, permissions and recovery testable.
Use event-fed projections for scale and direct readback for consequential effects.
Fan out to all systems of record for every interaction.
Cost acceptedRead models introduce lag and reconciliation work, but reduce source load and make cross-system views feasible.
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.
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.
partition_rate = peak_events_per_second / active_partitionsdecision_budget = ingest + state_read + policy + score + action_commitbacklog_clear_time = queued_events / recovery_throughputTokenise 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
Before-and-after state, source lineage, trigger rule, materiality assessment, review outcome and next-review basis.
A financial-crime reviewer changes risk status or closes the trigger.
Start with advisory intervention and measured shadow scoring. Increase automation only when peak-load, late-event and fallback tests preserve the control outcome.
Investigation, policy, data, model-risk and operations owners retain decision and control accountability.