Open
Description
We must disallow direct editing of models and instead provide an immutable method of "updating" data; for transactions we need to model reversals and replacement transactions (unless the transaction is not yet posted
), and for all other forms of data that is kept within the Beankeep we should update through forward-additions to the datastore. We must make this transparent to end users as much as possible, while at the same time making it easy and convenient to see an object's history forwards or backwards when such access is needful (such as to support auditing functionality).