<?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: Davide Troiani</title>
    <description>The latest articles on DEV Community by Davide Troiani (@davidetroiani).</description>
    <link>https://dev.to/davidetroiani</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%2F3972878%2F5752c44e-c925-4443-a031-a13896698cf6.JPG</url>
      <title>DEV Community: Davide Troiani</title>
      <link>https://dev.to/davidetroiani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davidetroiani"/>
    <language>en</language>
    <item>
      <title>We need a deterministic Governance Layer for AI coding Agents</title>
      <dc:creator>Davide Troiani</dc:creator>
      <pubDate>Tue, 09 Jun 2026 12:49:00 +0000</pubDate>
      <link>https://dev.to/davidetroiani/why-we-need-a-deterministic-governance-layer-for-ai-coding-agents-2im1</link>
      <guid>https://dev.to/davidetroiani/why-we-need-a-deterministic-governance-layer-for-ai-coding-agents-2im1</guid>
      <description>&lt;h2&gt;
  
  
  The Problem: The Chaos of Giant AI Code Diffs
&lt;/h2&gt;

&lt;p&gt;Autonomous coding tools can spin up full implementations, run scripts and commit hundreds of lines of code in seconds. But if you have managed a team of developers using them, or tried to build a complex feature solo, you have likely run into giant &lt;strong&gt;code diffs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A single vague prompt transforms into a massive, multi-file PR that takes a human tech lead hours to confidently review. &lt;br&gt;
Features get built but the step-by-step product rationale and architectural decisions are often lost inside ephemeral chat histories.&lt;br&gt;
The solution is enforcing strict workflow guardrails.&lt;/p&gt;

&lt;p&gt;I tried all major &lt;strong&gt;spec-driven development&lt;/strong&gt; (SDD) workflows and what I found is they focus 90% on product shape and much less on the actual implementation. This is also the case of get-shit-done which I love for its pragmatism, low ceremony-driven yet solid at context and flexibility.&lt;/p&gt;

&lt;p&gt;But I needed something more specialized.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Get Tasks Done
&lt;/h2&gt;

&lt;p&gt;I built Get Tasks Done from &lt;a href="https://github.com/open-gsd/get-shit-done-redux" rel="noopener noreferrer"&gt;get-shit-done&lt;/a&gt; to provide a lightweight, deterministic state machine layer for AI-assisted development. It bridges the gap between high-level human intent and execution AI agents by turning specifications into granular execution tasks using leveraging a &lt;strong&gt;GitHub-native integration&lt;/strong&gt;.&lt;br&gt;
Instead of a fluid, unpredictable implementation step, GTD structures development into explicit, auditable stages:&lt;br&gt;
Product Intent ➔ Markdown Specs ➔ Granular GitHub Issues ➔ Atomic PRs&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture: Guardrails for the Agentic Layer
&lt;/h2&gt;

&lt;p&gt;The system coordinates across five distinct layers:&lt;/p&gt;

&lt;h3&gt;
  
  
  Planning Artifacts
&lt;/h3&gt;

&lt;p&gt;Local markdown planning templates enforce small, highly contained prompt boundaries. By keeping information tightly localized, context drift drops significantly. I extended it with a thorough &lt;strong&gt;task decomposition&lt;/strong&gt; gate that ensures planning tasks are enough atomic to avoid drift (and even executed by cheaper models).&lt;/p&gt;

&lt;h3&gt;
  
  
  Runtime Commands &amp;amp; State
&lt;/h3&gt;

&lt;p&gt;Deterministic tools manage how the agent reads the state machine, standardizing success/failure signals.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Task Issues
&lt;/h3&gt;

&lt;p&gt;Every planning task mapped during the local planning phase is exported directly into &lt;strong&gt;GitHub issues&lt;/strong&gt;, with its dependency tree.&lt;/p&gt;

&lt;h3&gt;
  
  
  Isolated PR Tracking
&lt;/h3&gt;

&lt;p&gt;The agent executes work strictly bounded to the branch tied to that individual issue, ensuring code isolation.&lt;br&gt;
Autonomous &lt;strong&gt;task orchestration&lt;/strong&gt; can implement multiple tasks in a single step, using multiple agents, but eventually a PR keeps the human-in-the-loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World ROI: How This Transformed my SDLC
&lt;/h2&gt;

&lt;p&gt;As a tech lead that applies best practices even in personal projects, I started reviewing atomic, single-intent PRs that take two minutes to approve. I &lt;strong&gt;re-gained control over the codebase&lt;/strong&gt; I'm working on.&lt;br&gt;
As a solo developer I stopped paying for massive token burns caused by agents looping on broken implementations and refactors. I kept them anchored to tasks and within clear boundaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source &amp;amp; Next Steps
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GTD is completely open-source&lt;/strong&gt;, local-first and designed to interface seamlessly with your existing terminals and CI setups thanks to its SDK, as inherited by the original repo.&lt;br&gt;
Check out the code, read the full spec or contribute to my execution layer over at &lt;a href="https://github.com/ai-is-gonna/get-tasks-done" rel="noopener noreferrer"&gt;GitHub ai-is-gonna/get-tasks-done&lt;/a&gt;. I’d love to hear your thoughts on how your engineering teams are taming agentic workflows!&lt;/p&gt;




&lt;h3&gt;
  
  
  Let's Connect!
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Star the Repo:&lt;/strong&gt; If you want to support open-source AI guardrails, drop a star on &lt;a href="https://github.com/ai-is-gonna/get-tasks-done" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; ⭐&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow the Journey:&lt;/strong&gt; I share daily insights about engineering in the AI Agent Era on X (formerly Twitter): &lt;a href="https://x.com" rel="noopener noreferrer"&gt;@iltroiani&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback:&lt;/strong&gt; How are you taming agentic workflows in your team? Let's discuss in the comments below!&lt;/li&gt;
&lt;/ul&gt;

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