2
11 Comments

Why I believe AI coding agents need an infrastructure layer.

The AI coding market is moving incredibly fast.

Agents can already generate code, modify repositories, run tests, analyze errors, and execute complex development tasks.

But there is a fundamental infrastructure problem:

Who controls the environment in which these agents operate?

Imagine an enterprise with 50, 100, or 1,000 AI agents.

Each agent may have different:

→ Instructions
→ Context
→ Coding practices
→ Security boundaries
→ Architecture decisions
→ Tool permissions
→ Quality standards
→ Memory
→ Workflows

Without a common engineering layer, organizations risk creating AI engineering fragmentation at scale.

This is where I believe a new infrastructure category can emerge.

The AI Engineering Infrastructure Layer

I envision a layer between AI agents and software engineering infrastructure.

                HUMAN ENGINEERS
                       │
                       ▼
              ┌─────────────────┐
              │  AI AGENTS      │
              │ Codex / Claude  │
              │ Copilot / etc.  │
              └────────┬────────┘
                       │
                       ▼
        ┌─────────────────────────────┐
        │   AI ENGINEERING LAYER      │
        │                             │
        │ Policy                     │
        │ Architecture               │
        │ Knowledge                  │
        │ Governance                 │
        │ Quality Gates              │
        │ Security                   │
        │ Workflows                  │
        │ Audit & Traceability       │
        └─────────────┬───────────────┘
                      │
                      ▼
          ┌──────────────────────┐
          │ Engineering Systems  │
          │ Git / CI / Cloud     │
          │ Infrastructure       │
          └──────────────────────┘

NAEOS is exploring this layer.

The opportunity isn't to compete with every AI coding agent.

The opportunity is to build the engineering infrastructure that can work with many of them.

That makes NAEOS fundamentally different from an AI code generation product.

The architecture is designed around:

• Vendor-neutral AI agents
• Policy-driven execution
• Engineering knowledge
• Architecture governance
• Multi-agent workflows
• Quality enforcement
• Security & authorization
• Auditability
• Extensible plugins
• Reusable engineering blueprints

The strategic question I'm exploring is:

What happens when AI agents become as numerous as software services?

We will need standards.

We will need governance.

We will need interoperability.

We will need memory.

We will need policy enforcement.

And most importantly:

We will need infrastructure.

That's the long-term thesis behind NAEOS.

The project is open and evolving publicly:

👉 https://github.com/NAEOS-foundation/naeos

I'm currently looking for angel investors, pre-seed investors, technical investors, and strategic partners who understand developer infrastructure, AI infrastructure, or the future of software engineering.

If you believe AI Engineering Infrastructure could become a major new category, I'd love to exchange ideas.

AI agents write the code.
The engineering system determines how that code becomes software.

— Bayu
Founder, NAEOS

