Sawbuck

Memory

It remembers what burned you.

When your agent touches a file that broke before, Sawbuck hands over the warning first, drawn from your repo's own git history: the reverts not to retry, the tests that got weakened, the spots that keep getting re-fixed. Every note is a fact from the record, with the commit that proves it.

/ Do-not-retry

The reverts and dead-ends in this file's past, surfaced before you propose the same change again.

/ The debt you can't see

What your repo has quietly silenced, the skipped tests, the noqa, the eslint-disable, risk-ranked by how fragile each file is and what is still live in HEAD now.

/ Cites its sources

Regressions concentrate: the next one is several times likelier in a file that already broke. A grounded "look here" guide, not a guess dressed as certainty.

Bring the memory you already run.

Memory is a socket. Your git history is the default and stays the authoritative axis; compose your own alongside it, and a similarity score never outranks what git can prove.

Providers

git history, default, read by logbook · an Obsidian vault · a Mem0 store · a plain JSON file · a read-only view of your project's own Claude memory. Set SAWBUCK_MEMORY and compose them in order.

Folder-scoped

A repo sees its own memory and its ancestors, never a sibling. The access boundary is the directory tree, so one project's history never leaks into another.

Sawbuck adds the git-truth layer to the memory you already have. It composes; it does not replace.