When you encounter code whose rationale is not recorded, you are forced to infer intent from artifact. You read the structure, guess at the constraints that shaped it, hypothesize about the alternatives that were rejected. You are reconstructing a decision from its physical remains. It is slow, error-prone, and systematically incomplete. Even when the code is documented.

The absence of reasoning is a tax paid by everyone who touches the code after the original author.

(The diff is the residue of thinking · Commit messages are a lossy proxy for reasoning · Agent sessions make reasoning explicit)