_resolveSpell is stale post-URI-014 — retire it, route follows through the ONE composerThe pager has TWO spell resolvers: typed spells ride _applySpell → shared/spell.js compose/mergeUri, while Enter/click follows ride _runSpell → _resolveSpell (pager.js:271-324). _resolveSpell's slot-edit branch is gated on cur.scheme (pager.js:307), but since URI-014 the tracked view URI is SCHEME-LESS (_splitSpell peels the verb), so the branch never fires: every relative/ref/frag follow falls to the path-only fallback that drops the //authority, the other slots, and the verb. Nav.mkd:3 promises ONE resolution path; today the same string navigates differently typed vs followed. 2026-07-07 audit, runtime-VERIFIED. Method Issues.
cat //WT/dir/file.c?feat):?feat2 → /dir/file.c?feat2 (authority + frag gone); typed ?feat2 → cat //WT/dir/file.c?feat2#… (correct).../x.c → /dir/../x.c (authority gone, .. NOT collapsed, fs-absolute stat downstream); typed ../x.c → //WT/dir/x.c (collapsed — but see BRO-018 file-as-dir).status → bare spell, context ERASED (re-entered cli runs in the launch cwd, not //WT); typed :status → status //WT/dir/file.c (Nav.mkd:28 re-lens keeps the URI). Bare-verb targets are real: navLink returns the bare verb on empty addressing (shared/nav.js:40); loop.js:370 mints bare-verb hunk URIs./abs/p.c → verbatim, stat'd FILESYSTEM-absolute; typed :cat /abs/p.c → cat //WT/abs/p.c?feat (wt-relative + inherits ?feat). Three meanings of /abs across follow/typed/CLI.diff:sub/f.c?dev → diff://WT/sub/f.c?dev (authority inherited, pager.js:294-304); typed the same → cat diff:sub/f.c?dev (view verb kept, unscoped) — the typed side is BRO-018's mergeUri RESET + verb-peel gap.#frag on a ?ref follow (pager.js:308), contradicting Nav.mkd:31 (a REF change KEEPS the #L position).keeper) vs loop.js TRANSPORT (loop.js:180, has keeper); _viewPath (first-hunk path) vs _verbUri (tracked) — two "where am I" answers.h key → _runSpell("help:") inherits the WHOLE current address (help://WT/test/x.c?feat); an unresolvable inherited authority makes the help key show "err: NAVNONE"._runSpell feeds the followed target through the SAME compose/mergeUri path as typed spells; _resolveSpell, pager joinPath, and the pager TRANSPORT table are deleted.verb addr word-spell target stays a pass-through (already-absolute); everything else slot-edits the context per Nav.views/bro/pager.js + shared/spell.js; keep the C-baked scheme:-residue bridge (_splitSpell) until the C side re-bakes (URI-014 follow-up).help:/h should compose with an EMPTY context (help is context-free).?ref #frag ./x ../x /abs bare-verb schemed.