BE-028: classifyDir nav scope escapes the wt (ls relDir lexical prefix)

Now
DONE

shared/classify.js classifyDir(be, …, scopePfx) opens scopeAbs = join(wtRoot, scopePfx.slice(0,-1)) and readdirs it (:462, :502, :506), where scopePfx arrives from a nav URI via views/ls/ls.js relDir() (:105, :146) a LEXICAL prefix computation that .. defeats. So ls //name/../../etc (or ls:../../etc) yields scopePfx = "../../etc/", then readdir(join(wtRoot, scopePfx)) escapes the worktree. The exact defeated-by-.. lexical-prefix pattern BE-011 removed from wtdir, surviving in the ls scope path; found in the BE-011 follow-up wt-open audit. Method Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome