<?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: Oystro</title>
    <description>The latest articles on DEV Community by Oystro (oystro).</description>
    <link>https://dev.to/oystro</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%2Forganization%2Fprofile_image%2F15272%2F751239bd-4048-424f-8935-0d43ddaab99b.png</url>
      <title>DEV Community: Oystro</title>
      <link>https://dev.to/oystro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oystro"/>
    <language>en</language>
    <item>
      <title>What a Human Gate Looks Like</title>
      <dc:creator>George</dc:creator>
      <pubDate>Thu, 01 Oct 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/what-a-human-gate-looks-like-3m30</link>
      <guid>https://dev.to/oystro/what-a-human-gate-looks-like-3m30</guid>
      <description>&lt;p&gt;Writing · &lt;time&gt;October 1, 2026&lt;/time&gt; · George&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Human Gate Looks Like
&lt;/h2&gt;

&lt;p&gt;A concrete walkthrough: approve the plan, build, review the evidence, release.&lt;/p&gt;

&lt;p&gt;Human gates sound like process theatre. But it's the opposite. Here's the actual mechanics, on a real feature. So, you be the judge.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;You are building a feature. Let's say a session manager for a service. You open your agent in the project directory and initialise the harness. Two minutes later you have the constitution, the requirements, the architecture. The agent derived them from the code and docs that already exist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gate 1: Design, before any code
&lt;/h3&gt;

&lt;p&gt;You ask the agent to define the feature. It produces a single spec file that has the requirements, the design decisions, the file layout, the task list, and the acceptance criteria. Then it stops.&lt;/p&gt;

&lt;p&gt;This is the first gate. You read the spec. You spot that the agent missed the idempotency requirement so that retries are safe. You add it. You say "approved."&lt;/p&gt;

&lt;p&gt;Nothing was implemented yet. The one change you made just saved you a rework cycle later. That's the point of the gate. Catch the wrong assumption while it's still one line in a spec, and not when it is a hundred lines of code.&lt;/p&gt;

&lt;h3&gt;
  
  
  The build with one commit per task
&lt;/h3&gt;

&lt;p&gt;Now the agent works. It follows the approved task list in order. One commit per task. No improvising, no adding features, no "I also noticed this other thing."&lt;/p&gt;

&lt;p&gt;If a task fails three times, it stops and escalates instead of thrashing. You're not watching it type. You're reviewing a series of small, traceable commits, each tied to the approved plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gate 2: The evidence, before release
&lt;/h3&gt;

&lt;p&gt;The agent runs the evidence contract. The tests, acceptance criteria, the verification report. It marks the release as pending. Then it stops again.&lt;/p&gt;

&lt;p&gt;You read the report. You approve. The agent merges, archives the feature, bumps the version, and records every decision in the build narrative.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this scales
&lt;/h3&gt;

&lt;p&gt;Nothing here requires you to be a hero. The two gates take minutes. The agent does everything else. And because every decision is recorded, you don't have to hold the project in your head. Six months later, &lt;code&gt;git log&lt;/code&gt;tells you what happened and why.&lt;/p&gt;

&lt;p&gt;That's a human gate. Not ceremony. The two moments where a person looks at the work and decides, before it's too late and maybe too expensive to change.&lt;/p&gt;

&lt;h3&gt;
  
  
  The honest part
&lt;/h3&gt;

&lt;p&gt;No harness guarantees the agent will follow it. The agent may skip steps, forget to update the log, or drift from the approved design. The harness makes the right path clear. It can't force the agent to walk it. Deterministic enforcement is the engine's job, not the protocol's. The protocol is the method, the engine is the paid layer.&lt;/p&gt;

&lt;p&gt;So, you still have to watch, correct, and decide. A status command shows you where you are and what the agent should do next, without touching your working tree. But the human stays responsible. That's not a flaw in the harness. That's the whole point. A process that removes the human isn't more reliable, it's just less accountable.&lt;/p&gt;

