BE-026: recurse submodule paths from .gitmodules escape the wt (unvalidated path=)

Now
DONE

core/recurse.js composes a worktree path from an UNVALIDATED .gitmodules path= value: isMount(wtRoot, subpath) builds wtRoot + "/" + subpath then + "/.be" (raw concat, no safeRel), and walk/resolveRepoForPath feed the same subpath through subs.mountWtDir = join(repo.wt, subPath) into be.find. shared/gitmodules.js parse validates nothing (curPath = line.slice(eq+1).trim()), so a crafted checked-out .gitmodules declaring path = ../../../etc escapes the worktree via lstat/stat/be.find. Same class as BE-011 (lexical/concat path build defeated by ..); found in the BE-011 follow-up wt-open audit. Method Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome