Changes touching this path
- a loot-cli test can no longer inherit a temp position an earlier run left behind: workspace::harbor::tests::nothing_is_said_from_inside_a_lane spawned its lane at a sibling of its temp root, named for the process id and removed only at the end of the test, so a run that failed left the lane on disk and the next run to draw that pid was refused with is already a loot position, which is what blocked a land while #2026 was being tested. reproduced through the test binary, seeding the lane directory for the pid the run was handed: red with the panic at harbor.rs naming the refusal (0 passed and 1 failed), green under the same seeding once the sibling is cleared before the spawn (1 passed and 0 failed), and the three directories this machine had already leaked are gone. the property is derived rather than listed, in crates/loot-cli/tests/temp_root_census.rs: a door is a function in this crate that refuses a path already holding a loot position, found by the words it refuses with and by the one-call forwarders that reach them, which is how spawn_lane reaches spawn_lane_as; a root is a path a function builds from the system temp directory, where a join stays inside it and any other derivation names a sibling the clear never reached; and a site is a door call on a root the same function built, safe when that root was cleared first or carries the clock beside the pid. it reads 26 such calls over 10 files today. the pid keying stays, decided in the file rather than site by site, and the loot-core census was not widened because it pins a different property and says itself that its scope is deliberate. red under mutation, counts read each time: the clear removed from harbor.rs (2 passed and 1 failed), the clock dropped from the explain.rs root which is safe for the other reason (2 passed and 1 failed), the forwarder half of the door reading removed so spawn_lane stops being a door (1 passed and 2 failed, the fixture and the reach guard together), every derivation made to inherit so a sibling reads as cleared (2 passed and 1 failed), and a refusal reworded so the walk finds no door for it (2 passed and 1 failed). no migration, no wire or format byte moves, and nothing outside a test moves, so this owes no deploy. the workspace suite is green (4007 passed over 125 binaries, 7 ignored) (#2113)
fb0539fa · 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.