<?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: Meher Bhaskar</title>
    <description>The latest articles on DEV Community by Meher Bhaskar (@meherbhaskar).</description>
    <link>https://dev.to/meherbhaskar</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%2F3994510%2F04f7d4dd-47f1-402e-826e-18f1de5b423f.png</url>
      <title>DEV Community: Meher Bhaskar</title>
      <link>https://dev.to/meherbhaskar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/meherbhaskar"/>
    <language>en</language>
    <item>
      <title>Teaching AI Agents to Time-Travel: Building a Temporal Debugging Skill</title>
      <dc:creator>Meher Bhaskar</dc:creator>
      <pubDate>Sun, 12 Jul 2026 00:19:41 +0000</pubDate>
      <link>https://dev.to/meherbhaskar/teaching-ai-agents-to-time-travel-building-a-temporal-debugging-skill-a9n</link>
      <guid>https://dev.to/meherbhaskar/teaching-ai-agents-to-time-travel-building-a-temporal-debugging-skill-a9n</guid>
      <description>&lt;p&gt;Your AI agent is confident. It points to line 42 of &lt;code&gt;PaymentService.java&lt;/code&gt;. "There's your null pointer exception."&lt;/p&gt;

&lt;p&gt;You check. Line 42 is a comment. The code was refactored 14 commits ago.&lt;/p&gt;

&lt;p&gt;The production crash happened &lt;strong&gt;3 hours ago&lt;/strong&gt;. Your agent just spent 45 minutes debugging &lt;strong&gt;ghosts&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem: Agents Are Stuck in the Present
&lt;/h2&gt;

&lt;p&gt;Every AI coding agent today — Claude Code, Cursor, Copilot, Cody, you name it — operates on the same assumption:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The code that matters is at &lt;code&gt;HEAD&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But production bugs don't live at &lt;code&gt;HEAD&lt;/code&gt;. They live in the commit that was running when the crash happened. That commit is buried under hotfixes, refactors, dependency updates, and feature merges that landed &lt;em&gt;after&lt;/em&gt; the incident.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HEAD (now)          ← Agent analyzes THIS
   │
   ├─ feat: add new payment provider
   ├─ refactor: extract UserService
   ├─ fix: handle edge case in checkout
   ├─ chore: update dependencies
   │
   ▼
a1b2c3d (3 hours ago)  ← Bug ACTUALLY lives HERE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your agent confidently finds bugs in code that &lt;strong&gt;didn't exist when the crash occurred&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Insight: Git Already Has Time Travel
&lt;/h2&gt;

&lt;p&gt;We don't need a time machine. Git has had one for years: &lt;strong&gt;&lt;code&gt;git worktree&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get the commit from 3 hours ago&lt;/span&gt;
git log &lt;span class="nt"&gt;--before&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"3 hours ago"&lt;/span&gt; &lt;span class="nt"&gt;-1&lt;/span&gt; &lt;span class="nt"&gt;--format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"%H"&lt;/span&gt;
&lt;span class="c"&gt;# → a1b2c3d4e5f6...&lt;/span&gt;

&lt;span class="c"&gt;# Create an isolated, read-only snapshot at that commit&lt;/span&gt;
git worktree add /tmp/debug-a1b2c3d a1b2c3d

&lt;span class="c"&gt;# Now analyze the historical codebase&lt;/span&gt;
&lt;span class="nb"&gt;cat&lt;/span&gt; /tmp/debug-a1b2c3d/src/PaymentService.java

&lt;span class="c"&gt;# Clean up when done&lt;/span&gt;
git worktree remove &lt;span class="nt"&gt;--force&lt;/span&gt; /tmp/debug-a1b2c3d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Isolated&lt;/strong&gt; — doesn't touch your working directory&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Parallel&lt;/strong&gt; — can have multiple historical snapshots simultaneously
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Disposable&lt;/strong&gt; — cleanup is one command&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Zero deps&lt;/strong&gt; — pure Git, works everywhere&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Missing Piece: Teaching Agents &lt;em&gt;When&lt;/em&gt; to Time-Travel
&lt;/h2&gt;

