Why service accounts and approval gates are not enough once agents are writing, reviewing, and shipping code.
Article 2 of 10 — AI Governance in an AI-Native Software Development Company

The most expensive sentence in AI-native engineering is usually delivered with confidence:
“We already have governance.” 🫤
Most of the time, that means three things:
• agents sign in through SSO or a service account
• repository permissions exist
• a human still approves production changes
That is not governance. That is front-door control.
It answers the first questions and ignores the expensive ones:
• Why did the agent make that decision?
• How did that decision become a production change?
• What else changed around it?
• Did the agent actually improve outcomes?
• Should this agent get more autonomy next quarter, or less?
That is the gap.
In the last article, “You Think You Have AI Governance. You Don’t.”, I argued that AI governance in a software company is not the same conversation as AI safety. It is an engineering operations problem. This article turns that into a diagnostic: the five-layer model I use to tell whether a company actually has governance, or just a few visible controls and a lot of hope.
The short version is blunt: most teams only have layers 1 and 2 in partial form. The rest is governance debt.
🧩 The model in one sentence
Agent governance has five layers:
- Identity: who is acting?
2. Action: what is the agent allowed to do?
3. Output: what did it decide, and what evidence supports it?
4. Change: how did that output become a production change?
5. Outcome: did the agent help, hurt, or drift?
Miss any one of these and your governance stack has a blind spot. Miss layers 3 through 5, which many companies do, and you do not have a governance stack. You have access control plus optimism.