&lt;p&gt;The workflow is free. Bring any agent. Keep your standards.&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;github.com/oystro/oystro-oss&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oystro OSS is a free, open-source ADLC protocol that adds human gates to your agents. Bring any agent. Keep your standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Try Oystro OSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See it in practice: &lt;a href="https://oystro.com/documentation#gate1" rel="noopener noreferrer"&gt;the Oystro OSS User Guide&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;ul&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/harness-engineering-vs-vibe-coding" rel="noopener noreferrer"&gt;Harness engineering vs vibe coding&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/the-five-levels-of-ai-assisted-development" rel="noopener noreferrer"&gt;The five levels of AI-assisted development&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/every-agent-session-starts-from-zero" rel="noopener noreferrer"&gt;Every agent session starts from zero&lt;/a&gt;&lt;/li&gt;

  &lt;/ul&gt;

</description>
      <category>agents</category>
      <category>architecture</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>The Five Levels of AI-Assisted Development</title>
      <dc:creator>George</dc:creator>
      <pubDate>Thu, 24 Sep 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/the-five-levels-of-ai-assisted-development-1a9f</link>
      <guid>https://dev.to/oystro/the-five-levels-of-ai-assisted-development-1a9f</guid>
      <description>&lt;p&gt;Writing · &lt;time&gt;September 24, 2026&lt;/time&gt; · George&lt;/p&gt;

&lt;h2&gt;
  
  
  The Five Levels of AI-Assisted Development
&lt;/h2&gt;

&lt;p&gt;Most teams think they're further along than they are.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.danshapiro.com/blog/2026/01/the-five-levels-from-spicy-autocomplete-to-the-software-factory/" rel="noopener noreferrer"&gt;Dan Shapiro's framework&lt;/a&gt; of five levels of AI-assisted development, borrowed from the autonomy levels of self-driving cars, is the most useful way to think about where your team actually is. The insight is that every level feels like you're done but you're not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 0: Manual driving
&lt;/h2&gt;

&lt;p&gt;The AI does autocomplete. You write every line. The bottleneck is typing speed. This was most of "AI coding" in 2022. Feels primitive now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 1: Lane assist and cruise control
&lt;/h2&gt;

&lt;p&gt;The AI handles discrete tasks. You direct what to do. The bottleneck is how fast you can assign tasks. Copilot in 2023. Useful, but you're still doing most of the driving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 2: The trap
&lt;/h2&gt;

&lt;p&gt;The AI does whole features end to end. It feels transformative. Productivity is up, morale is high, the work is satisfying.&lt;/p&gt;

&lt;p&gt;This is where most teams are. And it's a trap. In Shapiro's own words, the danger is that Level 2 feels so good that people stop here permanently. But you are still the rate-limiting factor. If you're not at the keyboard, nothing happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 3: Waymo with a safety driver
&lt;/h2&gt;

&lt;p&gt;The agent works autonomously, but a human is still responsible and can take over. This is where harness engineering lives. The agent runs, the human gates. The agent builds one task at a time, the human approves the design and the release. You're supervising, not driving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 4: Robotaxi
&lt;/h2&gt;

&lt;p&gt;Full autonomy. No driver. This is the "dark factory" horizon. Interesting, but not where most teams are, and not where most teams should be aiming today. Getting to Level 4 safely means mastering Level 3 first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the levels matter
&lt;/h2&gt;

&lt;p&gt;The levels aren't a ladder that needs to be climbed. They are a diagnostic. Most teams think they're at Level 3 or 4 when they're actually at Level 2, because Level 2 feels like the destination.&lt;/p&gt;

&lt;p&gt;The harness is what gets you from Level 2 to a real Level 3. The agent runs autonomously, but the human gates stay, the evidence stays, the decisions stay recorded. That's not slowing the agent down. It's what makes going faster safe.&lt;/p&gt;

