Effects of editing
Define immutable fields, calculated values, draft completeness and correction effects.
Specify immutability beyond a read-only-looking field
Define the data result when an edit tries to change a stable identity.
Name every input that recalculates a derived field
Use dependency cases to avoid a result that refreshes for only one input.
Decide who supplies a calculated value
Keep a declared derived field from becoming an undocumented override.
Set completeness rules for each record state
Avoid forcing draft inputs to satisfy a later committed-state requirement.
Separate correcting a fact from changing its interpretation rule
Keep both input and rule version visible when a derived outcome changes.