Same inputs, same outputs

An auditor's favourite question is «show me how you got this number». On the platform the answer is always the same: replay the journal.

What determinism means here

Business logic never reads the wall clock, never draws a random number and never uses floating point. Time and other outside inputs arrive as recorded events. As a result, the same inputs always give the same outputs — on any machine, at any time.

The journal is the truth

Every change is appended to a journal that only grows. The state you see is a pure function of that journal: restoring from the journal gives exactly the state that running produced. Corrections are new entries, not edits.

Replaying the journal gives the same resultJournal: inputs in order, only appendede1e2e3e4e5e6Run todayReplay a year lateron a fresh machineBalancesto the centBalancesto the cent=Same inputs, same result
The journal is the only input. Replayed later on another machine, it gives the same balances.
Take last year's journal and replay it on a fresh machine: you get the same balances to the last cent. Ask what the system believed on 31 March, and you get what it believed then, not what we know now.

Two kinds of time

Each record keeps two times: when a fact was true in the world, and when the system learned it. That lets you ask both «what was the price on 1 March?» and «what did we think the price on 1 March was, as of 15 March?» — the second question is the one auditors and courts ask.

Everything that follows from it

  • A tamper-evident audit log: every action and refusal is chained by hashes, so editing, deleting or truncating an entry is detected
  • Exactly-once changes: a repeated request never applies twice
  • Rehearsal: a rule change can be replayed over history to see which results it would change, before it goes live
  • Reproducible software: building the operating system image twice from the same sources gives a byte-identical file
  • The reasoning engine is deterministic too: two identical instances think and act identically, and any run can be replayed

Determinism is not an add-on we test at the end. It is a rule of the code: business logic simply has no way to read the clock or draw a random number.

Next step

See it on your own business

Book a demo: we show the platform on your processes and agree where your data will live — in our cloud or on your own nodes.