Selvedge vs. Origin
Origin captures at commit time through a git hook. Selvedge captures during the work through MCP — so the why is tied to the agent’s reasoning, not reconstructed at commit boundaries.
| Selvedge | Origin | |
|---|---|---|
| Reasoning source | Captured live, by the agent in the same context that produced the change | Captured at commit time |
| Granularity | Entity — DB column, table, env var, dep, API route, function | Line |
| Mechanism | MCP server — the agent calls it as work happens | Git hook |
| Grouping | Changesets — named feature/task slugs across many entities | None |
| Prior attempts | Yes — prior_attempts surfaces tried-and-rejected paths | None |
| Storage | SQLite, zero deps | Local |
Where Selvedge is different
Section titled “Where Selvedge is different”- Capture point. Origin fires at commit time; a single agent session that makes five decisions and one commit collapses to one capture moment. Selvedge logs each structural change as the agent makes it, decision by decision.
- Entity-level granularity. Selvedge’s unit is the column / env var / route / dependency / function, with prefix queries — not lines that drift as the file evolves.
- Read path for the agent.
prior_attempts,blame,diff, andstale_decisionsare callable by the agent mid-task. Origin is write-oriented. - Changesets tie a whole feature’s events together across many files and PRs.
When Origin might fit you better
Section titled “When Origin might fit you better”If your workflow is commit-centric and you want attribution that lives entirely in the git hook with no MCP server in the loop, Origin’s commit-time model is a lighter touch.