Your coding agent can read the code and still miss why you rejected an earlier approach. Selvedge preserves that context: explicitly record decisions, rejected paths, reasons, and when to reconsider them; retrieve the history through MCP or a Python CLI before trying again. Records live in local SQLite. MIT-licensed, no account, and no LLM calls by Selvedge. Try the built-in demo in a temporary database, then connect it to your coding workflow.


Free
Launch Team / Built With

AWS Activate CreditsCredits that fuel your startup’s next milestone
Promoted




I'm Mason, the maintainer of Selvedge.
Bring one repeat bug.
If your coding agent keeps revisiting a bug or an approach you've already rejected, bring one example to the Selvedge pilot. I'll help you record the reason and check whether a fresh coding session can retrieve it. This is a small, free, voluntary trial—not a request for a testimonial or a promise to fix the bug. Failed lookups and confusing setup are useful feedback too.
Talk to me and join the pilot: https://github.com/masondelan/selvedge/discussions/49
Reply there with your coding agent and a short, non-identifying project label. The discussion is public; please keep private code and customer information out, and read the notes-sharing details before participating.
A fresh coding session can read your code and still miss why you rejected an earlier approach. That missing context can send an agent back down a path you already explored.
Selvedge makes those decisions retrievable. Developers and agents explicitly record what was tried, why it was rejected, and what would justify reconsidering it. Later sessions can look up that context through MCP or the CLI before choosing their next step.
A concrete example from the built-in demo: reject storing raw API keys because a database leak would expose usable credentials, record the hashed-key approach, and say when to revisit the decision. A later lookup retrieves the rejection and its reason.
The workflow is simple:
1. Record the decision, rejected approach, reason, and reconsideration conditions.
2. Query prior_attempts when similar work comes up.
3. Reconsider the old decision when its assumptions change.
Records live in local SQLite. Selvedge is MIT-licensed, requires no account or subscription, and makes no LLM calls itself. Recording is explicit: you or your agent decide what to preserve.
Try it:
uv tool install --upgrade selvedge
selvedge demo
The demo uses a temporary database without modifying your project. It records a rejection and retrieves it through a fresh database connection.
Quickstart: https://selvedge.sh/start/quickstart/
Source: https://github.com/masondelan/selvedge
What decision does your coding agent keep forgetting, and what context would have helped it?
I added a 56-second technical walkthrough with real CLI output: record a rejected cache decision, exit the process, then retrieve its reason from a fresh process using the same temporary SQLite store. The example is fictional, and the commands and captured output are available to reproduce it.
Watch: https://youtu.be/wXoA9htThAM
Reproduce: https://gist.github.com/masondelan/32f8d7e6fcb1ce3cff4040efa544c16d