v0.1.0 — first release
RegressionLedger v0.1.0 — first release 🎉
Stop your coding agent from re-applying fixes that already failed.
A zero-dependency Claude Code hook + CLI that fingerprints every edit, links it to the next test/build outcome, and hard-blocks the agent from re-applying a patch that previously failed — across sessions, surviving context compaction.
Highlights
- 🚫 Hard block (PreToolUse deny) when a previously-failed fix is re-applied, with the reason attached
- 🧬 Semantic fingerprint — normalized tokens, string/number literals abstracted, but
true≠false - 🔗 Outcome linkage from real test/build runs (npm, jest/vitest/mocha, pytest, go, cargo, tsc, eslint…)
- 💾 Durable JSON ledger that survives session restarts and context compaction
- 🔒 Concurrency-safe writes (file-locked); hooks fail open so they can never break the agent
- 📦 Zero runtime dependencies — offline, no API keys, no native build
Install
# inside your project
npx regressionledger init # once published to npm
# for now, from source:
git clone https://github.com/anlor1002-alt/regressionledger
cd regressionledger
node bin/regressionledger.js initTry it (no agent needed)
npm run demo # watch the doom-loop get blocked
npm test # 35 tests, zero dependenciesQuality
- 35/35 tests passing
- Independently code-reviewed; outcome-classification false positives, fail-open gaps, and a ledger lost-update race were all fixed
- Verified: concurrent writes lose nothing; hostile hook input always exits cleanly
See the README for full usage, configuration, and how it differs from existing tools.
Note: not yet on npm —
npx regressionledgerwill work after the firstnpm publish.