Skip to content

Transcript anchoring design note

Transcript rows are anchored to jj change ids so local recall follows the user's mental model of work, not individual rewritten commit hashes.

change_id is the primary alignment key. commit_id is captured as a historical snapshot but is not maintained-current as the change is amended or rebased.

Live capture

While kiki is running, JSONL entries are anchored to the workspace's current @ as known by the op-log watcher.

Backfill

If kiki was down while an agent ran, restart-time @ is the wrong anchor for old entries. Backfill reconstructs the anchor from per-workspace jj op history.

The per-workspace dimension is required because jj's op log is repo-shared while @ is workspace-local.

If no reliable anchor exists for an entry, kiki records anchor_unknown=true. Anchor-aware queries skip those rows by default; recent and search queries include them.

docs/reference · built with VitePress