<?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: Erik Hill</title>
    <description>The latest articles on DEV Community by Erik Hill (@erik_hill_d7e478733fc524d).</description>
    <link>https://dev.to/erik_hill_d7e478733fc524d</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%2F4029397%2Fa8c124c9-30b3-4309-9d8b-6eef727ea347.jpg</url>
      <title>DEV Community: Erik Hill</title>
      <link>https://dev.to/erik_hill_d7e478733fc524d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/erik_hill_d7e478733fc524d"/>
    <language>en</language>
    <item>
      <title>A differential oracle: making agentic code prove its own correctness</title>
      <dc:creator>Erik Hill</dc:creator>
      <pubDate>Wed, 15 Jul 2026 02:58:44 +0000</pubDate>
      <link>https://dev.to/erik_hill_d7e478733fc524d/a-differential-oracle-making-agentic-code-prove-its-own-correctness-4ce7</link>
      <guid>https://dev.to/erik_hill_d7e478733fc524d/a-differential-oracle-making-agentic-code-prove-its-own-correctness-4ce7</guid>
      <description>&lt;p&gt;Six months ago I was running a kitchen. I taught myself to build agentic systems, and the thing I'm proudest of is the part nobody demos: the evaluation layer.&lt;/p&gt;

&lt;p&gt;Coding agents are easy to demo and hard to &lt;em&gt;trust&lt;/em&gt;. The moment an agent touches a real codebase — deploys, commits, user-facing changes — you need what any production system needs: review, tests, and a way to catch your own regressions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem: correctness you can't hand-check
&lt;/h2&gt;

&lt;p&gt;I build a match-3 game. Match-3 resolution has thousands of edge cases — cascades, chain reactions, special-piece rules — where the "right answer" isn't obvious and you can't check them all by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  The differential oracle
&lt;/h2&gt;

&lt;p&gt;So instead of trusting one implementation, I use two — written independently. The same game logic runs in a &lt;strong&gt;React build&lt;/strong&gt; and a &lt;strong&gt;native Java engine&lt;/strong&gt;, and logic-invariant tests hold both to the same rules. If the two ever disagree on a board state, one of them is wrong. Agreement between two independently-built systems is a far stronger signal than either one passing its own tests — it has caught real bugs I'd never have found by playing.&lt;/p&gt;

&lt;p&gt;Runnable repo: &lt;a href="https://github.com/egnaro9/evals-differential-oracle" rel="noopener noreferrer"&gt;https://github.com/egnaro9/evals-differential-oracle&lt;/a&gt; — two implementations + invariant tests, plus a deliberately-buggy version that both nets catch. &lt;code&gt;pytest&lt;/code&gt; passes over ~9k random boards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Invariants as a second net
&lt;/h2&gt;

&lt;p&gt;The rules themselves are also tests — e.g. &lt;em&gt;a special gem is generated only by a direct match of 4+, never a 3.&lt;/em&gt; When I planted a bug that awarded one for a 3-run, the differential oracle disagreed &lt;strong&gt;and&lt;/strong&gt; the invariant checker flagged it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger system
&lt;/h2&gt;

&lt;p&gt;The oracle sits inside an autonomous dev harness: a self-reviewing loop (Strategy → Execution → Critic → Evaluation → Ops) with a cold, independent critic, per-role model routing, and a human-in-the-loop autonomy ladder that automates the launches but never the approval on anything irreversible.&lt;/p&gt;

&lt;p&gt;Write-up: &lt;a href="https://github.com/egnaro9/agentic-dev-harness" rel="noopener noreferrer"&gt;https://github.com/egnaro9/agentic-dev-harness&lt;/a&gt; · portfolio: &lt;a href="https://egnaro9.github.io" rel="noopener noreferrer"&gt;https://egnaro9.github.io&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I take from it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Evals and oracles are the hard, valuable part; getting a demo to work once is not the job.&lt;/li&gt;
&lt;li&gt;Two independent implementations that must agree beats one with a big test suite.&lt;/li&gt;
&lt;li&gt;Be honest about what's objectively measurable vs. what needs human judgment — don't fake a metric for the second.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm a self-taught engineer looking for a remote (US) role in agentic / AI / evals engineering. If this is what your team cares about, I'd love to talk.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
  </channel>
</rss>
