Changes touching this path
- loot ticket new --restricted-to and --published, move and attach ship as slices 4 and 5 of the native tracker (spec §12, map #2422): every ticket write is checked against .lootattributes by the rule that matches first before a byte is written, a file under tickets/public/ resolving published, one under tickets/<group>/ restricted and one under tickets/<id>/ not published, and a write it would seal otherwise is refused naming that rule and the line to add; no ticket verb writes .lootattributes, because a restricted= rule names its readers by identity name, so a group name there locks out an author whose identity has another name, and publication stays an act of the operator. a group name is lowercase, is not public and is never 8 letters of k-z. move rewrites every file byte for byte under the new space and prunes the old through disk_entry::prune_unwritten, so its history keeps its order; it refuses a ticket with a file this working tree does not hold, prints that what was published stays world-readable when it leaves public, and asks --allow-demote itself for a move from a group to internal, because the demotion guard compares a path with its own history and a move gives every file a new path, while the publish gate still refuses each newly published file. attach writes one a/ file with the declared name over the bytes and refuses a secret-shaped name in every space unless --allow-reveal. the spec, ADR 0042 and CONTEXT.md record what shipped and the demotion correction, and the usage line count moves to 145. red under thirteen named mutations over the 35 ticket tests, each restored: no tier check (32 passed and 3 failed), only meta checked (34 and 1), an id-shaped group allowed (34 and 1, and 4 and 1 through the binary), no demotion consent (34 and 1), position keyed on the recorded path (33 and 2), no note leaving public (34 and 1), a file only the harbor holds skipped (34 and 1), no attach gate (34 and 1, and 4 and 1 through the binary), internal allowed to publish (34 and 1), public allowed unpublished (34 and 1), restricted accepting any unpublished tier (33 and 2), old files kept (32 and 3), and the move writing internal whatever its target (32 and 3). cargo test green, 4640 passed over 142 binaries with 13 ignored (#2428)
59ee663d · 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.