Chunk ids
A chunk id is a stable pointer to a line range.
Format
path#symbol@hash
pathis repository-relative.symbolis the declaration or a file label.hashis the first eight characters of the file sha256.
Example:
services/auth/sessions.py#sessions@2608cacc
A workspace adds the repository name:
example:services/auth/sessions.py#sessions@2608cacc
Stability
The file hash is part of the id. An edit changes the hash and therefore every chunk id in that file. An unchanged file keeps its ids across a refresh.
Stale reads
A read or finding keyed to an old id is stale after an edit. The ledger keeps the old finding and marks it stale. Re-read the new chunk and record a new finding.
Reading
auwai read ID reads a chunk in the active task session.
auwai fullread read reads every chunk in the active full-read segment.
workspace read repo:ID reads a qualified chunk.
The read checks the file hash and warns when the source changed.