?rev drops, leaky be-snapshotTwo smaller divergences from the context model (Nav: a ?rev context reads repo objects; verbs may DROP context parts, but not mislead). (1) views/status/status.js:92-93 and views/ls/ls.js:191 deliberately drop ?ref and read the live wt — at a pinned context //ABC-123/dir?<oldsha>, :ls/:status silently show live-wt content with no signal (cat/tree honor the rev, so views disagree). (2) _snapBe/_restoreBe (core/loop.js:245-249) snapshot {repo,sink,format,force,flags} but omit be.authority and be.verb, which _cli overwrites — a pager :spell reentry leaks its //name scope into the outer session until the next drive recomputes it.
- ls/status at a ?rev context either read the repo tree at that rev, or refuse/label loudly — a ruling, then fix.
- _snapBe covers every field _cli overwrites (authority, verb) so reentry is side-effect-free.
- The "verbs may drop context parts" clause covers WRITE verbs dropping ?rev; read views showing wrong-rev content silently is what needs the ruling.
?rev context therefore selects tree B (or A for commit-to-commit), not a silent no-op.status/head at a ?rev context diff against that rev; ls follows the same tree-select rule.:ls/:status show live-wt content at <oldsha> with no signal._snapBe/_restoreBe; repro via a reads-be.authority probe after reentry.