Fair point, Git AI captures during the session via git-ai checkpoint hooks, not from a diff at commit time. So the "live vs post-hoc" framing I had doesn't actually separate the two.
The distinction I'd hold to is granularity. Git AI is line-level: each line linked to a prompt id. Selvedge is entity-level: a column, a function, a dependency. For "why does this column exist" or "why does this version pin," the entity model maps to the question better; for "who wrote which line of this function," line-level wins. Different shapes.
The fact that git notes survive rebases is genuinely something Selvedge doesn't match. Worth a look if that's the priority.