Here is the core insight in plain English:
Layers 1 and 2 control access. Layers 3, 4, and 5 create trust at scale.
Access is not trust. Trust starts at layers 3, 4, and 5. Front-door controls keep obvious bad things out. The back three layers are what let you investigate, reverse, and improve the work that still gets through.
🗂 The five layers
1. Identity
Core question: Who is acting?
What good looks like: Every agent has a unique, verifiable identity, scoped credentials, and an owner.
What breaks when it is missing: Shared credentials, weak attribution, impossible containment.
2. Action
Core question: What may the agent do?
What good looks like: Explicit autonomy boundaries, machine-enforced non-goals, human approval where authority ends.
What breaks when it is missing: Scope creep, unsafe tool use, accidental overreach.
3. Output
Core question: What did the agent decide, and why?
What good looks like: Decision traces, evidence links, confidence, citations, structured rationale.
What breaks when it is missing: Mystery PRs, audit failures, postmortems built on guesswork.
4. Change
Core question: How did that output reach production?
What good looks like: End-to-end traceability from request to PR to CI to canary to deploy, with rollback readiness.
What breaks when it is missing: Timeline gaps, silent prompt or model drift, slow incident response.
5. Outcome
Core question: Was the agent effective?
What good looks like: Version-level metrics for accept rate, rework, rollback, cost, escalation, and drift.
What breaks when it is missing: Autonomy expands on vibes, underperforming agents linger, trust erodes.
Say it again because this is where teams fool themselves: Layers 1 and 2 control access. Layers 3, 4, and 5 create trust at scale. If you only built the first two, you did not finish the stack. You built the lobby and left the rest of the building dark.
Layer 1: Identity 🔐
Every governance system starts here, because without identity everything else collapses into ambiguity. An agent without a unique identity is not governed. It is just a process with plausible deniability.
At minimum, layer 1 means:
• every agent instance has a distinct identity record
• credentials are unique to that agent, not shared across a class
• permissions are scoped to the agent’s registered purpose
• credential issuance, rotation, and revocation are auditable
• a named human owner exists
This sounds obvious. In practice, many teams still run multiple agents on the same token, or let IDE agents inherit broad developer access because it is convenient. That convenience becomes operational debt fast. If three agents share one credential, you cannot isolate one during an incident. If an agent borrows a human’s access, you have lost the line between human action and agent action. If a production agent keeps a long-lived static secret, you are one log leak away from a breach you will struggle to attribute cleanly.
Identity is not just about security. It is the first prerequisite for legibility. If you cannot answer “which agent did this?” in one query, do not move on to maturity models and KPI decks. You are still at layer 1.
🛑 Layer 2: Action
Identity tells you who the agent is. Action tells you what it is allowed to do. This is where autonomy boundaries, non-goals, tool scopes, approval thresholds, and fail-closed rules live.
Strong layer 2 governance means the agent’s authority is explicit in five directions:
• functional: which actions it may or may not perform
• data: which systems and data domains it may access
• temporal: when it may act, and when it must not
• authority: which decisions require human approval
• escalation: when ambiguity or risk must stop the workflow
The key design choice is simple and surprisingly rare: rejection must be treated as a correct output.
If an agent cannot tell whether a request is in scope, it should refuse and escalate. Too many teams still reward agents for being “helpful” when the governed behavior should be “stop.”
This is the difference between an agent that looks clever in a demo and one you can safely operate in production. Most companies have some version of layer 2, but it is usually weak: an internal policy doc, a prompt that says “do not touch production,” or a manual approval step for risky actions.
That is not enough. A real layer 2 is runtime-enforced. It is machine-readable. It blocks before the action proceeds. Otherwise your boundaries are not boundaries. They are suggestions.
🧾 Layer 3: Output
This is the layer most teams skip entirely, and it is where governance starts becoming real. Layer 3 asks: when an agent makes a material decision, what evidence survives that decision? Not the polished PR description. Not the marketing line that the agent is “transparent.” The actual operating evidence.
For a meaningful agent decision, you should be able to recover:
• the decision trace ID
• the inputs the agent used
• the knowledge sources or references it relied on
• the confidence or certainty signal, where relevant
• the alternatives it considered, if the decision was material
• the structured outcome it produced
Without that, you get what many teams already have: code in main with no reliable explanation of why it exists. During an incident or an audit, missing layer 3 means your postmortem starts with Slack search and your compliance answer starts with “we think.”
Chat logs are not traceability. They are debris.
Slack archaeology is not auditability. It is reconstruction. The common objection is speed: “We cannot capture all that and still move fast.” That is usually false. You do not need a novel for every output. You need structured traces that are queryable later. Good output governance is not narrative-heavy. It is schema-heavy.
This layer is what turns a postmortem from detective fiction into engineering. It is also where a lot of audit pain comes from. When compliance asks who or what approved a change, which policy version was in force, or which evidence tier supported the decision, teams without layer 3 start digging through chat logs and screenshots. That is not governance. That is reconstruction. Layer 3 is how work becomes legible.
🔄 Layer 4: Change
Layer 3 tells you what the agent decided. Layer 4 tells you how that decision became a live change. Production incidents rarely happen at the decision point. They happen later, when a chain of systems turns an agent output into a customer impact.
Layer 4 connects the full timeline: request → plan → PR → CI → canary → deploy → runtime signals → incident → rollback.
Good layer 4 governance means:
• one correlation ID survives the full path
• artifact links are preserved, not copied loosely into notes
• every important edge in the timeline is signed or auditable
• missing links fail loud
• rollback readiness is verified before promotion
• behavior-affecting changes such as prompts, model versions, and tool schemas are versioned and promoted like code
This last point is where many otherwise disciplined engineering organizations get caught. They still think of “change” as source code only.
But in an AI-native operating model, prompt edits, routing-rule changes, tool-schema updates, retrieval-index swaps, and model-version changes all alter production behavior. A prompt edit that changes live behavior is a production change. A model swap that changes approval behavior is a production change. A tool-schema tweak that broadens what an agent can invoke is a production change.
If those changes bypass the same promotion discipline as code, you do not have change control. You have a split-brain deployment model: Git is governed, behavior is not. If system behavior can change outside the deployment pipeline, the system is not truly governed.
That is how teams end up debugging a Friday incident caused by a Tuesday prompt update that never went through review, never received a canary, and never got a rollback plan. Layer 4 is what makes reversibility real instead of rhetorical.
📈 Layer 5: Outcome
The final layer asks the question executives eventually care about anyway: Is this agent helping? Not “do developers like it?” Not “did we deploy more prompts this month?” Not “how many tokens did we buy?”
The real question is whether a specific capability version improved outcomes without pushing hidden costs somewhere else. That means measuring, at the capability-version level:
• accept rate
• rework rate
• escalation rate
• rollback rate
• time-to-done delta
• cost per task
• bounded-autonomy respect rate
• incident involvement
This is where most companies are still running on vibes. They know agents are “everywhere,” usage is up, and the CFO wants an ROI story. But they cannot say which agent version helped the checkout team, which one increased review burden, which one regressed after a model swap, or which one deserves broader scope next quarter.
Vibe-based evaluation is how mediocre agents get promoted, expensive agents get defended, and weak agents become “strategy.” It is also how costly mistakes become normal.
Without layer 5, autonomy growth becomes political. The loudest advocate wins. The shiniest demo wins. The vendor roadmap wins. With layer 5, governance becomes improvable: you can tighten scope, promote safer versions, retire weak capabilities, and make resource decisions on evidence instead of enthusiasm.
🏦 One incident, viewed through all five layers
A coding agent at a fintech company is asked to reduce checkout latency. It rewrites a hot query path, replaces a bounded lookup with a broader join, opens a PR, and passes the test suite. The tests validate correctness against fixture-sized data, not production-cardinality latency under concurrent load. A human reviewer approves it quickly. A deploy agent promotes the change through canary after seeing no error spike and no breach of its default p95 threshold. By late afternoon, checkout latency is worse, not better. The team rolls back.
If you only have layers 1 and 2, you can probably say which agent account opened the PR and that the agent technically had permission to edit that service. That is useful. It is also nowhere near enough.
Layer 1, Identity
You know the exact agent instance, owner, credential set, and capability version involved.
Layer 2, Action
You know whether the agent was actually in scope to modify checkout performance logic, whether it crossed any data or authority boundaries, and whether the reviewer threshold was appropriate for the service criticality.
Layer 3, Output
You can inspect the decision trace: what files it read, what evidence it used, whether it cited stale benchmarks, whether confidence was low, and whether it ignored conflicting signals.
Layer 4, Change
You can reconstruct the signed timeline from request to PR to CI to canary to deploy to rollback, and see whether a prompt or tool-schema change landed in the same window.
Layer 5, Outcome
You can compare this incident to the agent’s broader performance record: isolated miss, recent regression, pattern on high-criticality services, or a signal that autonomy should contract.
That is the difference between “we had an AI incident” and “we understand our operating system.” The first posture is reactive and expensive. The second is how you earn trust at speed.
🚧 Why most teams stall at layer 2?
Three reasons. First, layers 1 and 2 look like traditional governance. Security owns identity. Platform owns permissions. Leadership feels progress because the controls are visible.
Second, layers 3 and 4 force uncomfortable discipline: structured traces, signed timelines, version-pinned prompts, deploy-gate gap detection, rollback probes. This is real engineering work, and it exposes how much of the current process depends on informal behavior.
Third, layer 5 forces honesty. Once you measure agent effectiveness at the version level, some favorite tools stop looking impressive. Some autonomy expansions turn out to be premature. Some teams are not bottlenecked by coding speed at all, but by review, incident handling, or low-quality retrieval.
In other words, the deeper layers do not just govern agents. They govern management narratives. That is why they get postponed. It is also why they matter.
✅ A fast self-assessment
If you want to know where you stand, ask these five questions:
- Identity: Can we name every production-relevant agent, its owner, credentials, and scope today?
2. Action: Can we show what each agent must not do, and prove those boundaries are runtime-enforced?
3. Output: Can we reconstruct a material agent decision from traceable evidence instead of chat logs?
4. Change: Can we follow one correlation ID from request to deploy to rollback, including prompt and model changes?
5. Outcome: Can we show which agent capability versions are helping, hurting, or drifting?
If you answered “no” to any of those, that layer is weak. If you answered “no” to questions 3 through 5, you are in the most common state I see: basic controls in front, fog in the middle, and no reliable learning loop at the end.
That is a workable place to start. It is not a safe place to stay. More bluntly: if you cannot answer questions 3 through 5, you do not yet have trust at scale. You have exposure at scale.
🏗️ Where to build next?
Do not try to implement all five layers at once. If you are early, get layers 1 and 2 out of policy documents and into enforcement. If you already have that, do not jump straight to executive ROI dashboards. Build layers 3 and 4 first. Without them, outcome metrics will be noisy, contestable, and easy to game.
The practical build order for most teams is:
- unique agent identity and scoped credentials
2. runtime autonomy boundaries and explicit non-goals
3. decision traces for material agent actions
4. end-to-end change timelines with rollback readiness
5. capability-version effectiveness metrics
That order matters because each layer makes the next one credible.
🎯 The point of the model
The five-layer model is not a taxonomy exercise. It is a way to stop using the word “governance” so loosely that it loses operational meaning.
Governance is not a prompt telling the agent to be careful. Governance is not SSO plus a pull request template. Governance is not a responsible-AI committee that never looks at your deploy timeline.
Governance is the operating discipline that makes a non-human workforce legible, contained, reversible, and improvable. That is what lets engineering organizations scale agent use without scaling confusion at the same rate. And that is what makes trust at speed possible.
If Article 1 was the reframe, this is the diagnostic: most teams do not have an AI governance problem because they lack principles. They have an AI governance problem because their stack has only two layers and they are already betting production on all five.
That bet gets more expensive every quarter.
So end with the sentence that matters: Layers 1 and 2 control access. Layers 3, 4, and 5 create trust at scale.
If you cannot see the work, trace the change, and measure the outcome, you are not governing agents. You are operating on blind trust.
Comments
No comments yet. Be the first to comment.
Leave a comment