MEM-023 DONT: tree-walk recursion holds a 1MB buffer per level (keeper/KEEP.c, keeper/WALK.c)

Now
DONT

Two tree walkers recurse per nesting level while each frame holds a live 1MB buffer with no depth cap: keep_walk_tree maps u8bMap(tbuf, 1<<20) per level and recurses before unmapping; walk_tree_dive carves a_carve(u8, tbuf, 1<<20) and recurses bare so each BASS carve survives across the child fetch. A pathologically deep directory chain (a legal git tree shape) drives recursion to the SHA cap (65536) for keep_walk_tree C-stack overflow, or exhausts the per-thread BASS arena for walk_tree_dive (graceful WALKNOROOM). The goal is to bound depth and stop stacking one big buffer per level.

Issues

Per-level recursion with a 1MB buffer live across the recursive call; no depth cap.

Blockers

None.

WIP

TODOs

Outcome