<?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: Sarthak Agrawal</title>
    <description>The latest articles on DEV Community by Sarthak Agrawal (@sarthakagrawal927).</description>
    <link>https://dev.to/sarthakagrawal927</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%2F527567%2F7ee4ae21-6589-422a-bcc2-3ae870e23d85.png</url>
      <title>DEV Community: Sarthak Agrawal</title>
      <link>https://dev.to/sarthakagrawal927</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarthakagrawal927"/>
    <language>en</language>
    <item>
      <title>A coding agent changed the code. What proves the task is done?</title>
      <dc:creator>Sarthak Agrawal</dc:creator>
      <pubDate>Fri, 14 Aug 2026 22:10:55 +0000</pubDate>
      <link>https://dev.to/sarthakagrawal927/a-coding-agent-changed-the-code-what-proves-the-task-is-done-6k0</link>
      <guid>https://dev.to/sarthakagrawal927/a-coding-agent-changed-the-code-what-proves-the-task-is-done-6k0</guid>
      <description>&lt;p&gt;A coding agent can produce a clean diff, explain every choice, and still leave the task broken.&lt;/p&gt;

&lt;p&gt;I kept running into the same problem while reviewing agent-written changes. Code review could tell me that something looked suspicious. A test command could tell me that a test suite was green. Neither answer proved that the requested behavior worked.&lt;/p&gt;

&lt;p&gt;That gap is what led me to build CodeVetter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review findings are leads, not verdicts
&lt;/h2&gt;

&lt;p&gt;Static review is useful. It can spot missing error handling, authorization mistakes, suspicious state changes, and code that does not match the surrounding repository. But a plausible finding is not a reproduced failure.&lt;/p&gt;

&lt;p&gt;The reverse is also true. A green command is not automatically proof. The test might miss the requested behavior. The environment might differ from production. An existing failure might be reported as a new regression. A command without its task and repository revision is just output without context.&lt;/p&gt;

&lt;p&gt;Verification needs to connect the task, the exact change, the environment, the command, its output, and the resulting verdict.&lt;/p&gt;

&lt;h2&gt;
  
  
  The record I want after an agent finishes
&lt;/h2&gt;

&lt;p&gt;For each task, I want to be able to answer five questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What outcome was requested, including the acceptance boundary?&lt;/li&gt;
&lt;li&gt;Which exact repository revision and patch did the agent produce?&lt;/li&gt;
&lt;li&gt;Which checks ran against the changed behavior?&lt;/li&gt;
&lt;li&gt;Which commands, outputs, artifacts, and failure classifications were retained?&lt;/li&gt;
&lt;li&gt;What passed, failed, or remained unverified?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The last question matters more than it sounds. Missing evidence must stay missing. A verifier should not turn an unavailable check into a pass because the rest of the change looks convincing.&lt;/p&gt;

&lt;p&gt;CodeVetter is built around this task-to-evidence loop. The CLI and MCP boundary produce a machine-readable verification bundle, while the desktop app provides a local way to inspect it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where execution catches what review misses
&lt;/h2&gt;

&lt;p&gt;Runtime checks matter most when an agent changes authorization rules, browser state, API contracts, persistence, concurrency, or regression-sensitive behavior. These changes can look reasonable line by line while failing in the real interaction.&lt;/p&gt;

&lt;p&gt;For example, a browser test that clicks a button is not enough if the task also requires a particular account, URL, and durable state change. The evidence should retain those conditions so another reviewer can tell what the test established.&lt;/p&gt;

&lt;p&gt;The same standard applies to API work. A 200 response does not prove that the response used the right schema, wrote the intended state, or rejected an unauthorized request. Each acceptance criterion needs evidence that addresses it directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  A benchmark should state what it cannot prove
&lt;/h2&gt;

&lt;p&gt;CodeVetter has a public synthetic recognition benchmark with 27 cases and 29 labeled findings. The cases, reviewer outputs, scorer, and limitations are public.&lt;/p&gt;

&lt;p&gt;That benchmark can show how the current reviewer handles those cases and false positives. It cannot establish performance across large production repositories. I would rather publish a narrow result with inspectable inputs than stretch it into a general claim.&lt;/p&gt;

&lt;p&gt;You can inspect the benchmark at &lt;a href="https://codevetter.com/benchmark" rel="noopener noreferrer"&gt;https://codevetter.com/benchmark&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The practical standard
&lt;/h2&gt;

&lt;p&gt;Before I call an agent task complete, I now look for a chain that another person can inspect:&lt;/p&gt;

&lt;p&gt;task -&amp;gt; revision -&amp;gt; check -&amp;gt; output -&amp;gt; evidence -&amp;gt; verdict&lt;/p&gt;

&lt;p&gt;If part of that chain is absent, the task may still be useful, but it is not fully verified. Keeping that uncertainty visible is better than manufacturing confidence.&lt;/p&gt;

&lt;p&gt;The full verification model is at &lt;a href="https://codevetter.com/coding-agent-verification" rel="noopener noreferrer"&gt;https://codevetter.com/coding-agent-verification&lt;/a&gt;. CodeVetter is available for macOS, Windows, and Linux at &lt;a href="https://codevetter.com/download" rel="noopener noreferrer"&gt;https://codevetter.com/download&lt;/a&gt;, and the source is at &lt;a href="https://github.com/Codevetter/codevetter" rel="noopener noreferrer"&gt;https://github.com/Codevetter/codevetter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What evidence do you require before accepting an agent-written change?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
