Changes touching this path

  • a loot grants peek at a forge now counts the mailbox without reading a blob, where it read every grant blob of the inbox and verified each due envelope to count them, 3.6 s to its headers live: migration 0030 files grant_inbox.envelope_signer, a stored generated column holding the signer each blob envelope names, the in-process inbox reads the same bytes when it files a blob, GrantInbox::held_counts answers the mailbox grouped by reveal_at and signer, and peek_counts applies the pull is_due and counts as standing the rows naming the mailbox key, so the signer is verified at the door, parse_deposit, and not at the peek. over 8,700 rows of about 6 KB on a throwaway Postgres 18 the peek went from about 420 ms to about 1.5 ms with the same counts. pinned by a conformance case asking the peek through a backend whose blob reads panic and beside a pull, one holding each backend to one signer reading at each envelope edge, the count statement read as text, and a live count of the TOAST blocks it fetches: red under named mutations, each restored, failed and passed of 6: the peek reading blobs (4 and 2), the statement reading blob (2 and 4), the in-process inbox verifying (2 and 4), a strict embargo comparison (2 and 4), the column made virtual (1 and 5), the column without its version check (1 and 5). cargo test green, 4932 passed over 145 test result lines with 15 ignored, and the forge suite green on a throwaway Postgres 18. CONTEXT.md and ADR 0057 say so. owes a forge deploy, which runs migration 0030 (yxwluyyl) 6882672f · 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.