Changes touching this path

  • a grant deposit is now a type: loot_forge::grant::Deposit carries the blob it was parsed from, its fields are private to grant, parse_deposit verifies the blob before it builds one and the test constructor is compiled only under cfg(test), and Forge::deposit_grant takes the Deposit and no second blob, where the fields were public and the blob a separate argument, so a route could file a blob nobody verified and the peek would count it by the signer it names; migration 0030 is held to ENVELOPE_HEADER, ENVELOPE_VERSION and an envelope wrap writes by a test reading its text, which a land runs, where only a live Postgres case held it; ADR 0057 records that 0030 relies on its length test being evaluated before get_byte inside an AND, which Postgres does not order, and that a later migration touching the column should nest a CASE, and the signer conformance case now files an empty blob, which Postgres 18 files with a NULL signer; the draft refusal names a slot another command moved to what this one would write as having done so, where it named it as a move like any other. pinned by compile_fail examples beside a positive control, the migration text test, and draft label tests in loot-cli: red under named mutations, each restored, failed and passed: the fields public (1 and 2 of the doc tests), the test constructor public (1 and 2), a serving path calling the test constructor (the lib build fails), the header constant at 98, the version at 2, the substring offset at 3 and the version byte offset at 1 (1 and 0 each), the working change never matched (2 and 1), the draft check matching against what it read (1 and 2), the pending handle always matched (3 and 0). also names the trait as what defines the mailbox reads in inbox.rs and rejoins rewrap leftovers in mailbox.rs, inbox.rs and ADR 0057. cargo test green, 4946 passed over 145 test result lines with 15 ignored, with the forge suite live on a throwaway Postgres 18. owes no deploy (xwwrskls) b7f03ea6 · 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.