- Get Started
← Back to Blog

No More "My Agent Did This Without Me Knowing": Bringing Engineering Discipline Back to AI

Every developer now runs an ad-hoc AI agent on their laptop with zero shared protocols or governance. The result is shadow engineering: "my agent broke that without me knowing." Software development has never worked this way. OpenFlows restores the battle-tested engineering standards that made software reliable in the first place.

· October 23, 2026 · 5 min read
No More "My Agent Did This Without Me Knowing": Bringing Engineering Discipline Back to AI

Every software engineering team has experienced some version of this morning standup over the last six months:

“Wait, who modified the authentication middleware?"
"Oh, sorry, my agent refactored that in the background while I was prompting it on the user profile ticket. I did not realize it touched that file.”

Or:

“Why did CI fail on main?"
"My local agent ran a migration script on its own. It worked on my laptop.”

Sound familiar?

Overnight, engineering organizations that spent decades building rigorous continuous integration, security policies, and pull request rituals have devolved into the Wild West. Every engineer has their own agent, their own command-line wrapper, their own prompts, their own system permissions, and their own unvetted conventions running directly on their personal machine.

We call it “AI-assisted development,” but let us be honest about what it really is: shadow engineering without a protocol.

Software development has never been done this way before AI came along. And there is a very good reason for that.

The 40 Years of Discipline We Conveniently Forgot

Before the generative AI boom, no credible engineering team would have tolerated a workflow where:

  1. Individual developers invent their own proprietary build and test protocols on their local machines.
  2. Unreviewed code is written without a prior architectural spec or agreed definition of done.
  3. Untrusted processes execute arbitrary shell commands with root privileges and ambient access to .env secrets, production tokens, and SSH keys.
  4. Coworkers bypass code review and push straight to shared branches.

We spent four decades establishing industry-wide invariants:

  • Reproducible, isolated environments so we never hear “it works on my machine” again.
  • Specification and contract-first design before writing code.
  • Adversarial peer review where the reviewer cannot be coerced by the author.
  • Least-privilege execution where tools only have access to what they strictly need.

Yet when AI agents arrived, the industry threw those hard-won lessons out the window. We handed autonomous LLMs full write access to local file systems, gave them terminal access, prompted them with vague natural language, and hoped for the best.

When things inevitably break, developers shrug: “My agent did it without me knowing.”

That is not autonomous software engineering. That is chaos with a high token bill.

The Trap of the Uncoordinated Local Agent

The problem is not that AI models are incapable of writing code. Models can write excellent code when given a crisp, bounded specification.

The problem is a complete lack of orchestration protocols and environmental governance.

When every engineer runs an uncoordinated agent on their own laptop:

  • No Shared State: Agent A knows nothing about what Agent B is touching. They step on each other’s toes, collide on branch changes, and duplicate effort.
  • Unchecked Hallucination: Without an adversarial review gate before code is written, an agent will happily invent non-existent APIs, pull in hallucinated dependencies, and drift away from team architectural patterns.
  • Credential Leakage: When an agent runs locally, your company’s API keys, database credentials, and internal secrets sit in plain view of third-party model context windows.
  • No Auditable Trail: When an unexpected commit lands, nobody knows what prompt triggered it, what invariants were checked, or whether a human ever approved it.

If a human junior engineer worked this way (refactoring random modules without a ticket, skipping peer review, and running unvetted scripts with production keys), they would be removed from the repository within an hour.

Why are we holding AI agents to a lower standard than our interns?

How OpenFlows Takes Us Back on Track

OpenFlows was built on a simple premise: AI development should elevate engineering discipline, not erode it.

Instead of letting agents run loose on personal laptops, OpenFlows brings back the battle-tested patterns of real software teams. The entire architecture rests on one foundational asymmetry:

Coder governs WHERE agents run. OpenFlows governs HOW agents coordinate.

Here is the exact lifecycle OpenFlows enforces for every single task:

  1. GitHub Issue received: An issue lands in the repository.
  2. NEXUS (Orchestrator): Picks it up, provisions an isolated Coder workspace, and allocates the ticket.
  3. FORGE (Builder - Planning mode): Analyzes the issue and drafts CONTRACT.md. Zero source files are touched.
  4. Gated Checkpoint: SENTINEL reviews and signs off on the plan before any code can be modified.
  5. FORGE (Builder - Coding mode): Implements code strictly against the agreed contract on a dedicated branch.
  6. SENTINEL (Reviewer): Performs adversarial review and runs delegated verification tests via the A2A Relay.
  7. VESSEL (DevOps): Confirms passing CI, merges the PR, and cleans up the disposable workspace.

1. Governed, Ephemeral Workspaces (No More “My Machine”)

OpenFlows agents never run in your personal terminal or on your local machine. They run inside disposable, enterprise-governed Coder workspaces.

  • Worker containers have zero AI software and zero LLM API keys. LLM routing is handled centrally through Coder’s AI Gateway.
  • When the task is done and the PR is merged, the workspace is destroyed. No lingering background processes, no phantom file changes.

2. Gated Planning Before Any Code is Written

In OpenFlows, FORGE (the builder) is strictly prohibited from touching source code until it produces a CONTRACT.md detailing the files to modify, the data flow, and the test strategy.

  • SENTINEL (the reviewer) must inspect, challenge, and approve the plan.
  • If there is ambiguity or a security question, the system halts and escalates to a human.
  • No agent ever refactors code without you knowing, because the plan is locked before the first line is committed.

3. Adversarial Verification via the A2A Protocol

Having an agent review its own code is like letting a student grade their own exam. In OpenFlows, FORGE and SENTINEL operate as separate entities with different incentives:

  • SENTINEL is read-only against source code and cannot secretly modify files.
  • SENTINEL uses the Agent-to-Agent (A2A) Relay to command FORGE’s workspace to execute acceptance test suites and verify outcomes in an isolated sandbox, without having direct code execution privileges.

4. Typed Contracts and State in Redis

Coordination is not managed by passing loose conversational summaries back and forth. OpenFlows relies on pocketflow-core: a declared flow graph backed by a typed Redis shared store.

  • Every ticket lease, file lock, and gate record is auditable and tenant-namespaced (ns:{tenant}:...).
  • If an agent crashes or stalls, NEXUS’s reconciliation loop detects the orphan, reclaims the slot, and recovers cleanly without manual intervention.

Engineering Wins. Vibes Lose.

The promise of AI was never to make software engineering sloppy. The promise of AI was to free engineers from repetitive boilerplate so they could focus on high-level architecture, system design, and product quality.

When your team has shared protocols, typed contracts, and governed execution:

  • You never have to ask “who told the agent to do that?”
  • You never have to clean up mystery commits on shared branches.
  • You never have to worry about untrusted agents executing rogue bash scripts on developer laptops.

The era of cowboy AI development is coming to an end. It is time to put engineering back in control.

Comments

Questions, feedback, or thoughts? Comment below and join the discussion on GitHub.