The obvious answer is a decision log, and the reason almost nobody has a useful one is that decisions do not arrive announced. They happen in the middle of a thread, at minute forty of a call, in a review comment that ends with “fine, let's do it that way”. By the time anyone recognises it as a decision worth logging, the moment has passed and the context is three days back in the scroll.
So a decision record that depends on someone choosing to write it down will always be missing the decisions that mattered most, which are the fast ones. The workable approach is to derive them from the conversation, which means capturing four things about each: what was decided, who decided it, when, and what it changed.
Execution is the easier half — pull requests, commits, deploys, review comments are already structured and already timestamped. Connecting the two halves is a matter of matching subject, time window and the people involved: the decision to change an approach on Tuesday, and the branch that started reflecting it on Thursday.
What makes this worth doing is not the tidy record. It is the disagreements it exposes. A decision with no execution behind it is a plan nobody started. Execution with no decision behind it is work nobody agreed to. Both are cheap to fix in the week they happen, and expensive to discover a quarter later.