<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: druve</title>
    <description>The latest articles on DEV Community by druve (@druveai).</description>
    <link>https://dev.to/druveai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4238110%2Fb4daf624-7744-4245-9a97-a9fc911b66de.png</url>
      <title>DEV Community: druve</title>
      <link>https://dev.to/druveai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/druveai"/>
    <language>en</language>
    <item>
      <title>What a pinned commit actually buys you when you run someone else's agent</title>
      <dc:creator>druve</dc:creator>
      <pubDate>Wed, 11 Nov 2026 03:17:08 +0000</pubDate>
      <link>https://dev.to/druveai/what-a-pinned-commit-actually-buys-you-when-you-run-someone-elses-agent-26ge</link>
      <guid>https://dev.to/druveai/what-a-pinned-commit-actually-buys-you-when-you-run-someone-elses-agent-26ge</guid>
      <description>&lt;p&gt;You hire an agent. You read the description, maybe you skim the repo, you&lt;br&gt;
connect it to something. A week later the developer pushes a commit.&lt;/p&gt;

&lt;p&gt;What are you running now?&lt;/p&gt;

&lt;p&gt;This is a boring question with an uncomfortable answer, and it is the one I&lt;br&gt;
keep finding people have not asked. Most of the conversation about agent&lt;br&gt;
safety is about the model. Almost none of it is about the supply chain, which&lt;br&gt;
is strange, because the supply chain is the part with a human being in it who&lt;br&gt;
can change their mind.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three places your key can live
&lt;/h2&gt;

&lt;p&gt;Before the commit question, the simpler one. If you run an agent somebody else&lt;br&gt;
wrote, your model provider key ends up in one of three places.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On their servers, as your key.&lt;/strong&gt; You paste it in. It is now in somebody&lt;br&gt;
else's environment. Everything after that point is a policy promise, and&lt;br&gt;
policy promises are only as good as the company's worst week.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On their servers, as their key.&lt;/strong&gt; They bill you for usage. You cannot audit&lt;br&gt;
what was actually spent on your behalf, and you have no independent record of&lt;br&gt;
what the agent did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On your machine, as your key.&lt;/strong&gt; The code runs locally. The platform never&lt;br&gt;
has it.&lt;/p&gt;

&lt;p&gt;Only the third one is a property of the architecture. The other two are&lt;br&gt;
properties of a company's intentions, which is a different kind of thing and&lt;br&gt;
a weaker one. "We do not log your key" is a sentence; "the key never reaches&lt;br&gt;
us" is a diagram.&lt;/p&gt;

&lt;h2&gt;
  
  
  The harder question
&lt;/h2&gt;

&lt;p&gt;Say you have solved that. The agent runs locally, your key stays yours. You&lt;br&gt;
read the code before you connected it, because you are careful.&lt;/p&gt;

&lt;p&gt;Then the developer pushes.&lt;/p&gt;

&lt;p&gt;Unless what you hired is pinned to a &lt;strong&gt;specific commit&lt;/strong&gt;, the thing you read&lt;br&gt;
and the thing now executing are two different artifacts. Nobody lied to you.&lt;br&gt;
Nothing was hacked. The identifier you approved just quietly started pointing&lt;br&gt;
somewhere else.&lt;/p&gt;

&lt;p&gt;This is the npm problem wearing a different hat, and the agent version is&lt;br&gt;
worse in one specific way: an agent has &lt;em&gt;scopes&lt;/em&gt;. It has reasons to touch your&lt;br&gt;
inbox, your repo, your account. A compromised formatting library is bad. A&lt;br&gt;
compromised thing with a credential is a different category.&lt;/p&gt;

&lt;h2&gt;
  
  
  What pinning actually costs
&lt;/h2&gt;

&lt;p&gt;Pinning to a commit is easy to say and annoying to live with, because the&lt;br&gt;
obvious follow-up is: what happens when the developer legitimately wants to&lt;br&gt;
ship an improvement?&lt;/p&gt;

&lt;p&gt;The answer that is honest about the tradeoff is that the approval has to&lt;br&gt;
&lt;strong&gt;pause&lt;/strong&gt;. New commit, new review, and in the meantime the thing you already&lt;br&gt;
approved keeps running unchanged. You are never silently upgraded.&lt;/p&gt;

&lt;p&gt;If a human is in that review loop, you have just invented a queue. That is a&lt;br&gt;
real cost and it is worth naming: review throughput becomes the constraint on&lt;br&gt;
how fast the ecosystem can move. There is no version of this where the&lt;br&gt;
reviewed thing also updates instantly. A platform can publish fast or review&lt;br&gt;
carefully per version, and anyone claiming one artifact gets both is doing one&lt;br&gt;
of them badly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The questions worth asking any agent platform
&lt;/h2&gt;

&lt;p&gt;Not a checklist for a blog post. These are the ones where the answer actually&lt;br&gt;
tells you something:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Where does my model key physically execute?&lt;/strong&gt; If the answer involves
their infrastructure, the rest is trust rather than architecture.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is what I approved pinned?&lt;/strong&gt; If the agent updates itself, your review had
a shelf life nobody told you about.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What happens on the developer's next commit?&lt;/strong&gt; Silent update, or paused
approval?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What scopes does it declare, and are they shown before I connect?&lt;/strong&gt; A
scope you discover afterwards is not a scope you granted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Has anything ever been rejected?&lt;/strong&gt; A review process with no rejections is
a rubber stamp with better branding.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Question five is the one I would lead with if I were evaluating a platform,&lt;br&gt;
including mine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disclosure
&lt;/h2&gt;

&lt;p&gt;I work on &lt;a href="https://druve.ai" rel="noopener noreferrer"&gt;Druve&lt;/a&gt;, a marketplace for AI agents built around&lt;br&gt;
exactly these answers: agents run on the hirer's own key, listings are pinned&lt;br&gt;
to a specific commit, and editing one pauses its badge until a person has&lt;br&gt;
reviewed the new version. It is small at the moment, seven agents live, so&lt;br&gt;
treat this as an argument rather than a recommendation.&lt;/p&gt;

&lt;p&gt;I wrote it because question three keeps going unasked, and the answer is&lt;br&gt;
usually "it updates."&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
