SUBS-039: reusable submodule-path delegation — route a <sub>/<path> verb arg into the mounted submodule (PUT/DELETE first; EVERY state verb needs it) DIS-058 D10

Submodules Recursion §3: "staging a submodule file delegates that to the submodule, then stages that submodule". The be/ JS read spine (core/recurse.js: walk/isMount/gitmodulesOrder/joinPrefix) ENUMERATES every mounted sub for whole-tree read recursion, but there is NO shared routine that takes a SCOPED PATH ARGUMENT (be put <sub>/file, be delete <sub>/file) and DELEGATES the verb to the owning submodule on the remaining subpath, then stages the sub in the parent. Today the state verbs just SKIP gitlink subtrees (stage.js:149/261, delete.js:78), so a <sub>/file arg is silently dropped/mis-handled. This is CROSS-CUTTING: every verb that takes a path — put, delete, get (single-file restore), and the scoping side of status/diff — needs the same "split the path at a sub mount, run the verb inside the sub, fold the staging back" primitive. This ticket adds that ONE reusable routine and wires PUT/DELETE as its first consumers (the DIS-058 D10 slice). Scope be/ JS. Parent DIS-058 (D10); see Submodules, SUBS-037; method Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome