Changes touching this path

  • the History ledger walks one depth a step and bands a page asking each change tree once: ledgerWalk reads the parents of each version once, at its least depth, carrying as seen the versions of each depth that reached two or more, where its UNION over version and depth rows re-read a version once for every depth a path reached it at, 37,044 reads of parents for the 1,366 versions and 75 merges of this repo graph, which the linear fixture of rlztuvmo could not show; bandsOf groups the page touches by version and asks the tree view for each change with its touched paths as one array, so the view is read once per change and in the plans measured its gate ran once per change, where both ran once per touched path. measured as forge_owner on a throwaway Postgres 18 with this repo graph as a fixture, medians of 7: a first ledger page 273 ms before and 37 ms after, the ledger size 273 and 36 ms, and the bands of a page touching 6,170 paths 82 ms over 142,724 buffers before and 34 ms over 20,582 after; over the 1,400-deep line of rlztuvmo the page went from 32 to 34 ms and the bands from 21 to 16 ms. the answers compared equal row for row at depth caps of 2000, 300 and 7, and the bands over three sets of versions. live the page had read 644 ms and the bands 363 ms; the fixture reproduced the walk and not the whole bands gap. the seen rule was checked against a plain breadth-first walk over 20,000 random graphs with several heads, missing parents and a depth cap: no mismatch, and 10,927 and 3,610 mismatches with seen never grown or grown only past two versions. pinned in a new owner.pg test over a ladder of 8 diamonds: the answer, a walk capped at depth 5, and the plan loops, no read of change_parent run more often than there are versions and none of tree_entry more often than there are changes. red under named mutations, each restored, over the 3 selected live tests: the old walk back (1 failed and 2 passed), seen never grown (1 and 2), seen grown only past two versions (1 and 2), the old bands back (1 and 2), and the bands asking one path at a time (1 and 2). cargo test green, 4832 passed over 144 test result lines with 15 ignored, the site gate green at 914 passed, and the site live suites 93 passed. CONTEXT.md says so. owes a site deploy and no forge migration; it also carries a comment on ylrvoopz (zlulwtlw) 05f831e6 · 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.