# Reading code here Files are read with the `notevi` tool — run `notevi -doc` once for full usage. `notevi` stores the trace in the repo's private local jj sidecar named `notevi_log`. Do not create a working-tree log file; there is no path to set. - `notevi read FILE:START-END` — line-numbered read; prefer ranges over whole files - `notevi grep PATTERN [PATH]` — regex search; scope with a path - `notevi read -r REV FILE`, `notevi grep -r REV PATTERN PATH` — at another jj change - `notevi note -f FILE:10-42 -t struct TEXT...` — record observations as you read Navigate top-down: grep for the symbol, read the enclosing range, note what you learn. Every entry records the full current jj change and commit IDs; the sidecar append does not modify the project's working-copy change.