dog/ is the shared layer between abc/ and the verb dogs (sniff/keeper/graf/spot/bro). Tickets here move generic, multiply-used machinery DOWN into dog/ and rework its APIs. Current focus: relocate the token-level history engine out of graf/ into a columnar, HUNK-compliant dog/WEAVE reusable by every dog and keyed on real commit ids. Plan-shaped pages, cleared via the Issues loop.
dog/WEAVE ({text,toks,ins,rms,commits}); full design in its api.
BRAM+NEIL) from graf/
down to dog/, behaviour-preserving (unblocks the dog/ layering).
WEAVEParse/Next/Merge/Produce + cursor +table-driven tests (folds the DIS-003 holdout in as a property case).
WEAVEEmit{Diff,Full,Merged} + Alive/Produce overan index-bitset scope; 16 MiB cap + large-file fallback (folds DIFF-007).
new API, delete graf/WEAVE.{c,h}, update both INDEX.md.