Agent Baseline, applied to the software factory

Reference architecture

The Secure Software Factory

Subject
The software factory
Version
1 · 13 October 2026
Status
Open for comment

A software factory uses AI agents to turn a prompt, ticket or specification into tested code, and increasingly to deploy and operate it. This architecture keeps what an agent decides apart from what it may do: the agent proposes, policy authorizes, and infrastructure enforces.

Four boundaries

An agent needs room to reason and try things. Four boundaries enforce what it can actually do, from outside its own decisions, whether it cooperates or not.

  1. Sandbox where its code runs
  2. Network which systems and operations it can reach
  3. Supply chain which components and sources it can use
  4. Identity and access who the agent acts for and what it may do
SANDBOXSupply chain firewallapproved versions the profile allowsProfilethe most it can ever doAgentuntrusted, no credentialsEgress proxydefault-deny,attaches credentialsDownstreamonly authorizedoperationsEverything elsedeniedTrusted contextidentity, task,delegation, policyRuntime authorization serviceauthorizes each task’s scopeApprovalautomatic or a personTamper-evident recordgrants, admissions, process starts, requests, linked by runconfiguresat launchchecks componentschecks packagesbounds every decisionproposes scopeauthorized scopehigh-impact actions
SANDBOXProfilethe most it can ever doSupply chain firewallapproved versions the profile allowsAgentuntrusted,no credentialsEgress proxydefault-deny,attaches credentialsRuntime authorization serviceauthorizes each task’s scopeTrusted contextidentity, task,delegation, policyApprovalautomatic or a personDownstreamonly authorized operationsEverything elsedeniedTamper-evident recordgrants, admissions, process starts,requests, linked by runbounds every decisionconfigures at launchchecks componentschecks packagesproposes scopeauthorized scopehigh-impact actions

Take an incident agent allowed to read one service’s logs for the last hour. If it decides it needs another service’s logs, the proxy blocks the request until a new authorization decision grants them. Tests are a separate check: code can pass every one and still come from an agent that reached too far.

Three levels of autonomy

The three levels differ in who chooses the next step: a developer, a predefined workflow, or an agent. The four boundaries stay the same. What grows is the share of supervision the infrastructure takes over from people.

Select a level.

Level 1 Human-Orchestrated

A developer chooses the next step and reviews what the agent produces.

DEVELOPER’S MACHINEor a remote environmentDeveloperkicks off each run4Runtime authorization serviceauthorizes each task’s scopeauthorized scope1SANDBOXAgent harnessthe coding agent, configured by its profileSkillsToolsHooksContext filesinner loop, until it passesproposes scope2Egressproxydefault-deny43Supply chainfirewallapproved, scannedModel gatewayapproved modelsand budgetsDownstreamsource control,APIs, MCP serversopensPull requestreviewed bythe developerOUTER LOOPthe developer drives the next runand updates the configurationObservabilityharness logs, identity and proxy recordsnew at Level 1as in Figure 2Enforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and access
Developerkicks off each run4Runtime authorizationserviceauthorizes eachtask’s scopeauthorizedscopeDEVELOPER’S MACHINEor a remote environment1SANDBOXAgent harnessthe coding agent,configured byits profileSkillsToolsHooksContext filesinner loop,until it passesproposesscope2Egressproxydefault-deny4Observabilityharness logs, identity and proxy records3Supply chain firewallapproved, scannedModel gatewayapproved models and budgetsDownstreamsource control, APIs, MCP serversopensPull requestreviewed by the developerOUTER LOOPthe developer drives the next runand updates the configurationEnforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and accessnew at Level 1as in Figure 2
Figure 3 Level 1, where a developer gives an agent room to work without giving it everything the developer can reach

Level 2 Workflow-Orchestrated

A predefined workflow chooses the next step, and the factory becomes a shared service.

