After the JS modules land, decide whether any hot path warrants a thin libdog/abc native leaf. Part of JS-027. Method: Issues.
be status in pure JS over existing bindings; some paths may be too slow/awkward. Concrete gaps surfaced during JS-030..033 (all worked around in JS, parity still byte-identical — these are convenience/perf leaves, libdog/abc):io.stat returns {size,mode,kind} only — NO mtime; classify spawned stat -c '%Y %n' (chunked ≤200 paths — a 2955-path argv overflowed spawnFds scratch). A thin mtime field on the stat leaf removes the spawn.io.stat follows symlinks (FILEStat not FILELStat) + no io.readlink — a dangling symlink throws; symlink content unconfirmable. Want lstat + readlink leaves.pack.scan/pack.resolve (PIDXScan/PACKResolveOfs) fail on REF_DELTA — fine for keeper (OFS-only per PackLog invariant), but foreign imports need a sha-base resolver.io.readdir hidden:false drops dotfiles — needed hidden:true to scan a tracked .gitignore (only .git/.be should be meta-filtered).unk where native shows new (SNIFFAtKnown new branch) — orthogonal; only bites be-redirect files inside a recursed sub.has(ts)/row(i) index, git/IGNO matcher, HUNKu8sFeedRow (ULOG→HUNK serialize) — currently done in pure JS, would be tidier as libdog leaves.dog/ or abc/ leaf (never a dog). File a focused ticket per accepted leaf.be status timing.