Version control for AI agent sessions — checkpoint, branch, diff and roll back agent work mid-task.
Strong tool design with clear, action-oriented names (avc_status, avc_save, avc_rollback) and comprehensive descriptions (avg 180 chars, well above 10-char minimum). All 8 tools have documented input schemas with typed parameters and descriptions. Risk classifications (READ_ONLY, WRITE, REVERSIBLE) are explicit. However, output schemas are not documented in the source, LLMs cannot see what fields to expect from responses. Parameter descriptions are good but lack format constraints (e.g., checkpoint ID format, branch name rules). No enum constraints on string parameters. Error handling guidance is absent from descriptions.
Create a new branch (a parallel timeline of checkpoints), optionally starting from a specific checkpoint. Use this to try an alternative approach without losing the current one.
Show which files were added/modified/deleted between two points in time. Defaults compare the last checkpoint against the live working tree. Set patch=true to see the exact line-level changes (unified diff) — use it before deciding whether to roll back, when reviewing what an approach changed, or to recover a specific edit from an older checkpoint.
List recent checkpoints on the current branch, newest first.
Restore ALL workspace files to their state at an earlier checkpoint. Use this when the current approach has gone wrong or files were broken by recent edits. The pre-rollback state is auto-saved as a safety checkpoint first, and the current branch position does NOT move — this is safe and reversible.
Snapshot EVERY file in the workspace so it can be restored later. ALWAYS call this immediately BEFORE risky operations (large refactors, deletions, dependency upgrades, config changes) and immediately AFTER reaching a working state. Nothing is uploaded anywhere; data stays under ./.avc/.
Output schemas not documented. LLMs cannot see what fields avc_status, avc_save, avc_log, avc_branch, avc_switch, avc_rollback, avc_diff, avc_timeline return. This forces agents to guess field names and risks broken downstream tool chains.
No error handling guidance in tool descriptions. When avc_save fails (e.g., disk full, permission denied), descriptions do not tell LLMs what to do next or whether to retry. Agents will be stuck.
Parameter format constraints missing. 'ref' in avc_rollback accepts 'HEAD', branch name, or checkpoint ID/prefix, but no description of valid ID format, length, or character rules. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Show unsaved changes between the workspace files and the last checkpoint (added/modified/deleted per file). Call this whenever you are unsure whether work is already checkpointed.
Switch to another branch and restore its files in the workspace. Unsaved changes are automatically preserved in a safety checkpoint first — nothing is ever lost.
Overview of every checkpoint across ALL branches — useful for seeing alternative attempts side by side.
No pagination or result limits documented. avc_log and avc_timeline could return hundreds of checkpoints. Descriptions do not mention limits or how to paginate. Large results will blow context windows.
avc_diff 'context' parameter lacks bounds validation guidance. Description says 'default 3' but does not warn LLMs about the 0 - 100 range constraint or consequences of extreme values.