THE FACTORYa shared serviceRequestor an event,a scheduleor a ticketWorkflowpredefined steps for each requestschedules runsDurable execution layerCI/CD or a step runnerthat starts each agent4Runtime authorization serviceauthorizes each task’s scopeauthorized scope1SANDBOX PER RUNAgent harnessthe coding agent, configured by its profileSkillsToolsHooksContext filesinner loop, until it passesproposes scope2Egressproxydefault-deny43Supply chainfirewallapproved, scannedModel gatewayapproved modelsand budgetsDownstreamsource control,APIs, MCP serversopensPull requestrevieweduntil readyApprovalautomatic or a personMergeapprovedchangesOUTER LOOPreview feedbackdrives the next runObservabilityall four boundaries’ records, linked by runnew at Level 2as at Level 1Enforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and access
Requestor an event, a schedule or a ticketWorkflowpredefined steps for each requestschedules runsDurable executionlayerCI/CD or a steprunner that startseach agent4Runtime authorizationserviceauthorizes eachtask’s scopeauthorizedscopeTHE FACTORYa shared service1SANDBOX PER RUNAgent harnessthe coding agent,configured byits profileSkillsToolsHooksContext filesinner loop,until it passesproposesscope2Egressproxydefault-deny4Observabilityall four boundaries’ records, by run3Supply chain firewallapproved, scannedModel gatewayapproved models and budgetsDownstreamsource control, APIs, MCP serversopensPull requestreviewed until readyApprovalautomatic or a personMergeapproved changesOUTER LOOPreview feedback drives the next runEnforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and accessnew at Level 2as at Level 1
Figure 4 Level 2, where a workflow orchestrates

Level 3 Agent-Orchestrated

An agent chooses the next step, so its plans must not become its permissions.

THE FACTORYRequestspeople, ticketsOrchestrator agentplans the work and divides it into tasksContexttickets, code,conversationsschedules tasksproposes profileand task scopeDurable execution layerCI/CD or a step runnerthat starts each agent4Runtime authorization serviceauthorizes each task’s scopeauthorized scopeeach part to its own agent,with narrowed authority1TASK 1Coding agentown identity,profile andtask scopeinner loop2Egressproxydefault-deny41TASK 2Coding agentown identity,profile andtask scopeinner loop2Egressproxydefault-deny4Monitoring agentwatches workin progressMonitoring agentwatches workin progressObservabilitytelemetry and evals across all runs3Supply chainfirewallapproved, scannedModel gatewayapproved modelsand budgetsDownstreamsource control,APIs, MCP serversopensPull requestrevieweduntil readyApprovalautomatic or a personDeploymerged, can berolled backProductionemits incidentsand metricsSignalsincidents,scanners,monitoring,evalsOUTER LOOPnew worknew at Level 3as at Level 2Enforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and access
Requestspeople, ticketsContexttickets, code,conversationsOrchestrator agentplans the work and divides it into tasksschedules tasksDurable executionlayerCI/CD or a steprunner that startseach agentproposes profileand task scope4Runtime authorizationserviceauthorizes eachtask’s scopeauthorizedscopeTHE FACTORYeach part to its own agent,with narrowed authority1TASK 1 SANDBOXCoding agentown identity, profileand task scopeinner loop,until it passes2Egressproxydefault-deny4Monitoring agentwatches work in progress1TASK 2 SANDBOXCoding agentown identity, profileand task scopeinner loop,until it passes2Egressproxydefault-deny4Monitoring agentwatches work in progressObservabilitytelemetry and evals across all runs3Supply chain firewallapproved, scannedModel gatewayapproved models and budgetsDownstreamsource control, APIs, MCP serversopensPull requestreviewed until readyApprovalautomatic or a personDeploymerged, can be rolled backProductionemits incidents and metricsSignalsincidents, scanners, monitoring, evalsOUTER LOOPnew workEnforced outside the agent’s loop:1Sandbox2Network3Supply chain4Identity and accessnew at Level 3as at Level 2
Figure 5 Level 3, where an agent orchestrates but can’t grant itself access

Read the paper

The paper starts from real failures, like an agent that deleted a production database in nine seconds, and names the control each one lacked. It then shows what to build at each level, mapped to Agent Baseline’s controls.

Read the paper (PDF) · Source on GitHub · Share feedback

Who wrote it

Drafted by Eli Aleyner Docker, Ranti Familusi Docker, Allie Howe Keycard, Ian Livingstone Keycard, William Manning Docker, Andy McMahon Barclays, Ahmad Nassri Socket, and Aaron Stanley Secure Theory.