on September 5, 2026
  1. 1

    This matches something we've hit directly, at a much smaller scale than enterprise: once you have more than one agent doing real work in the same pipeline (one drafting, one auditing, one doing final verification), the failure mode isn't code quality on the first pass — it's that a "fix" from one agent creates a silent regression that the next agent never re-checks unless you force a full, independent re-verification loop every time. In practice, the governance piece that mattered most for us wasn't architecture rules or tool permissions, it was making re-verification mandatory and genuinely independent — a different agent/context re-checking the fix with fresh eyes, never the same one confirming its own work. Does your policy layer treat "verification" as a first-class primitive separate from "execution," or is that downstream of the quality gates you listed?

    1. 1

      Yes — I think verification should be a first-class primitive, explicitly separate from execution.

      A quality gate usually asks, “Did the result pass these checks?” Verification asks a different question:

      “Is the result still correct after the change, and was that conclusion reached independently?”

      That distinction matters in multi-agent pipelines because otherwise you can get:

      Agent A executes → Agent A verifies → Agent B builds on A's verification → silent regression

      For NAEOS, I’d model the lifecycle more explicitly:

      Intent → Policy Decision → Execution → Independent Verification → Evidence → Finalization

      The verification stage should have its own identity, context, and evidence boundary. Ideally, the verifier doesn't inherit the executor's reasoning as its source of truth. It gets the relevant requirements, policy, resulting artifacts, and test evidence, then evaluates them independently.

      I also think policy should be able to specify verification requirements, not just execution permissions.

      For example:

      • low-risk change → automated verification
      • medium-risk change → independent agent verification
      • high-risk change → independent verification + human approval
      • critical production action → independent verification + explicit authorization

      So verification isn't simply “downstream of the quality gates.” The policy determines when verification is mandatory, what independence means, and what evidence is required before the action can be considered complete.

      That gives us another important invariant:

      An agent cannot establish the validity of its own consequential work merely by declaring it verified.

      That feels especially important once multiple agents start collaborating in the same engineering pipeline.

      1. 1

        That maps closely to a protocol we already run, not for AI agent governance specifically but for code changes generally: four layers, scaling by how much trust the previous layer earns — mechanical check first, then an LLM audit, then a second LLM pass with a fresh context, then real execution with edge-case data before anything counts as done. The part that maps exactly to your invariant: the third layer exists specifically because the second layer's own verdict isn't trusted as evidence, even though it already produced one — the fix has to be re-litigated by something that didn't write it, with fresh context, not "recheck your own work." Where your framing adds something ours doesn't have explicitly: we scale rigor by the size of the change, not by a declared risk tier tied to blast radius. A one-line change to a high-blast-radius path currently gets the same treatment as a one-line change anywhere else, and it probably shouldn't — worth stealing that distinction.

  2. 1

    The gap you're naming - "passed CI" vs "decision was acceptable" - is a measurement precision problem. CI measures output; policy infrastructure measures intent-to-outcome binding. The hardest part won't be catching violations, it will be capturing what the policy actually requires in a form that agents can reason about. That precision determines whether it becomes essential or just adds overhead to the loop.

    1. 1

      Exactly. I think you've identified one of the hardest parts.

      If policy is just prose that the agent is expected to interpret, we haven't really solved the problem — we've just moved the ambiguity from the codebase into the governance layer.

      That's why I'm thinking of policy in NAEOS more like a machine-readable engineering contract than a document.

      A policy should be able to express things such as:

      scope → allowed capability → constraints → required evidence → approval level → enforcement point → audit requirements

      Then the agent can reason about the policy, but the agent's interpretation shouldn't be the final authority. The policy engine evaluates the proposed intent/action against the contract.

      That also gives us a useful separation:

      Agent: “I want to do X because I believe it is necessary.”

      Policy engine: “Under policy version Y, X is permitted/not permitted, and these conditions must be satisfied.”

      Audit layer: “Here is the evidence showing what actually happened.”

      So I agree that precision determines whether this becomes essential infrastructure or just overhead.

      The design goal should be to make the governance path more deterministic than the agent's reasoning, while keeping the policy expressive enough to represent real engineering constraints.

      That balance is probably one of the central engineering problems NAEOS has to solve.

  3. 1

    For a first demo, I'd pick one repo and two different coding agents, then disallow a dependency halfway through their tasks. Does the layer catch both agents' now-stale plans before merge? That would make the vendor-neutral governance claim concrete without needing 100 agents.

    1. 1

      Exactly. I think that’s a much better first demo than trying to prove vendor neutrality with a large matrix of agents.

      One repo, two different coding agents, one shared NAEOS policy.

      Start both agents on a task where they legitimately plan to use dependency X. Then, halfway through, change the policy to disallow X.

      The key test is not simply whether the final CI catches the dependency. It’s whether NAEOS can detect that both agents' existing plans/actions have become stale under the new policy, regardless of which agent generated them.

      Ideally the flow becomes:

      Agent → Intent/Plan → NAEOS Policy → Action → Policy Change → Re-evaluation → Block/Require Re-plan

      If Agent A and Agent B both get stopped or forced to re-plan through the same governance layer, while their underlying agent runtimes remain unchanged, that makes the vendor-neutral claim tangible.

      It also demonstrates something CI alone doesn't: governance can change while work is already in flight, and previously valid agent decisions don't automatically remain valid.

      I’d probably make this the first NAEOS proof-of-concept.

      1. 1

        The next-action boundary seems worth making explicit in that demo. If an agent gets approval under policy v1, then v2 disallows the dependency before the tool call executes, does NAEOS check again at execution? Showing that sequence for both agents would make it clear whether an old approval can still slip through.

  4. 1

    What’s the first real failure that makes a team need NAEOS rather than just standardizing its existing agent and CI tooling?

    1. 1

      The first real failure is usually not that the team has inconsistent tools. It’s when the agents are standardized, the CI is standardized, but the engineering decisions are still implicit and non-deterministic.

      For example:

      An AI agent can generate code that passes tests and CI, but it may violate architectural boundaries, introduce an unsafe dependency, bypass an engineering convention, or make a decision that another agent would handle differently.

      At that point, adding more CI checks or standardizing the agent configuration only treats individual symptoms.

      The team needs a system that defines:

      intent → policy → capability → action → validation → audit

      That’s where I see NAEOS becoming necessary.

      So I’d describe the trigger as:

      The first real failure is when “the code passed CI” is no longer equivalent to “the engineering decision was acceptable.”

      NAEOS is intended to provide the missing control layer between AI agent capability and organizational engineering policy — rather than replacing the existing agents or CI tooling.

      1. 1

        Just sent you an email with my updated thinking on this and how I’d scope the evaluation around the direction you’re now pursuing.

        Please check it when you get a chance and reply there so we can continue the discussion.