CODE-073: MARK rows accumulate — the scan's diff base grows one tree per run

Now
OPEN
Sev
MED
Rep
///bee
Ask
gritzko
Rev
///bee#8cb69a0
See
BEE-063
See
BEE-031

Input

Context

index/lindex.js:201:PS,243-254: a wh128 lane is unkeyed, so every run adds a MARK row and none is removed; base/pTrees therefore grows by one commit per index run and descend pays |pTrees| git.getTreeDiff calls at every tree level, forever. Confirmed: 7 bee index runs over 7 commits left 13 mark rows per ref and a rebuilt step 2 got pTrees = 13 distinct trees. With the BEE-031 post-commit hook that is one extra parent tree per commit — thousands on a live repo. Found in the 2026-09-18 index review.

Goals

Keep only the marks the diff needs — the newest few by CTS, or the single tip whose tree is an ancestor of all — or compact the MARK key space on write.

WIP

Design decisions

TODOs

Blockers and bummers

Outcome