Changes touching this path

  • the reserved-role envelope is read and written in one place, and loot tag reads its listing through the door. reserved.rs now owns SENTINEL and is_reserved_role (re-exported from landmark, so every path other crates use still resolves) and a crate-private envelope writer; ReservedRecord::parse strips the sentinel and splits the tag off once and hands the body to Landmark::from_body or Note::from_body, which parse only their own fields, and Landmark::parse and Note::parse are now the wildcard-free landmark and note arms of that parse rather than second readings of the envelope. tag.rs build_landmarks matches ReservedRecord::parse without a wildcard instead of Landmark::parse plus is_reserved_role, so a scratch variant fails to compile there as at render, attestation_shape and the two per-type views (E0004, checked and reverted). Note::parse is not made stricter. a table test freezes the pre-#1850 landmark and note parsers as an oracle and runs every role joined from twelve fields up to five deep through Landmark::parse, Note::parse and ReservedRecord::parse, green before the move and after it, and a second pin spells out the role bytes both records write. red under mutation: the empty-name check dropped from the landmark body (2 passed, 1 failed), the door matching the note tag case-insensitively (2 passed, 1 failed), and the envelope writer appending a sentinel (1 passed, 2 failed). no migration, no wire or format byte moves, and no forge or relay byte moves, so this owes no deploy. the workspace suite is green (3925 passed over 123 binaries, 7 ignored) (#1850) fcd4a153 · 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.