<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: masondelan</title><link>https://news.ycombinator.com/user?id=masondelan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 14:20:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=masondelan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by masondelan in "Show HN: Selvedge – an MCP server that captures why AI agents change code"]]></title><description><![CDATA[
<p>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.<p>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.<p>The fact that git notes survive rebases is genuinely something Selvedge doesn't match. Worth a look if that's the priority.</p>
]]></description><pubDate>Fri, 08 May 2026 01:04:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48057222</link><dc:creator>masondelan</dc:creator><comments>https://news.ycombinator.com/item?id=48057222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48057222</guid></item><item><title><![CDATA[Show HN: Selvedge – an MCP server that captures why AI agents change code]]></title><description><![CDATA[
<p>Article URL: <a href="https://selvedge.sh/">https://selvedge.sh/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48057104">https://news.ycombinator.com/item?id=48057104</a></p>
<p>Points: 5</p>
<p># Comments: 3</p>
]]></description><pubDate>Fri, 08 May 2026 00:51:45 +0000</pubDate><link>https://selvedge.sh/</link><dc:creator>masondelan</dc:creator><comments>https://news.ycombinator.com/item?id=48057104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48057104</guid></item><item><title><![CDATA[New comment by masondelan in "Selvedge: Capture the why behind AI code changes"]]></title><description><![CDATA[
<p>I've been using Claude Code heavily for the past year, and I kept running into the same wall: an agent would make a schema change, rename a function, or add a dependency, and six weeks later I had no idea why. `git blame` tells me what changed and when. It doesn't tell me why. The original prompt that drove the decision evaporated the moment the session ended.<p>Selvedge is an MCP server that fixes this. AI agents call it as they work to log structured change events, including the reasoning behind each decision. It stores everything locally in SQLite.</p>
]]></description><pubDate>Fri, 24 Apr 2026 01:23:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47884407</link><dc:creator>masondelan</dc:creator><comments>https://news.ycombinator.com/item?id=47884407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47884407</guid></item><item><title><![CDATA[Selvedge: Capture the why behind AI code changes]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/masondelan/selvedge">https://github.com/masondelan/selvedge</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47884406">https://news.ycombinator.com/item?id=47884406</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 24 Apr 2026 01:23:03 +0000</pubDate><link>https://github.com/masondelan/selvedge</link><dc:creator>masondelan</dc:creator><comments>https://news.ycombinator.com/item?id=47884406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47884406</guid></item></channel></rss>