5 ms·
I think they needed to be clearer about what the actual requirement was. If the requirement is, "Show the balance _as it was_ at that point in time", this syst
by ealexhudson 11mo ago
I think they needed to be clearer about what the actual requirement was.
If the requirement is, "Show the balance _as it was_ at that point in time", this system doesn't fulfil it. They even say so in the article: if something is wrong, throw away the state and re-run the events. That's necessarily different behaviour. To do this requirement, you actually have to audit every enquiry and say what you thought the result was, including the various errors/miscalculations.
If the requirement is, "Show the balance as it should have been at that point in time", then it's fine.