//name — the repo axis of every CLI arg, and the context slotThe CLI is TRIPARTITE: bee [//context] verb args. //name: the basename of a $HOME/.config/bee/repos line (BEE-001), else the dir $SRC_ROOT/name (SRC_ROOT defaults to $HOME/src). //name/rel is a path INSIDE that repo wherever an arg is a path: bee //bee-journal/todo/BEE/BEE-022.mkd. ///name is RETIRED (ruling 2026-08-19): git has no default main tree. The BEE-003 mount table (index/mount.js:84:pc named) already maps basename -> root for http; this adds the CLI spelling and the $SRC_ROOT leg.
index/mount.js named(name) — top-level registry line, basename = name, first wins, a dup name is unreachable (BEE-003:69).door.js vopts fills opts.from from the AMBIENT (mount.pos()), the cwd being the CLI default; every view already takes opts.from.http.js addresses every file as /<mount>/<rel> through mount.canon; the CLI has no way to SAY that address.$SRC_ROOT (a fresh worktree //bee-BEE-023, BEE-026) is unreachable by name.SRC_ROOT is read nowhere in bee; be's WORK_ROOT/projectRoot() climb is the nearest analogue and is NOT wanted here.Rep: ///bee in todo/BEE/*.mkd and links like [/INDEXES]: ///bee/INDEXES.mkd carry the retired spelling.main.js main: a FIRST word of the shape //name (no further slash) is the context; it is stripped, resolved, and becomes opts.from (the mount root) for the verb that follows — bee //bee-journal todo Sev:HIGH.//name/rel ANYWHERE an arg is a path (the fs leg pathView, cat, blob, list, tree, log, diff, see) resolves to <root>/rel before the view sees it; the hunk URI keeps the //name/rel spelling verbatim, as the fs leg keeps its arg today.door.js seatOf/splitRef: a //name/rel:line(:hash) target lands in that repo — a pager click and an http href on such a reference resolve alike (LITE-034).name: (1) mount.named(name) over the registry, (2) $SRC_ROOT/name if it is a dir holding a git repo/worktree, (3) refusal bee: //name: no such repo (registry, $SRC_ROOT).SRC_ROOT: io.getenv("SRC_ROOT") || HOME + "/src", read in ONE place (index/mount.js), never composed elsewhere.//: today's behaviour to the byte — the ambient repo by the cwd climb.Rep: meta pairs and link footers move from ///name to //name — a one-shot sed over todo/**/*.mkd, wiki/, meta/, listed in Outcome.// is a bare double slash with NO scheme: //name is not a URI, is never parsed with a regex in C or composed by hand (/meta/work §"Things NOT TO DO"); the JS split is on the first / after the //.$SRC_ROOT/name hit is NOT auto-registered: the registry grows only by bee install/bee index as today (BEE-001); a name hit from $SRC_ROOT is a read-only mount for that run.//name that is a LINKED WORKTREE of a registered repo is its own context (its own HEAD, its own dirty files) but shares the index of the original (BEE-009) — indexDir already folds to the common dir.//name that resolves to a submodule root is addressed as itself here; the http address through the parent (BEE-003:64) is unchanged.//name form with no verb (bee //bee-journal) is the LITE-018 zero-arg story IN that repo: index + list on its root.$HOME/.config/bee/repos; $HOME/.config/be/tracks remains the read-only seed of BEE-001, nothing else./// is gone; no default main tree exists, a repo is always named.bee todo //bee-journal is todo with the arg //bee-journal (a path in that repo), not a context — one rule, no look-ahead.//name-TKT-123 that exists nowhere is NOT created here; that is BEE-026's verb. Every other verb refuses it as an unknown name.//name with NO registry line and NO $SRC_ROOT/name allowed to fall back to $SRC_ROOT/<name> as a prefix match? Default: no, exact only.index/mount.js: srcRoot(), byName(name) = registry leg then $SRC_ROOT leg, splitRooted(arg) -> {name, rel}|nullmain.js: strip a leading //name context into opts.from; refusal line + BRONONE when it resolves to nothingdoor.js: //name/rel in openPath, seatOf, splitRef; hunk URI keeps the //name/rel spellingopts.from-relative arg resolution accepts //name/rel (one helper, no per-view parsing)test/mount/ or test/context/run.sh: registry hit, $SRC_ROOT hit, miss, context + verb, rooted path arg, linked worktree context, zero-arg in context/// -> // sweep over todo/, wiki/, meta/ in //bee-journal; README usage rowsbee/INDEXES.mkd and bee/README.mkd: the //name spelling, one paragraph each