turnlog
A lightweight, Git-compatible agent trace recorder.
turnlog records agent sessions and turns, then links them to tickets and the current VCS state. If jj is available in a colocated repo, it records jj change/operation metadata; otherwise it falls back to Git metadata.
Goal
Connect:
ticket → agent session → agent turn → jj change or git commit
without becoming a VCS.
Install
From crates.io, after publication:
From source:
Use
Storage
turnlog --cwd DIR (or -C DIR) runs against DIR instead of the process current directory, which is useful when an agent process is launched from one directory while editing another repository.
turnlog init adds .turnlog/ to .gitignore when missing, keeping local provenance out of GitHub by default. Treat turnlog as local-only provenance unless a repo explicitly opts into sharing it. If shared provenance is needed, commit a curated report or summary intentionally.
turnlog writes human-reviewable files under .turnlog/:
.turnlog/
index.jsonl
sessions/
turns/
attachments/
index.jsonl is the append-only canonical event log. JSON snapshots and Markdown reports are written for sessions and turns.