&lt;p&gt;Agents already know &lt;code&gt;git log&lt;/code&gt;, &lt;code&gt;git show&lt;/code&gt;, &lt;code&gt;git diff&lt;/code&gt;, &lt;code&gt;cat&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;. They can analyze code perfectly.&lt;/p&gt;

&lt;p&gt;What they &lt;strong&gt;struggle with&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fuzzy time → commit resolution&lt;/strong&gt; — "last night", "v2.4.1", "the deploy before the hotfix"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Worktree lifecycle management&lt;/strong&gt; — create, track, guarantee cleanup&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So I built &lt;strong&gt;temporal-debug-skill&lt;/strong&gt; — a portable skill definition that teaches any agent to handle exactly those two gaps.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is an "Agentic Skill"?
&lt;/h2&gt;

&lt;p&gt;Think of it as a &lt;strong&gt;prompt template with superpowers&lt;/strong&gt;. It's a Markdown file that tells an agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"When you detect X context, here are the exact git commands to run, in this order, with this cleanup guarantee."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No Python. No Node. No installation. Just &lt;strong&gt;instructions the agent follows&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# skills/temporal-debug/SKILL.md (simplified)&lt;/span&gt;

&lt;span class="gu"&gt;## Activation&lt;/span&gt;
Trigger when user message contains temporal anchors:
&lt;span class="p"&gt;-&lt;/span&gt; "3 hours ago", "last night", "yesterday"
&lt;span class="p"&gt;-&lt;/span&gt; "v2.4.1", "tag:release-42"
&lt;span class="p"&gt;-&lt;/span&gt; "the deploy before...", "commit before..."

&lt;span class="gu"&gt;## Workflow&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; RESOLVE: &lt;span class="sb"&gt;`git log --before="&amp;lt;time&amp;gt;" -1 --format="%H"`&lt;/span&gt; → commit SHA
&lt;span class="p"&gt;2.&lt;/span&gt; SNAPSHOT: &lt;span class="sb"&gt;`git worktree add /tmp/temporal-debug-&amp;lt;sha&amp;gt; &amp;lt;sha&amp;gt;`&lt;/span&gt;
&lt;span class="p"&gt;3.&lt;/span&gt; ANALYZE: Read files from worktree, trace the bug
&lt;span class="p"&gt;4.&lt;/span&gt; CLEANUP: &lt;span class="sb"&gt;`git worktree remove --force /tmp/temporal-debug-&amp;lt;sha&amp;gt;`&lt;/span&gt;
&lt;span class="p"&gt;5.&lt;/span&gt; REPORT: Root cause + historical commit reference + introducing commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  See It In Action
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Scenario 1: Production Crash with Timestamp
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Crash from 3 hours ago: &lt;code&gt;NullPointerException in PaymentService.java:42&lt;/code&gt;"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent (with skill):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;git log --before="3 hours ago" -1 --format="%H"&lt;/code&gt; → &lt;code&gt;a1b2c3d&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git worktree add /tmp/temporal-debug-a1b2c3d a1b2c3d&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Reads &lt;code&gt;PaymentService.java:42&lt;/code&gt; from worktree → &lt;code&gt;user.getEmail()&lt;/code&gt; without null check&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git worktree remove --force /tmp/temporal-debug-a1b2c3d&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports:&lt;/strong&gt; "In commit &lt;code&gt;a1b2c3d&lt;/code&gt; (3 hrs ago), &lt;code&gt;PaymentService.java:42&lt;/code&gt; accesses &lt;code&gt;user.getEmail()&lt;/code&gt; without null check. &lt;code&gt;user&lt;/code&gt; is null for guest checkouts. Introduced in &lt;code&gt;f8e9d0a&lt;/code&gt;."&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Scenario 2: Version-Pinned Bug Report
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Users on v2.4.1 report auth failures" &lt;em&gt;(attaches error log)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; Resolves tag &lt;code&gt;v2.4.1&lt;/code&gt; → worktree → finds regex bug in auth middleware skipping validation for &lt;code&gt;/health-records&lt;/code&gt; → reports fix already in v2.4.2&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Scenario 3: Regression Detective
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "This endpoint 200'd last week, now 500s. Changelog shows nothing."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent:&lt;/strong&gt; Resolves "last week" → creates &lt;strong&gt;two worktrees&lt;/strong&gt; (last week + HEAD) → diffs relevant modules → finds pool size config regression from 50 → 10&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Installation: 30 Seconds
&lt;/h2&gt;

&lt;h3&gt;
  
  
  For Claude Code (Recommended)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone into your project's skills directory&lt;/span&gt;
git clone https://github.com/MeherBhaskar/temporal-debug-skill.git skills/temporal-debug-skill
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. The skill auto-activates when temporal context is detected.&lt;/p&gt;

&lt;h3&gt;
  
  
  For Any Shell-Capable Agent
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; temporal-debug-skill/skills/temporal-debug/ /path/to/your/agent/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Why This Approach? (Design Philosophy)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;✅ Skill Does&lt;/th&gt;
&lt;th&gt;❌ Skill Doesn't&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Detects temporal context automatically&lt;/td&gt;
&lt;td&gt;Require a CLI tool invocation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resolves fuzzy time → exact commits&lt;/td&gt;
&lt;td&gt;Need external scripts/binaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creates isolated &lt;code&gt;git worktree&lt;/code&gt; snapshots&lt;/td&gt;
&lt;td&gt;Touch your working directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Guarantees cleanup (even on error)&lt;/td&gt;
&lt;td&gt;Require Python/Node/Go runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Works in ANY git repo, ANY language&lt;/td&gt;
&lt;td&gt;Analyze code for you (you're better at that)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The skill is additive.&lt;/strong&gt; It teaches the agent &lt;em&gt;one new trick&lt;/em&gt; (time-travel via worktree). Everything else — reading files, tracing logic, suggesting fixes — the agent already does.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real-World Impact
&lt;/h2&gt;

&lt;p&gt;Since adding this to my workflow:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;45 min debugging wrong version&lt;/td&gt;
&lt;td&gt;30 sec to historical root cause&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Which commit broke this?" → &lt;code&gt;git bisect&lt;/code&gt; manual&lt;/td&gt;
&lt;td&gt;Agent tells you: "Introduced in &lt;code&gt;f8e9d0a&lt;/code&gt;"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context-switching to check historical code&lt;/td&gt;
&lt;td&gt;Stay in conversation, agent brings history to you&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Roadmap
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] &lt;strong&gt;Multi-repo temporal analysis&lt;/strong&gt; — debug across microservice boundaries&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;CI/CD integration&lt;/strong&gt; — auto-trigger on failed builds, post temporal context as PR comment&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Diff analysis mode&lt;/strong&gt; — side-by-side historical vs. current comparison&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Automated patch generation&lt;/strong&gt; — from root cause to fix PR&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Observability integrations&lt;/strong&gt; — Sentry, Datadog, PagerDuty webhooks&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;VS Code extension&lt;/strong&gt; — visual time-travel debugging&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/MeherBhaskar/temporal-debug-skill.git
&lt;span class="c"&gt;# Drop into your agent's skills directory&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/MeherBhaskar/temporal-debug-skill" rel="noopener noreferrer"&gt;https://github.com/MeherBhaskar/temporal-debug-skill&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;License:&lt;/strong&gt; MIT — use it, fork it, ship it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Have you hit the "agent debugging wrong version" problem?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
What temporal anchors do you use most — "3 hours ago", version tags, "last deploy"?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building agent tools?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The skill pattern (Markdown instructions → agent executes shell) is surprisingly powerful for bridging agent capabilities. Happy to discuss the architecture.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Stop debugging ghosts. Start debugging history.&lt;/em&gt; ⏪&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>agentskills</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The AI "Doom Loop": Why your autonomous coding agent is making things worse, and how to fix it</title>
      <dc:creator>Meher Bhaskar</dc:creator>
      <pubDate>Sat, 20 Jun 2026 18:42:53 +0000</pubDate>
      <link>https://dev.to/meherbhaskar/the-ai-doom-loop-why-your-autonomous-coding-agent-is-making-things-worse-and-how-to-fix-it-3cb0</link>
      <guid>https://dev.to/meherbhaskar/the-ai-doom-loop-why-your-autonomous-coding-agent-is-making-things-worse-and-how-to-fix-it-3cb0</guid>
      <description>&lt;p&gt;If you’ve spent any time working with autonomous AI coding agents recently, you know the drill. &lt;/p&gt;

&lt;p&gt;You give the agent a straightforward task: "Add a user profile page and link it to the navbar." &lt;/p&gt;

&lt;p&gt;The agent says, "I've got this." It writes some code. You run it, and it throws an import error. You paste the error back. The agent apologizes, rewrites the file, and now your routing is broken. You paste &lt;em&gt;that&lt;/em&gt; error back. Ten iterations later, your config is mysteriously deleted, the navbar is entirely missing, and the agent is trying to install a deprecated version of React.&lt;/p&gt;

&lt;p&gt;This is the AI Agent Doom Loop. &lt;/p&gt;

&lt;p&gt;It happens because current agent frameworks mistake intelligence for discipline. We dump a 10,000-token &lt;code&gt;SYSTEM_PROMPT.txt&lt;/code&gt; telling the agent everything about our project, hoping it remembers the architecture constraints on step 45 of its execution loop. It rarely does.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/MeherBhaskar/agent-rigor" rel="noopener noreferrer"&gt;Agent Rigor&lt;/a&gt; because I got tired of babysitting agents that code themselves into corners. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Root Cause: Context Rot
&lt;/h3&gt;

&lt;p&gt;When an agent starts a task, its context is pristine. But as it reads files, executes commands, and hits errors, its context window fills up with junk stack traces and previous failed attempts. &lt;/p&gt;

&lt;p&gt;By the time it's 20 steps deep, the original system prompt you carefully crafted is buried. The agent forgets the architecture guidelines. It starts prioritizing the &lt;em&gt;immediate&lt;/em&gt; error in front of it over the &lt;em&gt;overall&lt;/em&gt; goal. This is when it starts guessing, hallucinating, and making things worse.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Solution: Progressive Disclosure and Empirical Discipline
&lt;/h3&gt;

&lt;p&gt;Agent Rigor isn't a new LLM or a magic prompt wrapper. It's an operating system for agents that enforces &lt;strong&gt;strict empirical discipline&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Instead of one massive prompt, Agent Rigor uses a 3-tier hierarchy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;L1 (Apex Kernel):&lt;/strong&gt; The absolute, non-negotiable laws. (e.g., "Never guess an API signature. Always grep or read the file first.")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;L2 (Phase Directors):&lt;/strong&gt; Orchestration that only loads when the agent enters a specific phase (Planning, Execution, Verification).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;L3 (Skill Protocols):&lt;/strong&gt; Specific instructions for specific tasks (like self-correction), loaded &lt;em&gt;only&lt;/em&gt; when that specific task is underway.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is &lt;strong&gt;Progressive Disclosure&lt;/strong&gt;. The agent only sees the instructions it absolutely needs for the current atomic step. &lt;/p&gt;

&lt;p&gt;Furthermore, Agent Rigor enforces a "known-good state" policy. If a test fails, the agent doesn't just keep blindly modifying the same file. It reverts, analyzes the actual evidence, and plans a new approach. No more "this seems right" commits. Everything must be empirically proven before moving forward.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stop Babysitting, Start Engineering
&lt;/h3&gt;

&lt;p&gt;If you're building with Cursor, Copilot or really any coding assitant, you need a discipline layer. You can check out how we implemented it in the open-source repo here: &lt;a href="https://github.com/MeherBhaskar/agent-rigor" rel="noopener noreferrer"&gt;Agent Rigor on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If it saves you from reverting a mangled codebase at 2 AM, give it a star. More importantly, if you think the approach is wrong, open an issue and tell me why.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
