{"id":"btree-put-metadata-reread","text":"`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.","truth_value":"IN","source":"entries/2026/05/29/b-tree-storage-engine-btree-put.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{},"explanation":{"steps":[{"node":"btree-put-metadata-reread","truth_value":"IN","reason":"premise"}]}}