2026-07-18, live: in the WORK-001 work view (launched from work/WORK-001), gritzko clicked [get] on the //bro-why row; the get executed against the LAUNCH tree instead — one wrong-tree mutation row, same class as the day's main-tree hijack: launched from the project root it would have re-pointed the MAIN tree.
26718LFvB_ get ///be#43a754a0 appended to work/WORK-001/.be (the launch tree), re-pinning its track ade2448b→43a754a0; work/bro-why/.be UNTOUCHED (last row Jul 13).//bro-why/: get ///be, the click site parses it (SPELL.parseOspell) and calls _actSpell(o.spell, "//bro-why") — yet the mutation still ran in the pager's own tree.[diff] button (a U nav spell, diff //KEY) errs on EVERY wt row: no hunks: diff //beagle-ext-tests //: work — the resolved spell has the view's own address (//: work) glued onto the tail, so the diff verb gets a mangled arg line and returns no hunks (_runSpell's no-hunks report).An O-invite mutation runs IN the invite's recorded context, full stop: [get] on //bro-why appends to bro-why's wtlog and touches nothing else; a run whose context cannot be anchored refuses loudly (no fallback to cwd/launch tree).
[get] on a row whose context ≠ launch tree; assert the row's wt got the get row and the launch tree's .be is byte-identical._actSpell(spell, ctxOverride) → driveSpell(s, ctx) — does driveSpell's ctx only scope ARG resolution (nav) while the verb's TARGET wt stays the process cwd? The BRO-025 spec is chdir/serialize/restore — the recorded-call path — the verb must run AS IF cwd were the context.//authority is consumed from arg0 ONLY (authorityRepo); context changes ONLY by navigation (BRO-024)..be unchanged[diff] repro + root cause: where _resolveSpell welds the view address (//: work) onto diff //KEY — the U follow path must hand the verb diff //KEY alone