Changes touching this path
- the branch this ticket names is reachable and already correct, and the finding is its sibling: a first-line probe on every arm of converge_heads_retiring, run over the whole loot-cli lib suite, enters the stale-plus-reflected arm 3 times from three named tests, so it is neither dead nor untested - and the abandonment the ticket observed is gone, because 1477 landed the persist there on 2026-09-09, five days after this was filed two minutes behind 1468. that staleness is the one thing the ticket got wrong, and it got it wrong by being overtaken rather than by misreading the code. what the same probe found is the OTHER retire-and-persist exit, the one taken when the drop leaves two heads and every survivor is flat, at 0 of 938: the divergent-flat tests all return through that if with retired EMPTY, stepping over the write without ever entering it, so the half of 1477s fix that lives there was held by nothing. it is pinned now by a test that seats a superseded original beside two divergent co-versions, which needs two things reading alone would not have supplied - the amend has to happen in a lane so the primarys head file still names the original, and the peers co-version has to be parented on the originals own parent so the original stays childless and is not pruned as an ancestor at load. the pin was proved live by running the mutation rather than argued: deleting that persist fails it on the REOPEN with every assertion above still passing, and fails nothing else in the suite, 938 passed and 1 failed. no behaviour changed - the source edits are the new test plus comments at both arms recording the probe counts, and every probe was removed and grepped to zero (#1480)
aa6d3239 · dbf3dbe6…
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.