Status: IN
`put` must re-read metadata after `_insert` returns because `PageManager.allocate_page` mutates `next_free` and `free_head` as a side effect during splits, and those changes are not threaded back through the return value.
Source: entries/2026/05/29/b-tree-storage-engine-btree-put.md