The model at a glance
Six concepts carry the whole model, and one diagram connects them:
Two of those pieces carry more detail than one row holds. A stage is one expected step: it names
the event that starts the expectation, the event that completes it, and the service-level
agreement between them. A target is one currency-specific monitored entity, identified
by organization, entity type, entity ID, and currency. A wallet target retains its observed
position, expected snapshot, difference, confidence, transactions, pending operations, and
issues. An order target uses the canonical payment amount, and without an expected amount
its difference reads as unavailable rather than zero.
The evidence timeline is the bridge between the public event record and the finding. It preserves
what arrived, when it occurred, and which expected stage it satisfied or missed.
Three identities on one event
Every event carries areference and an entity_id, and they answer different questions.
wlt_48291 as a wallet because payment_to_wallet has the entity type
wallet, which is why no separate entity-type field exists. Events that share a reference
are evaluated together, and their flow and participant identities have to agree with the
flow’s rules.
An optional third identity, correlation_id, links evidence that belongs to the same
cross-service transaction but arrived under different references. It is investigation
metadata: it never merges operations and never changes evaluation. See
Correlation IDs.
An optional causation_id points to one earlier event; it does not follow sequence.
See Causation IDs.
Example: a payment succeeded, but the wallet was not credited
Consider onepayment_to_wallet operation:
wallet.credited within five minutes.
occurred_at, not on the order in which events arrive, so
late and out-of-order delivery reconstructs the operation without changing the original
evidence.
Supported flows
Reconify owns four flow definitions, each with its own expected event path and deadlines.Stage deadlines run on business time, which means the clock starts at the predecessor event’s
occurred_at. A predecessor delivered after its business deadline breaches on arrival, and
evidence that follows resolves the issue as resolved_late while the breach stays part of the
history.How evidence becomes a finding
The path from your request to a finding runs in five steps:- Your system sends an event with a flow, type, reference, entity ID, and event time.
- Reconify stores it as immutable evidence.
- Events sharing a reference reconstruct an operation, ordered by
occurred_atwith the event ID as the tie-breaker for equal timestamps. - The evaluator compares that operation against the flow’s stages and deadlines.
- Evidence that satisfies the flow leaves the operation OK. Evidence that is missing, late, mismatched, failed, or conflicting produces a finding for investigation.
data_quality issue, which is a signal about your producer rather than a breached
operation.
An
accepted ingestion result means Reconify stored the event for processing. It says nothing
about whether the operation passed evaluation.Send events
Submit event batches and handle every item result safely.
Operations
How evidence, deadlines, and late arrivals shape an operation.