<?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: Gabriel Rubens</title>
    <description>The latest articles on DEV Community by Gabriel Rubens (@gabrielrumiranda).</description>
    <link>https://dev.to/gabrielrumiranda</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F515720%2F44cf1d28-5fad-421f-8f44-f9fef757d324.jpeg</url>
      <title>DEV Community: Gabriel Rubens</title>
      <link>https://dev.to/gabrielrumiranda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gabrielrumiranda"/>
    <language>en</language>
    <item>
      <title>Harness Engineering: The 'New Software' in the AI Era?</title>
      <dc:creator>Gabriel Rubens</dc:creator>
      <pubDate>Tue, 19 May 2026 22:25:42 +0000</pubDate>
      <link>https://dev.to/gabrielrumiranda/harness-engineering-the-new-software-in-the-ai-era-568n</link>
      <guid>https://dev.to/gabrielrumiranda/harness-engineering-the-new-software-in-the-ai-era-568n</guid>
      <description>&lt;p&gt;With the massive AI boom we are experiencing, I started writing an article about testing. In the midst of my research, I began studying &lt;strong&gt;Harness Engineering&lt;/strong&gt;, which sparked a fundamental question: &lt;em&gt;could the Harness be the "new software" in the age of AI?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But What Exactly &lt;em&gt;Is&lt;/em&gt; Software?
&lt;/h2&gt;

&lt;p&gt;First, we need to align on what software actually means. For giants of Software Engineering like Pressman and Sommerville, software is far more than just code or executables. Software is a comprehensive suite of programs, data, procedures, and—crucially—all the logic and documentation that allow a system to evolve over time without collapsing under its own weight.&lt;/p&gt;

&lt;p&gt;In Extreme Programming (XP), Kent Beck pushed this concept even further through TDD (Test-Driven Development). Under this paradigm, testing ceased to be just "another tedious step" in the delivery pipeline and became design and software in its purest form. It contains logic, requires maintenance, and drives the entire development process. In other words, it demands the exact same attention and quality standards as the application's production code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Harness Engineering
&lt;/h2&gt;

&lt;p&gt;Now, we are witnessing the rise of &lt;strong&gt;Harness Engineering&lt;/strong&gt;, a discipline that goes way beyond traditional testing. It represents a comprehensive control environment explicitly architected for AI agents. If an AI model is a high-powered engine, the Harness is the engineering that steers it. &lt;/p&gt;

&lt;p&gt;It is built upon three main pillars:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Architectural Controls (Feedforward):&lt;/strong&gt; Design principles, guardrails, and contextual constraints injected &lt;em&gt;before&lt;/em&gt; code generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation Sensors (Feedback):&lt;/strong&gt; Unit tests, static analyzers, and security scanners that validate generated code within milliseconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain Invariants:&lt;/strong&gt; System rules and constraints that make structural errors impossible &lt;em&gt;by design&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Harness &lt;em&gt;is&lt;/em&gt; Software
&lt;/h2&gt;

&lt;p&gt;Developers must realize that the Harness is just as much "software" as the final application itself. Building a robust Harness is not about "asking an AI to do something and hoping it doesn't mess up." It is about engineering an architecture that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Detects Failures:&lt;/strong&gt; Much like a traditional unit test in XP.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Enforces Boundaries:&lt;/strong&gt; Similar to how an operating system manages system resources.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Evolves:&lt;/strong&gt; The Harness itself must be continuously refactored and improved as the core system scales.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Given this reality, shouldn't maintaining the quality and evolution of a Harness architecture be a fundamental priority for engineering teams? After all, we are essentially developing and maintaining the very software that creates, maintains, and evolves our end product.&lt;/p&gt;

</description>
      <category>harnessengineering</category>
      <category>architecture</category>
      <category>aiagents</category>
      <category>tdd</category>
    </item>
    <item>
      <title>NodeJs: Dependency-based attacks</title>
      <dc:creator>Gabriel Rubens</dc:creator>
      <pubDate>Mon, 18 Jan 2021 15:19:41 +0000</pubDate>
      <link>https://dev.to/gabrielrumiranda/nodejs-dependency-based-attacks-56k9</link>
      <guid>https://dev.to/gabrielrumiranda/nodejs-dependency-based-attacks-56k9</guid>
      <description>&lt;p&gt;I recently wrote a GitBook explaining how dependency-based attacks work and how we can prevent these attacks when we are developing on NodeJs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gabrielrumiranda.gitbook.io/nodejs-dependency-based-attacks/" rel="noopener noreferrer"&gt;NodeJs: Dependency-based attacks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am open to suggestions and criticisms&lt;/p&gt;

</description>
      <category>security</category>
      <category>node</category>
      <category>javascript</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
