The idea of preserving rejected decisions is especially interesting because it captures a form of “negative knowledge” that Git usually can’t represent. A codebase can show what the team chose, but not necessarily which alternatives were tested and ruled out. For coding agents, that context could prevent not only repeated mistakes but also repeated investigation. It makes project memory feel less like storing explanations and more like preserving the reasoning boundary around the code.