Skip to content

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.

SelvedgeOrigin
Reasoning sourceCaptured live, by the agent in the same context that produced the changeCaptured at commit time
GranularityEntity — DB column, table, env var, dep, API route, functionLine
MechanismMCP server — the agent calls it as work happensGit hook
GroupingChangesets — named feature/task slugs across many entitiesNone
Prior attemptsYesprior_attempts surfaces tried-and-rejected pathsNone
StorageSQLite, zero depsLocal
  • 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, and stale_decisions are callable by the agent mid-task. Origin is write-oriented.
  • Changesets tie a whole feature’s events together across many files and PRs.

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.