Turn Diff
Adds a card after each agent turn showing changed files and commits, with a panel for that turn’s diffs.
Turn diff adds a card after each agent turn that changed files or made commits. Select a file to open its changes in the Turn diff workspace panel. The card lists up to 20 files and 10 commits; the panel also offers before-and-after image previews and an All turns history. Command Center → Open turn changes opens the recorded history directly.
Requires Git on the daemon's PATH and a Git repository with an existing commit. The manifest supports Paseo 0.8 or 0.9.0-beta.2 and later; the supplied screenshots and author verification use Paseo 0.12.0. Do not enable it alongside the author's thread-branch plugin, which supplies the same turn cards.
At turn start and end, the plugin runs Git in the agent's repository and snapshots tracked files and eligible untracked files into Git objects. It uses a temporary copy of the index, preserving the real staging area. Untracked files over 1 MiB are omitted from snapshots; newly encountered large files are listed without a saved diff. Ignored untracked files are excluded. Tracked files have no corresponding size exclusion. Concurrent turns in the same directory receive a warning because their changes cannot be attributed separately.
The daemon stores turn metadata, file paths, commit subjects and snapshot identifiers under its Paseo home in plugin-data/turn-diff/, using owner-only file permissions. Snapshot file contents remain in the repository's Git object database, protected by two refs per turn under refs/turn-diff/turns/. Journal pruning runs on the first recorded turn and every 50 additions, removing entries older than 30 days or beyond 2,000 and deleting their refs. Unreferenced snapshot objects remain until Git garbage collection removes them. Ordinary branch pushes exclude these refs; a mirror push includes them. Diff text and image data are sent to the connected Paseo client for display. The plugin makes no network requests of its own.
A missing start snapshot or non-Git directory produces no card. If a snapshot fails, line-count comparison is used where possible and can miss changes that preserve counts; those rows cannot open a saved file diff. Start records survive a plugin reload for up to one day. Timeline cards disappear after daemon/session reload, while the panel reads saved history. Text diffs are truncated at 200,000 characters and the panel displays at most 2,000 rows; images over 3 MiB are not previewed.


