Skip to main content

Agents and their lifecycle

An agent is anything Bairav governs: an AI agent, an MCP server, a local model runtime, an IDE assistant or an application that calls a model. Each agent is in exactly one lifecycle state.

discovered ──> under_review ──approve──> approved / active ──suspend──> suspended
│ reject │ block │ reactivate
v v v
rejected <──────────────── blocked back to active
└──────── re-review (a fresh intake decision) ───────────┘
StateWhere it livesMeaning
under_reviewIntake queueDiscovered, waiting for a decision
approved / activeRegistryGoverned and allowed to act
suspendedQuarantineHeld. Reversible with Reactivate.
blockedQuarantineHeld. Not reversible with Reactivate; it needs a fresh intake decision (Re-review).
rejectedQuarantineRefused at intake. Can be re-reviewed.

Suspended, blocked and rejected agents cannot act: the gateway refuses their calls and the sensor stops them on the host. They are excluded from coverage figures.

Transitions​

ActionFromReasonEndpoint
Approveunder_reviewAn accountable owner is requiredPOST /api/intake/{id}/approve
Rejectunder_reviewRequired (tenant setting, on by default)POST /api/intake/{id}/reject
Suspendapproved or activeOptionalPOST /api/agents/{id}/suspend
Blockapproved, active or suspendedRequiredPOST /api/agents/{id}/block
Reactivatesuspended onlyNonePOST /api/agents/{id}/reactivate
Re-reviewrejected or blockedNonePOST /api/agents/{id}/rereview

Approve, reject and the other decisions need the admin or reviewer role. Every transition writes one entry to the Audit ledger with who did it, why and when.

Agent ID​

Every agent gets a permanent ID of the form AGT-######. It is assigned once, at the first decision (approve or reject), never at discovery, and is never reused. Until then screens say "Agent ID pending intake decision".

How agents are discovered​

SourceWhat happens
SensorReports agents, MCP servers, models and IDEs found on a host
AI GatewayThe first call from a new X-Bairav-Agent name creates an Intake queue entry and a notification
Salesforce AgentforceAgents in a connected org appear in the Intake queue
Shadow-agent discoveryUnregistered agents inferred from events become candidates to triage

Ownership​

Approving an agent requires an accountable owner (name and department); the server enforces this with a 422, not just the console. Owners can decide access requests for their agents in the Agent catalog. Nobody can decide their own request.