Changes touching this path

  • ADR 0018 records the grilling on the pull half of #2251: a pull asks for the attestations it wants by change id, where the sketch on record was a host arrival order and a client cursor. both consumers that were blocked ask about specific versions, the land gate about the versions it lands and a web approval about one proposal tip, so the ask needs no host state, no migration and no cursor, answers identically on a relay and a forge, and cannot breach the #48 bound because the client sizes the request; the cursor also cost more than it looked, since AttestationLog is a BTreeMap written in key order and a relay records no arrival order at all, so it is kept and costed for whole-set convergence as #2445. rejected on facts: a trailer on the existing pull is impossible because decode_have refuses a body that is not a multiple of 32 and decode_have_wants_within refuses any unexpected remainder, a client have-set is the #48 growth, and a digest probe degenerates to the whole set on an active repo; the push-side rejection of a watermark does not carry over, which is why it is #2445 design and not a rejection. loot pull asks for its declared heads and loot-first land asks for the versions it lands before invoking the gate, so the gate stays local under ADR 0076 and ADR 0092 and a host down at land time is a warning; an old host 404 never fails a pull and /info advertises the capability; a named cap on ids per request lives in loot-net; the whole request is gated on may_read_metadata and answers a flat list with no per-id status; a pulled attestation is recorded in the push ledger as delivered, removing the no-op re-send; no received-ledger. the owed paragraph above now points at the decision. decided, not built: no code, wire or format byte moves and nothing on a host changes (#2251) 6163727f · 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.