&lt;p&gt;The workflow is free. Bring any agent. Keep your standards.&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;github.com/oystro/oystro-oss&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oystro OSS is a free, open-source ADLC protocol that adds human gates to your agents. Bring any agent. Keep your standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Try Oystro OSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See it in practice: &lt;a href="https://oystro.com/documentation#levels" rel="noopener noreferrer"&gt;the Oystro OSS User Guide&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;ul&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/harness-engineering-vs-vibe-coding" rel="noopener noreferrer"&gt;Harness engineering vs vibe coding&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/what-a-human-gate-looks-like" rel="noopener noreferrer"&gt;What a human gate looks like&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/every-agent-session-starts-from-zero" rel="noopener noreferrer"&gt;Every agent session starts from zero&lt;/a&gt;&lt;/li&gt;

  &lt;/ul&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Why Vibe Coding Breaks at Scale: The Case for Harness Engineering</title>
      <dc:creator>George</dc:creator>
      <pubDate>Fri, 18 Sep 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/why-vibe-coding-breaks-at-scale-the-case-for-harness-engineering-3cp4</link>
      <guid>https://dev.to/oystro/why-vibe-coding-breaks-at-scale-the-case-for-harness-engineering-3cp4</guid>
      <description>&lt;p&gt;Harness Engineering · Deep Dive&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Vibe Coding Breaks at Scale: The Case for Harness Engineering
&lt;/h2&gt;

&lt;p&gt;Published September 18, 2026•By George•6 min read&lt;/p&gt;

&lt;p&gt;In early 2024, the software engineering industry embraced a seductive new rhythm: &lt;strong&gt;"vibe coding."&lt;/strong&gt; You open a chat window, describe an intent in plain English, watch an LLM generate 400 lines of code across three files, hit reload, and if the UI doesn't crash, you commit.&lt;/p&gt;

&lt;p&gt;It feels magical. It feels like 10x leverage. Until month three.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Entropy Trap: Speed Without Structure
&lt;/h2&gt;

&lt;p&gt;Vibe coding optimizes for &lt;strong&gt;instant momentum&lt;/strong&gt; , not long-term maintainability. When you ask an AI assistant to build an isolated greenfield script, it excels because the entire context fits within a single prompt window. But real production software does not live inside an afternoon chat session. It lives across quarters, hundreds of commits, evolving API contracts, and teams of engineers.&lt;/p&gt;

&lt;p&gt;As the codebase expands, four critical failure modes inevitably emerge:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Ephemeral Reasoning Void:&lt;/strong&gt; The crucial architectural decisions - &lt;em&gt;why&lt;/em&gt; a specific database abstraction was chosen, &lt;em&gt;what&lt;/em&gt; concurrency hazards were mitigated, &lt;em&gt;why&lt;/em&gt; an alternative design was rejected - disappear the second the chat tab closes. The code remains, but the reasoning is gone forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Done" Without Receipts:&lt;/strong&gt; The assistant announces that the task is finished. But did it actually run the regression suite? Did it check whether changing that shared struct broke a downstream consumer? In vibe coding, "done" is a polite promise until production breaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Amnesia:&lt;/strong&gt; Every new chat session starts completely from scratch. The assistant re-reads the entire repository and re-derives decisions it already made - often slightly differently - so patterns, style and behaviour drift. &lt;strong&gt;The token burn is a symptom; the lost accuracy is the real cost.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silent Drift Across Repositories:&lt;/strong&gt; Modern products rarely live in one folder. A change in a contracts library quietly breaks the backend API, which silently breaks the CLI. Without cross-repo verification, team coordination collapses back into frantic Slack messages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The core problem:&lt;/strong&gt; AI coding assistants generate code exponentially faster than human engineers can read and verify it. Without an operating harness, AI assistants become firehoses of software entropy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Harness Engineering
&lt;/h2&gt;

&lt;p&gt;The alternative to vibe coding is not going back to manually typing every line of boilerplate. The alternative is &lt;strong&gt;Harness Engineering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of letting an autonomous assistant run unconstrained and hoping for the best, Harness Engineering surrounds the AI with a deterministic, fail-closed operating harness governed by three non-negotiable principles:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Hard Human Gates, Not Post-Hoc Reviews
&lt;/h3&gt;

&lt;p&gt;Nothing gets built without plan approval. Nothing ships without evidence verification.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gate 1 (Pre-Build):&lt;/strong&gt; The assistant is strictly prohibited from writing code until a human reviews and approves the architectural plan and test commitments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate 2 (Pre-Release):&lt;/strong&gt; The assistant cannot finalize or push code without producing cryptographic, reproducible test receipts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Persistent Project Memory
&lt;/h3&gt;

&lt;p&gt;Your project needs a durable memory stored &lt;em&gt;with the project&lt;/em&gt; - not trapped inside a vendor's proprietary web UI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A single live snapshot (&lt;code&gt;handover.yaml&lt;/code&gt;) that records active tasks, open decisions, and the single next action.&lt;/li&gt;
&lt;li&gt;An append-only journal (&lt;code&gt;SLICE_LOG.md&lt;/code&gt;) that documents &lt;em&gt;why&lt;/em&gt; each change was made and &lt;em&gt;what&lt;/em&gt; proved it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A fresh assistant session reads six lines and resumes in seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Proof Over Promises
&lt;/h3&gt;

&lt;p&gt;"It compiled on my machine" is not evidence. A true harness executes the agreed verification checks, computes cryptographic hashes over the test outputs, and binds the verification receipt to the Git commit. If evidence is missing, pre-push hooks fail closed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bring Harness Engineering to Your Project
&lt;/h2&gt;

&lt;p&gt;Oystro adds deterministic human approval gates and persistent memory to AI coding agents, so your codebase stays reviewable and maintainable for years to come.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://oystro.com/#waitlist" rel="noopener noreferrer"&gt;Join Early-Access Waitlist&lt;/a&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Explore Free Open Protocol&lt;/a&gt;&lt;a href="https://oystro.com/documentation" rel="noopener noreferrer"&gt;Read the Oystro OSS User Guide&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;p&gt;&lt;br&gt;
    &lt;a href="https://oystro.com/blog/harness-engineering-vs-vibe-coding" rel="noopener noreferrer"&gt;Harness engineering vs vibe coding&lt;/a&gt;&lt;br&gt;
    &lt;a href="https://oystro.com/blog/every-agent-session-starts-from-zero" rel="noopener noreferrer"&gt;Every agent session starts from zero&lt;/a&gt;&lt;br&gt;
    &lt;a href="https://oystro.com/blog/what-a-human-gate-looks-like" rel="noopener noreferrer"&gt;What a human gate looks like&lt;/a&gt;&lt;br&gt;
  &lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>llm</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Why the Harness Matters More Than the Model</title>
      <dc:creator>George</dc:creator>
      <pubDate>Thu, 17 Sep 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/why-the-harness-matters-more-than-the-model-2a28</link>
      <guid>https://dev.to/oystro/why-the-harness-matters-more-than-the-model-2a28</guid>
      <description>&lt;p&gt;Writing · &lt;time&gt;September 17, 2026&lt;/time&gt; · George&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Harness Matters More Than the Model
&lt;/h2&gt;

&lt;p&gt;The model gets you speed. The harness gets you trust.&lt;/p&gt;

&lt;p&gt;The same model weights that score 30% on a benchmark can score 95% with a better harness. That's not our line. It comes from Y Combinator's paper club on harnesses, and is the clearest statement about something people are getting wrong.&lt;/p&gt;

&lt;p&gt;Lack of a cutting-edge model was never the bottleneck. Lack of a good harness is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop chasing the wrong half
&lt;/h2&gt;

&lt;p&gt;Most AI-engineering conversations revolve around models. Which one is smarter? Which one is bigger? Which one costs less per token? All of it is chasing the generation half of the problem.&lt;/p&gt;

