Project memory that lives in the repo has to stay honest as the repo moves. That is fine if the memory is small and gets read on every task, but the three approaches only pay off if the files stay close enough to the code that a reviewer notices the drift. Make updating the memory part of the change itself. Otherwise it is another artefact that was correct at some point.
Exactly. That is one of the core design rules in Keep the Why: if a change touches rationale, updating that rationale is part of the same change and should be reviewed in the same PR/MR as the code.
The repo is the source of truth, but Git alone does not prevent stale reasoning. The useful property is that code and rationale share the same lifecycle, review path and history.
Otherwise, as you say, it just becomes another artifact that was once correct.
Adam Lewis
Product Engineer/Architect navigating the AI revolution
Project memory that lives in the repo has to stay honest as the repo moves. That is fine if the memory is small and gets read on every task, but the three approaches only pay off if the files stay close enough to the code that a reviewer notices the drift. Make updating the memory part of the change itself. Otherwise it is another artefact that was correct at some point.