A pager :put test/bro/glob/* (glob-expanded per BE-036 — expansion verified correct) staged
arg0 into the test/ SUB as bro/glob/glob.js (row displayed UNPREFIXED) and skipped the rest
arg test/bro/glob/run.sh as "does not exist". Chain: the initial view has no address (BRO-017)
so the composer context falls back to be.navCwd() = //BE-036; shapeArg0 merges the authority
into ARG0 ONLY (rest stays raw wt-relative, the Nav/URI-011 law); then authorityRepo
(core/loop.js:168) resolves be.wtdir("//BE-036/test/bro/glob/glob.js") — the nav WITH arg0's
whole file path — and anchors repo = be.find(dir), which climbs UP from the FILE and lands on
the NEAREST repo: the mounted test/ sub. Arg0 is recut sub-relative; the run's repo is silently
the SUB; every raw rest arg then resolves against the sub root. CLI is unaffected (no authority →
authorityRepo returns null → cwd repo; put's own stageInSub handles mount-crossing correctly,
multi-arg verified green). DELETE hazard: a same-named path existing in the sub makes a raw rest
arg silently target the WRONG file — destructive mis-target. Method Issues.
:put test/bro/glob/* → banner ?, row put bro/glob/glob.js (unprefixed, staged in the sub wtlog), skip test/bro/glob/run.sh does not exist — skipped (file exists at the top level; left unk).test/sub/lib/subcase.sh fixture — put("//cli/vendor/sub/x/k.txt","vendor/sub/x/l.txt") reentry → put x/k.txt staged in the sub + vendor/sub/x/l.txt does not exist — skipped. Exact match of the user output shape.core/loop.js:168 authorityRepo: navStr = uri._make(undefined, u.authority, u.path, …) keeps arg0's PATH; dir = be.wtdir(navStr) → a file path; repo = be.find(dir) → nearest enclosing repo = the SUB when the path crosses a mount; rel = dir.slice(repo.wt.length + 1) recuts arg0 sub-relative.//NAME for a SRC_ROOT worktree, BE-036 glob multiplying args (exposes the multi-arg case). The composer law itself is correct: rest args MUST stay raw (BE-030, memory of the URI-011 bindRest retirement).--tlv ✓, loop.cli reentry without authority ✓, reentry after a sub-file view ✓ — only the authority-on-arg0 form breaks.resolve(context, base, rel) (BE-030); the context reaches the verb as the CONTEXT slot (the be/nav scope through the reentry), never baked into an arg's spelling.:put <sub-crossing> <rest…> behaves identically to the CLI form: all args staged, rows displayed with the full top-relative prefix, correct parent-side tallies; mount descent remains the VERB's job (stageInSub, proven correct).shapeArg0/mergeUri) is retired for verb word-calls; slot-edit spells (?ref/#frag re-anchoring the current view) are navigation, not verb args, and keep their merge.//name = worktree, NAVNONE on miss) and the BE-011/BE-027 confinement chokepoints.test/sub/ case.resolve(context, base, rel). Folds into the BE-030 unification; authorityRepo's find-from-full-path climb disappears with the merged-arg0 spelling that fed it.test/sub/ case: test/sub/pagercross (put + delete arms, real composer + driveSpell reentry). RED on the old composer even shows the live destructive delete (deleted 1 file(s) — the sub's own x/k.txt); GREEN after (put stages both full-prefix; delete = safe CLI-identical DELDIRTY refusal).spell.compose returns {verb, arg0, rest, context} (verb word-calls: args RAW, no arg0 merge; slot-edits keep theirs); driveSpell(spell, context) → loop.cli(argv, {reentry, context}); new core/loop.js contextRepo(ctxUri) scopes be.repo/authority from the CONTEXT (authority+ctx-path only, no arg path — find lands on the tree top), non-fatal miss, CLI path byte-unchanged.resolve(context,base,rel) per-arg unification stays under BE-030.test/bro/pager/driver.js 7 cc-* checks assert the RETIRED arg0-merge shape (cc-put-multi wants arg0 //THERE/a.txt) — the only net new red; worker left them per the no-test-edits rule. Amend to the new {raw arg0, context} shape on gritzko's order.be.find(<deep path>) anchor sites for the same climb-past-mount class.jab get FF before land (loop.js overlap risk looks low)..be climbs topWt out of $WORK) — the test feeds the clean-hive context shape directly; navCwd cell-naming is BRO-017/BE-037 territory./home/gritzko/src/BE-039, uncommitted: core/loop.js, shared/spell.js, views/bro/bro.js, views/bro/pager.js + sub-staged test/sub/pagercross/*; suite 161/163 vs baseline 162/163, the delta being the 7 retired-shape cc-* checks awaiting the amend ruling; orchestrator re-verified repro RED/GREEN + counts 2026-07-10)