&lt;p&gt;But generation was never the hard half. Generating plausible code is easy. Generating code that's "right" for a specific project, with its specific constraints and history, is a completely different problem. And that's not solved by a better model. That's solved by structure around the model.&lt;/p&gt;

&lt;p&gt;A harness is that structure. It's the difference between asking an agent to "build this" and giving it a process where the agent states its approach, you approve it, and it builds one task at a time with evidence. Same model. Completely different reliability.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two halves of why harnesses matter
&lt;/h2&gt;

&lt;p&gt;When people talk about harnesses, they focus on capability. Yes, a better harness makes an agent more capable, because it stops the agent from wandering and keeps it pointed at the approved plan.&lt;/p&gt;

&lt;p&gt;But there's a second half that gets less attention. And that is about verification. A harness with gates and recorded decisions makes the agent's work "auditable". You can see what the agent assumed, what it approved against, and what actually shipped. On a project that runs for months, this second half is the one that matters. The risk isn't about "did the agent score 95%." The risk is "three weeks later, no one can explain why this exists."&lt;/p&gt;

&lt;p&gt;Capability gets you speed. Verification gets you trust. A real harness gives you both.&lt;/p&gt;

&lt;h2&gt;
  
  
  The category is forming
&lt;/h2&gt;

&lt;p&gt;The fact that Y Combinator is running a paper club on harnesses, and Uncle Bob Martin is doing video rants on "rethinking harnesses," tells you the conversation has tipped. Harness engineering is becoming a named category, the way DevOps did a decade ago.&lt;/p&gt;

&lt;p&gt;This is a shift worth paying attention to. The teams that treat their harness as a first-class citizen, and not "just some prompts and scaffolding," will eventually be able to trust what their agents build.&lt;/p&gt;

&lt;p&gt;The workflow is free. Bring any agent. Keep your standards.&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;github.com/oystro/oystro-oss&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oystro OSS is a free, open-source ADLC protocol that adds human gates to your agents. Bring any agent. Keep your standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Try Oystro OSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See it in practice: &lt;a href="https://oystro.com/documentation" rel="noopener noreferrer"&gt;the Oystro OSS User Guide&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;ul&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/harness-engineering-vs-vibe-coding" rel="noopener noreferrer"&gt;Harness engineering vs vibe coding&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/every-agent-session-starts-from-zero" rel="noopener noreferrer"&gt;Every agent session starts from zero&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/what-a-human-gate-looks-like" rel="noopener noreferrer"&gt;What a human gate looks like&lt;/a&gt;&lt;/li&gt;

  &lt;/ul&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Harness Engineering vs Vibe Coding</title>
      <dc:creator>George</dc:creator>
      <pubDate>Thu, 10 Sep 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/harness-engineering-vs-vibe-coding-23h6</link>
      <guid>https://dev.to/oystro/harness-engineering-vs-vibe-coding-23h6</guid>
      <description>&lt;p&gt;Writing · &lt;time&gt;September 10, 2026&lt;/time&gt; · George&lt;/p&gt;

&lt;h2&gt;
  
  
  Harness Engineering vs Vibe Coding
&lt;/h2&gt;

&lt;p&gt;The difference isn't speed. It's who's in the driving seat.&lt;/p&gt;

&lt;p&gt;When vibe coding, the agent generates, and you accept or reject after the fact. The decision happens in the prompt, invisible and unaudited.&lt;/p&gt;

&lt;p&gt;In harness engineering, the agent stops before it writes a single line of code. You review the design and approve the contract. Then it builds one task at a time, one commit per task, with evidence. Every decision is captured, reviewed, and recorded.&lt;/p&gt;

&lt;p&gt;What's the difference? It's not about speed but who's in the driving seat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why vibe coding feels fine until it doesn't
&lt;/h2&gt;

&lt;p&gt;Vibe coding gets a lot right. It's fast. It's satisfying. You describe what you want in plain language and watch code appear. For a prototype or a weekend project, that's often enough.&lt;/p&gt;

