Changes touching this path
- the removal a land tripped over is retried on the store OWN transient budget and exits on the DIRECTORY SCAN rather than on what remove_file returned - and the mechanism the ticket named is REFUTED by a standalone probe. a handle held WITH share-delete unlinks with POSIX semantics on this toolchain: remove_file returns Ok and read_dir is empty IMMEDIATELY, so the pending-delete-still-appears-in-a-scan story does not exist here. the real mechanism is the handle WITHOUT share-delete, the antivirus and indexer shape, where remove_file returns os error 32 and the file is simply still there - which is why retrying is the right option rather than reconstructing the state. the reproduction is DETERMINISTIC rather than statistical: an aggressor holding that handle across the removal and releasing after 120 ms reddens the pre-fix spelling at 0 passed 2 failed and leaves the fixed one at 2 passed 0 failed, and a holder that NEVER releases, past the whole budget, fails LOUDLY with the helper own message naming the address and the last OS error rather than passing vacuously. under four emulated scanners opening every fixture object share-read-only plus four spinners, paired and interleaved across 150 rounds, the unfixed arm is 117 green and 33 RED at 22 percent while the fixed arm is 150 green and 0 red, the two disjoint - and an honest negative is recorded beside it, because an earlier weaker scanner gave 15 of 15 green on BOTH arms and therefore proves nothing on its own. the helper asserts the address is NAMED first, so it cannot pass vacuously against a store that never held it, and it is applied at all FOUR sites of the family rather than the two the ticket named, because the closure_complete siblings share the shape and flake the same way. reconstruction was rejected on evidence rather than on preference: the held-but-unreadable state is STILL PRODUCED, since object errs and holds_object holds, and four mutations show each test still biting on its own arm. and the third sighting belongs to a DIFFERENT ticket: all three predate #1667, which fixed tmp() returning the temp root ITSELF, so that 161 fixture sites shared one store across parallel threads - reproduced by running today code with the pre-#1667 body, six concurrent full suites, all six failing and this family reddening in three of them at a save. so the first control message is the shared-store class already removed, and NOTHING was added on the create side (#1596)
8fadcf40 · 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.