vr — read code and take notes; every call is logged. read a file (line-numbered, relative to a jj revision): vr read FILE whole file vr read FILE:120-180 line range (or FILE:120 for one line) vr read -r REV FILE the file as it is in another jj change search (regex): vr grep PATTERN [PATH] search the working copy vr grep -r REV PATTERN PATH search another change (scope with PATH) take a note while reading (ids count up from 1 per session): vr note -f FILE:10-42 TEXT... about a line range vr note -t struct -f FILE:10-42 TEXT... about a struct/enum/const/fn/... vr note -r REV -f FILE TEXT... about code in another change vr note -reply 12 TEXT... reply to log-wide note #12 vr query -op note shows both the session-local id and the log-wide id used by -reply and vrsite /note/N permalinks. REV is any jj revset; default @ (the working copy). Every command takes -log FILE for where to append the log (default ./vr-log.jsonl, or $VR_LOG); use an absolute path across repos.