&lt;p&gt;The problem pokes its head up in longer projects. In a longer build cycle, the agent makes numerous decisions. Each decision looks reasonable then but isn't written down for future reference. A few weeks later a feature ships, and nobody can say why it works the way it does, or what the assumptions behind it were.&lt;/p&gt;

&lt;p&gt;We think it's a bug in the agent. No, it's the structure. When a decision is a conversation that's already gone, the decision never happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a gate changes
&lt;/h2&gt;

&lt;p&gt;A harness stops the work when it is important for a human to look at it before it proceeds.&lt;/p&gt;

&lt;p&gt;Before a single line of code is written, the agent states its approach and its assumptions. You read them. You change what's wrong. You approve. That approved design becomes the contract the agent builds upon.&lt;/p&gt;

&lt;p&gt;Then, before release, the agent shows you the evidence such as the tests, the acceptance criteria, the verification report. You read it. You approve.&lt;/p&gt;

&lt;p&gt;Two gates. Everything in between, the agent handles without babysitting. But the two moments that matter are yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same agent, two roles
&lt;/h2&gt;

&lt;p&gt;The harness doesn't constrain the agent. It changes what the agent is asked to do at each stage.&lt;/p&gt;

&lt;p&gt;During the define and design phase, the agent is a collaborator. It asks questions, finds gaps, challenges assumptions. It thinks with you.&lt;/p&gt;

&lt;p&gt;During the build phase, the agent is a disciplined executor. It follows the approved task list in order. It commits after each task. It does not improvise.&lt;/p&gt;

&lt;p&gt;Same agent, two jobs. The collaborator produces a better design. The executor produces reliable code. The gate between them is what keeps the two from falling over each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who's responsible
&lt;/h2&gt;

&lt;p&gt;Here's what matters. If the output is wrong, the first question is "Did we review the design carefully?" and not "Did the agent fail?"&lt;/p&gt;

&lt;p&gt;That's the shift. In vibe coding, you are downstream of the agent's decisions. In harness engineering, you are the one making them. The agent is fast and tireless. The harness makes its speed trustworthy by putting you in control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who this is not for
&lt;/h2&gt;

&lt;p&gt;To be blunt. If you prefer vibe coding, that's a valid choice, and this isn't for you. If you want the agent to make all the decisions, again, not for you. If you think review gates are overhead, this will feel like friction you don't want.&lt;/p&gt;

&lt;p&gt;The harness is not about team culture. It is about your standards.&lt;/p&gt;

&lt;p&gt;The workflow is free. Bring any agent. Keep your standards.&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;github.com/oystro/oystro-oss&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oystro OSS is a free, open-source ADLC protocol that adds human gates to your agents. Bring any agent. Keep your standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Try Oystro OSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See it in practice: &lt;a href="https://oystro.com/documentation#levels" rel="noopener noreferrer"&gt;the Oystro OSS User Guide&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;ul&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/every-agent-session-starts-from-zero" rel="noopener noreferrer"&gt;Every agent session starts from zero&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/why-the-harness-matters-more-than-the-model" rel="noopener noreferrer"&gt;Why the harness matters more than the model&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/the-five-levels-of-ai-assisted-development" rel="noopener noreferrer"&gt;The five levels of AI-assisted development&lt;/a&gt;&lt;/li&gt;

  &lt;/ul&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Every agent session starts from zero</title>
      <dc:creator>George</dc:creator>
      <pubDate>Thu, 03 Sep 2026 03:30:00 +0000</pubDate>
      <link>https://dev.to/oystro/every-agent-session-starts-from-zero-5gg8</link>
      <guid>https://dev.to/oystro/every-agent-session-starts-from-zero-5gg8</guid>
      <description>&lt;p&gt;Writing · &lt;time&gt;September 3, 2026&lt;/time&gt; · George&lt;/p&gt;

&lt;h2&gt;
  
  
  Every agent session starts from zero
&lt;/h2&gt;

