Skip to main content

SCAR — version control for negative knowledge

Git records what your codebase is. Nothing records what it refused to be.

Every codebase is a battlefield where the bodies have been removed. SCAR puts the markers back: the approaches that failed (deadend), the code that looks wrong on purpose (fence), and the couplings nothing in the code reveals (landmine) — as small Markdown files in .scars/, tracked in git, reviewed in PRs, and injected into an agent's context at the exact moment it is about to step on one.

Why now

AI agents write an increasing share of all code, and agents have zero hallway memory. They see a weird retry loop and "clean it up." They re-add the library that was removed after a data-corruption incident. They retry, across thousands of sessions, the exact approaches that already failed — because the repository only records positive space.

The flip side: agents also remove the historically fatal adoption barrier — authorship cost. An agent that just abandoned an approach can write a deadend candidate in milliseconds, at the moment of maximum context. Agents created the urgency; agents remove the barrier.

What makes SCAR different

  • Enforcement at the moment of action — a pre-edit hook injects anchored scars before the edit; an optional post-edit tripwire catches the forbidden thing actually being done. Advisory, never blocking, by default.
  • Anchors that survive refactors — paths, tree-sitter symbols, and diff-scoped patterns, with loud (never silent) degradation when they rot.
  • A human promotion gate — agents and harvest write only candidates; a human promotes.
  • Measured, not asserted — compliance is instrumented with pre-registered thresholds and published methodology, including every measurement error caught along the way. See Measurement methodology.

Start here

AI agents: a machine-readable index of these docs lives at /llms.txt.