http://blog.jessitron.com/2016/09/provenance-and-causality-in-distributed.html?m=1
blog-post-provenance-and-causality-in-dist-systems#causal-ordering1This is a causal ordering. It doesn't care so much about clock time. It cares what commits I worked from when I made mine. I knew about the parent commit, I started from there, so it's causal. Whatever you were doing on your branch, I didn't know about it, it wasn't causal, so there is no "before" or "after" relationship to yours and mine. blog-post-provenance-and-causality-in-dist-systems#causal-ordering1
blog-post-provenance-and-causality-in-dist-systems#legibility-definition1I'm using the word "legibility"[1] in the sense of "understandability:" as a person we have visibility into the system's workings, we can follow along with what it's doing. Distinguish its features, locate problems and change it. blog-post-provenance-and-causality-in-dist-systems#legibility-definition1
blog-post-provenance-and-causality-in-dist-systems#recording-decisions-with-data-that-led-to-them1Recording decisions along with the information available at the time lets us evaluate those decisions later, when outcomes are known. blog-post-provenance-and-causality-in-dist-systems#recording-decisions-with-data-that-led-to-them1
blog-post-provenance-and-causality-in-dist-systems#repeat-causal-inputs-in-messages-it-sends-outward1A system component that chooses to retain causality in its events has two options: repeat causal inputs in the messages it sends outward; or record the causal inputs and pass a key in the messages it sends outward. blog-post-provenance-and-causality-in-dist-systems#repeat-causal-inputs-in-messages-it-sends-outward1