&lt;p&gt;Why long projects lose the thread, and why the fix is a process, not a better model.&lt;/p&gt;

&lt;p&gt;We spent the last few months deliberating and then building software that runs on top of AI coding agents. The question that kept intriguing us:&lt;/p&gt;

&lt;p&gt;Why does every agent session start from zero?&lt;/p&gt;

&lt;p&gt;When a team works on a long-running project, the context is not just in anyone's head. It has seeped into the codebase, the PR reviews, the decisions recorded in comments and commit messages. After a few weeks or months, a new person inducted into the project reads, absorbs and continues building based on what's there.&lt;/p&gt;

&lt;p&gt;For an agent, every session starts cold. The model only sees your prompt and the files in front of it. The model is unaware of the past decisions you made, the constraints you discovered and the reasons why you did things in a certain way. Unless you type it again!&lt;/p&gt;

&lt;p&gt;So we become the memory. The sole entity holding the thread.&lt;/p&gt;

&lt;p&gt;This is a risk nobody accounted for. As the agent generates code, you try to absorb it. The context keeps on growing while your memory remains constrained.&lt;/p&gt;

&lt;p&gt;We have experienced this and watched teams go through it too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Senior engineers spending time every day to reiterate a project's constraints.&lt;/li&gt;
&lt;li&gt;Relying on one person who has been there from the start and knows the whole architecture.&lt;/li&gt;
&lt;li&gt;The "quick resume" that turns into an endless rabbit hole because the summary has messed up.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You write a summary on Tuesday, it veers a bit by Thursday, and by Monday it misleads. So you stop trusting it and start reworking everything from scratch. It is not a tool problem but a process issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix isn't better agents
&lt;/h2&gt;

&lt;p&gt;A better model doesn't remember the previous session. A bigger context window doesn't help either. It just lets you stuff more reminders. The fix is to make the process hold the context.&lt;/p&gt;

&lt;p&gt;We have been experimenting with a simple approach. Even before the agent writes a single line of code, it has to write down its approach and assumptions. That is reviewed. Then the agent works one task at a time, one commit per task, and at each step it records what it did and why. The session can end anywhere. The thread is on a disk, not in someone's memory.&lt;/p&gt;

&lt;p&gt;The effect was that we shifted the importance from holding things in memory to reviewing things properly. The agent keeps working, the context keeps accumulating, and you judge the work instead of reconstructing it.&lt;/p&gt;

&lt;p&gt;You can't call this a productivity hack. It is moving from babysitting an agent to a reliable process on a long-running project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question we are seeking answers to
&lt;/h2&gt;

&lt;p&gt;We are building this as an open-source harness that wraps any agent with these gates, so that you're not locked into any one tool. We want answers from people who have lived this:&lt;/p&gt;

&lt;p&gt;Have you lost threads across agent sessions on long projects, or is that not an issue for how you work?&lt;/p&gt;

&lt;p&gt;We are better off hearing that "this is a non-issue for us, and here's why" than "this looks cool". We are eager to hear what happens on your project when a session ends and a new one starts. That's what we want to know.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;https://github.com/oystro/oystro-oss&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oystro OSS is a free, open-source ADLC protocol that adds human gates to your agents. Bring any agent. Keep your standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/oystro/oystro-oss" rel="noopener noreferrer"&gt;Try Oystro OSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See it in practice: &lt;a href="https://oystro.com/documentation#start" rel="noopener noreferrer"&gt;the Oystro OSS User Guide&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Related posts&lt;/h2&gt;
&lt;br&gt;
  &lt;ul&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/harness-engineering-vs-vibe-coding" rel="noopener noreferrer"&gt;Harness engineering vs vibe coding&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/why-the-harness-matters-more-than-the-model" rel="noopener noreferrer"&gt;Why the harness matters more than the model&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="https://oystro.com/blog/what-a-human-gate-looks-like" rel="noopener noreferrer"&gt;What a human gate looks like&lt;/a&gt;&lt;/li&gt;

  &lt;/ul&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
