be blame: mis-attributes lines to the root commit + slow commit load (research)
be blame:ABC.md attributes 5 pieces to c7184818 ("initial", 31Jul24) — the ROOT commit — but ABC.md is a recent doc that almost certainly did NOT exist at that 31Jul24 import. So the line-trace appears to FALL BACK to root when it loses a line's true origin. Separately, clicking/loading c7184818 takes SECONDS. Two suspected defects (one correctness, one perf) — research first, then decide fixes. Method: Issues.
be blame:ABC.md (307 hunk lines) pins 5 pieces to ?c7184818#initial (first piece is line 1). be log: tail confirms c7184818 (31Jul24 "initial", parent of 31902055 "compat: bswap") is the root commit.c7184818 link in the blame view takes seconds to load. The initial import is large, so commit:?c7184818 may inflate/serve a huge tree/diff, or the load path is inefficient.be blame:ABC.md.c7184818's tree at all? where was it actually introduced? is there a root-fallback / lost-origin path in the line trace?commit:?c7184818 load.GRAFblameident).ABC.md was DELETED at 006b9039 (18Nov24 repo reorg) and RE-ADDED as a different doc at 8948262e (22May) — its true add commit, owning 20/28 pieces. The 5 root-pinned pieces (line 1 H1 title + 4 blank lines before ## headers) are structural tokens whose content-only RAPHash (BLAME/WEAVE.c :502,510) COLLIDES across the delete/readd.graf/BLAME.c:480 (if (dr==BLAME_DESC_ABSENT) continue;) + the twin at :492: when the file is absent at a commit, GRAFFileWeave SKIPS it instead of folding an empty (delete) layer, so the old root tokens never die; the readd's matching tokens then inherit root's seq via the WEAVE EQ keep-seq branch (WEAVE.c:579-586). Fix: fold a delete as an explicit empty layer (the all-delete path WEAVE.c:534-540 already exists) so tokens die at the delete commit → readd is a clean all-INS at 8948262e.commit:?<root> (BE.cli.c:332/relay :453-459) runs graf diff:?<root>; graf_first_parent_hex GRAFNONEs the parentless root, falling to GRAF.exe.c:505 → GRAFDiffTreeRefs (DIFFREF.c:564) which token-diffs the ENTIRE 291-file initial tree as all-INS — O(repo), 4.35s (vs 0.16s typical).
BLAME.c 480/492 + WEAVE fold-on-delete) and BLAME-006b (root/whole-tree diff: perf, GRAF.exe.c:505/DIFFREF.c:564). Independent; any blame fix keeps GRAFblameident byte-identical.8948262e (deleted 006b9039, root not it); the 5 mis-attributed = title + blank lines that RAPHash-collide across the readd.graf/BLAME.c:480/492 skip-on-absent, no empty fold.GRAFDiffTreeRefs whole-tree all-INS (DIFFREF.c:564).diff: perf). This ticket = the umbrella scan; fixes land under 006a/006b.