I would like to add that one important difference I see between our cases is that, for a given version, the code ultimately has deterministic behavior, which is not necessarily the case when describing a house from different sources. A function cannot really do “yes and no” at the same time. The rule may change from one version to another, and understanding why it changed is extremely valuable context. But at the end of the day, what matters most is being able to determine what the function actually does in that specific version. So I think contradictions between documentation, specifications, historical sources, etc. are important to preserve as context and evidence, but they don't necessarily need to remain unresolved when it comes to the actual behavior of the code.
