Who it is forA developer merging a branch where two people recorded different decisions for the same subject.
The problemConflicting active heads make reads return both answers, and deleting history to fix it is not allowed.
The outcomeA resolving record supersedes all conflicting heads, and validation passes again.
What you need first
- Node.js 24.22.1 or later on Linux, macOS or Windows
- A Git repository, with a package-manager layout that exposes node_modules/encephalon at the repository root
- npm to install the package
- A terminal or agent with shell access to the repository
Steps
- Merge the other branch with your usual Git workflow. (inferred, check the README)
- Run
npx --no-install encephalon validateto list the conflicting active heads. - Run
npx --no-install encephalon add --id <resolved-id> --kind <kind> --subject <subject> --source agent --supersedes <head-a> --supersedes <head-b> --data '<resolved summary as JSON>' --text '<search terms>', repeating --supersedes for each conflicting head. (inferred, check the README) - Run
npx --no-install encephalon validateagain to confirm no conflicts remain.
Prompt for your agent
In the repository <repo-path>, after a merge, run validate, then add one resolving record for subject <subject> that supersedes all conflicting heads. Expected output: validation errors before the fix and a clean validation after it. Verify that no old record file was deleted or edited.
Caveat. Until a conflict is resolved, reads return every conflicting head as active, and history must never be deleted to repair it.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for isaachinman/encephalon and "Resolve conflicting knowledge records after a merge"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer