<?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: Sagar P</title>
    <description>The latest articles on DEV Community by Sagar P (@sp_archer_007).</description>
    <link>https://dev.to/sp_archer_007</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%2F3889123%2F80326af2-9a14-41c5-9070-43f1ee4cb7b9.jpg</url>
      <title>DEV Community: Sagar P</title>
      <link>https://dev.to/sp_archer_007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sp_archer_007"/>
    <language>en</language>
    <item>
      <title>Agents can write the code. The hard part is running it.</title>
      <dc:creator>Sagar P</dc:creator>
      <pubDate>Mon, 12 Oct 2026 17:55:55 +0000</pubDate>
      <link>https://dev.to/sp_archer_007/agents-can-write-the-code-the-hard-part-is-running-it-3h2m</link>
      <guid>https://dev.to/sp_archer_007/agents-can-write-the-code-the-hard-part-is-running-it-3h2m</guid>
      <description>&lt;p&gt;I have pasted agent-generated code straight into my terminal without reading it. More times than I want to admit.&lt;/p&gt;

&lt;p&gt;Usually it’s fine. I build something most weeks and the loop is always the same. Describe what I want, let something write it, run it, find out what breaks.&lt;/p&gt;

&lt;p&gt;The step I skip past every time is “run it.” On my own machine. With my project files sitting right there and my API keys loaded in the shell.&lt;/p&gt;

&lt;p&gt;What that code can actually do&lt;/p&gt;

&lt;p&gt;The generated script that reads a .csv and writes a summary is also a Python process with your user’s permissions. While it runs, it can:&lt;/p&gt;

&lt;p&gt;Read any file your user can read, including .env, ~/.ssh, and your browser’s cookie store&lt;br&gt;
Write or delete anywhere in your home directory&lt;br&gt;
Open outbound network connections to anywhere&lt;br&gt;
Pull packages at runtime, which means code you never saw gets executed too&lt;br&gt;
Spin until it exhausts memory or disk&lt;/p&gt;

&lt;p&gt;None of that requires malice. A model that hallucinates a path and a model that targets one produce the same rm. The failure mode you should plan for isn’t an attacker. It’s a confident wrong guess running with your credentials.&lt;/p&gt;

&lt;p&gt;This mattered less when the loop had a human reviewing every line before execution. It matters a lot more when the agent is the one deciding to run it, in a loop, unattended.&lt;/p&gt;

&lt;p&gt;The options people reach for&lt;/p&gt;

&lt;p&gt;Run it locally and read it first. Works until the code is 200 lines, or the agent is running ten steps and you’re not watching step seven. Reviewing every line defeats the point of delegating.&lt;/p&gt;

&lt;p&gt;Docker. Real isolation, and the right instinct. But you own the Dockerfile, the mounted volumes, the network mode, and the resource limits. Most people mount the project directory read-write and run with default networking, which gives back most of what they were trying to contain. It also doesn’t solve anything if the agent is the one generating the container config.&lt;/p&gt;

&lt;p&gt;A throwaway VM. Good isolation, slow to start, annoying to wire into an agent loop that needs to execute something in under a second and read the result back.&lt;/p&gt;

&lt;p&gt;A hosted sandbox. Execution happens somewhere that isn’t your filesystem, with boundaries set before the code arrives rather than configured per run.&lt;/p&gt;

&lt;p&gt;What I’d want from one&lt;/p&gt;

&lt;p&gt;Whatever you pick, the questions are the same:&lt;/p&gt;

&lt;p&gt;What can the process read, and is my source tree in that set&lt;br&gt;
Can it reach the network, and can I turn that off per run&lt;br&gt;
What are the memory, CPU, and wall clock limits, and what happens when it hits them&lt;br&gt;
What do I get back when it fails on step six of nine, and do I know it was step six&lt;br&gt;
Are credentials scoped to the run, or is it inheriting my whole environment&lt;/p&gt;

&lt;p&gt;That last one catches people. An agent given “the API key” usually gets the same key you use for everything, with the same scope, because that’s the key that was sitting in the environment.&lt;/p&gt;

&lt;p&gt;Try this on Saturday&lt;/p&gt;

&lt;p&gt;CreateOS is running a one-day hackathon on exactly this problem. Build an AI agent that writes its own code and executes it in a CreateOS Sandbox, with your stack set up through Stripe Projects.&lt;/p&gt;

&lt;p&gt;Sat Oct 17, 12 to 7 PM PT, online on Discord. Solo or teams of up to 3, one person registers per team. $10,000 prize pool. Kickoff is a Stripe Projects walkthrough from the Stripe team, then a Sandbox brief from the CTO, &lt;a class="mentioned-user" href="https://dev.to/pratikbin"&gt;@pratikbin&lt;/a&gt;. Demos and awards at 6 PM PT.&lt;/p&gt;

&lt;p&gt;Spots are approved one by one, so apply early and say what you want to build.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://luma.com/6stm74wk" rel="noopener noreferrer"&gt;https://luma.com/6stm74wk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re already running agent-generated code, where does it execute right now, and what would it reach if it went wrong?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Last week I watched a product demo that should have landed and didn't.</title>
      <dc:creator>Sagar P</dc:creator>
      <pubDate>Tue, 29 Sep 2026 13:25:10 +0000</pubDate>
      <link>https://dev.to/sp_archer_007/last-week-i-watched-a-product-demo-that-should-have-landed-and-didnt-520b</link>
      <guid>https://dev.to/sp_archer_007/last-week-i-watched-a-product-demo-that-should-have-landed-and-didnt-520b</guid>
      <description>&lt;p&gt;The feature was real. An agent that runs a multi-step workflow end to end, no human in the loop, proper retry handling. The engineer who built it was proud of it and had every reason to be.&lt;/p&gt;

&lt;p&gt;Then a VP of Ops in the room asked one question. "Okay, so what does this replace on my team's plate on a Tuesday?"&lt;/p&gt;

&lt;p&gt;Nobody answered. We had built the entire walkthrough around what the thing does instead of around her Tuesday.&lt;/p&gt;

&lt;p&gt;Why this happens to engineers specifically&lt;/p&gt;

&lt;p&gt;When you build something, you know it by its mechanism. You spent three weeks on the executor, so the executor is the interesting part. Parallel dispatch is interesting. The retry policy is interesting.&lt;/p&gt;

&lt;p&gt;None of that is interesting to the person deciding whether to pay for it, and more importantly, none of it is interesting to the person who has to live with it.&lt;/p&gt;

&lt;p&gt;The gap isn't a marketing problem that gets handed off later. It shows up in everything you write before marketing ever sees it.&lt;/p&gt;

&lt;p&gt;Where it leaks into your own work&lt;/p&gt;

&lt;p&gt;Changelog entries.&lt;/p&gt;

&lt;p&gt;Before: Added support for multi-step agent execution with configurable retry policies.&lt;/p&gt;

&lt;p&gt;After: Your agent can now finish a nine-step workflow without you watching it. If step four fails, it retries three times, then tells you which step broke instead of dying silently.&lt;/p&gt;

&lt;p&gt;README opening line.&lt;/p&gt;

&lt;p&gt;Before: A lightweight orchestration layer for autonomous agents.&lt;/p&gt;

&lt;p&gt;After: Run agents that do the work while you sleep. You get a log of what they touched and a flag when they need you.&lt;/p&gt;

&lt;p&gt;PR descriptions.&lt;/p&gt;

&lt;p&gt;Before: Refactored the executor to support parallel task dispatch.&lt;/p&gt;

&lt;p&gt;After: Workflows with independent steps now finish in about a third of the time. A ten-step run that took 90 seconds takes 30.&lt;/p&gt;

&lt;p&gt;The second version in each pair contains the same information. It just leads with the consequence instead of the mechanism.&lt;/p&gt;

&lt;p&gt;The test&lt;/p&gt;

&lt;p&gt;Can someone who has never heard of AI agents read what you wrote and finish this sentence?&lt;/p&gt;

&lt;p&gt;"This means I no longer have to ___"&lt;/p&gt;

&lt;p&gt;If they can't, you've described a feature. Features are fine. They belong in the docs, under a header, where someone who already understands the problem goes looking for the mechanism.&lt;/p&gt;

&lt;p&gt;But the first line of your README, the first slide of your demo, and the first sentence of your changelog are not for that person. They're for someone who has a Tuesday problem and no idea yet that you solve it.&lt;/p&gt;

&lt;p&gt;What I'm still bad at&lt;/p&gt;

&lt;p&gt;Writing feature-first copy is faster. It's also more flattering, because the mechanism is the part you're proud of.&lt;/p&gt;

&lt;p&gt;I catch myself doing it constantly. The fix isn't a better instinct, it's running the test before I publish rather than after someone asks me the Tuesday question in a room full of people.&lt;/p&gt;

&lt;p&gt;What's the last piece of AI or developer tooling copy you read that actually passed?&lt;/p&gt;

</description>
      <category>agents</category>
      <category>product</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
