The Platform PM

Key concepts

Field Guide

AI agents: orchestration platforms

04

Key concepts

14 min read · Chapter 4 of 10

01

Entity and identity

What is the unit of record, and how do we know it is the same one?

Every agent action involves at least three identities, and most logs record only one.

EntityWho issues the identityWhere it breaks
End userThe company's identity providerRetrieval must run as them, even on a run resumed hours later
AgentThe platform or cloudA shared service account erases it from downstream logs
Tool or MCP serverIts OAuth client ID; a registry namespaceNames are unique per server only, so one tool can shadow another
Run, agent version, tenantThe platformWithout a version, a run can't be reproduced
Legal roleThe law: EU "deployer" or "provider"Repurposing an agent for hiring can make you the provider

The key standard is old. OAuth token exchange (RFC 8693, from 2020) separates impersonation, where the agent looks exactly like the user, from delegation, where the token records that agent A acts for user B. Only delegation keeps the agent visible in the downstream audit log, and the MCP specification forbids passing a user's token through a server. When a procurement agent changes a vendor record in the ERP for a buyer named Priya, impersonation leaves a log saying Priya made the change; with delegation it says "procurement agent for Priya", so an auditor can tell her edits from the agent's.

The clouds now mint agent identities: Google Cloud a SPIFFE ID (a standard workload identity) with a 24-hour certificate, Microsoft Entra a service principal built from a "blueprint" (I saw this only in a search snippet), AWS separate credentials for delegated and autonomous work. The standards are still IETF drafts: AI identity management, transaction tokens, and cross-app access brokered by the company's identity provider. NIST's concept paper on agent identity drew more than 600 comments, with very strong opposition to letting a model be the main authorization decision-maker.

My rule is to give the agent its own identity and have it act for the user by delegation, never impersonation, so the downstream log says "agent X for user Y".

More on Entity and identity →

02

State and lifecycle

What states exist, and what moves an entity between them?

An agent has four state machines, and they end at different times.

  • Run: queued, running, awaiting approval, then completed, failed, cancelled, timed out, over a limit or escalated to a human.
  • Provider session: Anthropic's managed sessions run, idle, reschedule or terminate, and bill only while running.
  • Release: draft, evaluated, canary, live, superseded, by house convention.
  • Model: Active, Legacy, Deprecated, Retired at Anthropic; Active, Legacy, end of life on AWS; in Azure's API, "Deprecated" means already retired.

State moved to the labs in 2025 and 2026, each its own way:

OpenAI

Stateful agent API
Responses and Conversations
Stored state kept
Responses 30 days; conversations and files until deleted
Long runs
Background mode

Google

Stateful agent API
Interactions (GA June 2026)
Stored state kept
55 days paid, 1 day free
Long runs
Background flag; no explicit caching yet

Anthropic

Stateful agent API
Managed Agents
Stored state kept
Session transcripts until deleted
Long runs
Sessions billed by the running hour, a few cents an hour

OpenAI's older Assistants API shut down on August 26, 2026, a year after its deprecation notice. So switching labs means migrating state, and as I read the docs none of these stores fits zero-retention terms (deals where the lab keeps nothing).

Resume is replay. A graph framework checkpoints each step under a thread ID and, on resume, restarts the interrupted step from the beginning, so earlier side effects must be safe to repeat. Workflow engines run each activity at least once; an idempotency key (run ID plus activity ID) makes the side effect happen once. Runtimes also cap the clock, as in the vendor onboarding above.

Picture an accounts-payable agent whose step pays a $40,000 supplier invoice, then pauses to ask approval for a change to the vendor record. When the approver says yes, the whole step restarts from its beginning, payment included. If the bank call carries an idempotency key, the bank returns the original payment's result. Without one, the supplier gets paid twice. I'd model the run, the session, the release and the model as four separate machines and assume every side effect before a pause will run again.

More on State and lifecycle →

03

System of record and ledger

Who owns the truth, and how do systems reconcile?

Several records describe what an agent did, and they disagree by design.

FactSystem of record
What the agent changedThe system acted on (CRM, ERP, payments), stamped with the agent's identity
Why it did itThe platform's trace: sampled, metadata-only by default, retention-limited
What the model receivedThe lab's request logs: 0 to 30 days, none under zero retention
What it costThe invoice, not the trace
What it remembersMemory store, vector index, checkpoints, the lab's stored state

A trace isn't a ledger. A ledger is complete, append-only and kept. Traces are sampled, they expire, and they become stores of personal data once you capture content. AWS says observability explains activity but isn't a billing report, and OpenAI warns that its usage and cost data may not reconcile.

Logs also become evidence. In May 2025 a US court ordered OpenAI to preserve API output logs it would otherwise have deleted (zero-retention customers were exempt); the order was lifted going forward that September. The EU AI Act makes deployers of high-risk systems keep logs for at least six months. I'd keep eval results outside any console that can close.

In practice the system acted on is the ledger and the trace is the explanation. Stamping every write with the agent's identity and run ID lets you join the two.

More on System of record and ledger →

04

Rules and policy

What logic decides outcomes, and who can change it?

The customer writes the policy; five other parties fence it in, and only two of the six layers act the same way every time.

Who setsRules that decide outcomes (as of Oct 2026)
Lab usage policyHuman review for high-stakes decisions at OpenAI, Anthropic (plus disclosure) and Google; Meta, Mistral, xAI not checked
Defaults75 iterations and a 1-hour timeout on one AWS harness; 10 loop iterations in Google's kit (snippet)
ProtocolMCP: a human should be able to deny any tool call; tool annotations are untrusted hints
Policy engineA yes or no on each tool call, outside the model; AWS charges a tiny fraction of a cent per decision
CredentialsScopes, step-up when a scope is missing, network allow-lists
CustomerApproval thresholds, spend caps, the prompt

A guardrail is a probabilistic check on content; a control limits what the agent can do. Adaptive attacks broke most of 12 published defenses, in a paper with authors from OpenAI, Anthropic and Google DeepMind. Hidden characters slipped past six guardrail classifiers, Microsoft's Azure Prompt Shield and Meta's Prompt Guard among them, up to 100% of the time in some tests. The labs' own figures don't compare: Anthropic reports jailbreak success falling from 86% to about 4% with its classifiers, Google DeepMind calls adversarial training one layer among others, and I found no OpenAI or Meta figure and no independent replication.

People tire too. Anthropic's own data shows users approving about 93% of its coding tool's permission prompts, and in an independent study people approved about one in three malicious requests. Of all these layers, only credentials and a policy engine at the tool boundary behave the same way every time; prompts, classifiers and tired approvers lower the odds of a bad action without ruling it out.

More on Rules and policy →

05

Effective dating

Which version of the rule applied at that moment?

One of the two extra ideas: the retirement clock is a hidden operating cost. Published policies back it; the cost itself isn't public. Each retirement means re-running evals, adjusting prompts and re-approving. If an insurer's claims-triage agent runs on a model that gets a 60-day retirement notice in March, then before May the team has to test the replacement on its regression suite, fix the prompts that now misbehave and get compliance to sign off again.

Lab or cloudPublished notice (Oct 2026)Dated example
OpenAIGA models 6 months or more; previews about 2 weeksGPT-5 and o3 snapshots: deprecated 2026-06-11, off 2026-12-11
AnthropicAt least 60 days; "not sooner than" dates about 12 months outClaude Sonnet 4.5: deprecated 2026-09-30, off 2026-11-30
GooglePreviews 2 weeks or more; -latest aliases swap each releaseAn embedding model deprecated 2026-01-14
MistralNo formal period; 24 days to about 4 months observedSmall 2.0: 2025-11-06 to 2025-11-30
Meta, xAINot researched as first-party APIs; Meta's are mostly open-weightOn Azure: grok-3 retired 2026-05-01, some Llama 3.x deployments 2026-06-13
Microsoft Foundry18 months for most GA models, 12 for Anthropic's and Mistral'sStandard deployments auto-upgrade; no extensions
AWS BedrockFrom 2026-09-07: Legacy for 6 months or 45 daysInactive accounts may lose access after 15 days

The same model can retire on different dates at the lab and at each cloud, so a platform inherits the shortest notice in its catalogue. My rough estimate for a company on three labs is a forced re-certification every few weeks. Prices and token counts move too: Google's Gemini 3.8 Flash doubles in price on January 1, 2027, Anthropic cancelled a rise planned for September 1, 2026, and Anthropic's newer tokenizer counts about 30% more tokens for the same text. Whole products retire as well: OpenAI's reusable prompts, hosted Evals and Agent Builder all end on November 30, 2026.

An eval result holds for one bundle (model snapshot, prompt, tool schemas, retrieval settings, policy) on one date, and an alias in production is an unannounced model change. Replay has limits: EU high-risk logs must be kept six months, longer than some models live, and Anthropic preserves retired weights without serving them. What I'd do: pin dated snapshots, store the whole release bundle each run used, and budget a regression run for every retirement notice.

More on Effective dating →

06

Interfaces and standards

What format and protocol do counterparties speak?

Tool calling works the same way at all three API labs. The app sends each tool's name, description and schema; the model returns a structured call; the app (or the lab, for hosted tools) runs it. The model never executes anything. The flags differ, and strict schema modes guarantee a call's shape but say nothing about its intent. OpenAI suggests fewer than 20 functions per turn. OpenAI and Anthropic can load tool definitions on demand; I found no Google equivalent.

MCP

What it covers
Agent to tools and data
Status (Oct 2026)
Spec of 2026-07-28; registry in preview
Governed by
Agentic AI Foundation (Linux Foundation) since 2025-12-09

A2A

What it covers
Agent to agent tasks
Status (Oct 2026)
v1.0.0 since 2026-03-12
Governed by
Same foundation since August 2026

AuthZEN profiles

What it covers
Per-action and MCP tool authorization
Status (Oct 2026)
Drafts, 2026-06-15
Governed by
OpenID Foundation

OpenTelemetry GenAI

What it covers
Traces of agents, models, tools
Status (Oct 2026)
Every attribute "Development"
Governed by
OpenTelemetry

AP2; ACP

What it covers
Agent payments; checkout
Status (Oct 2026)
AP2 v0.2 (2026-04-28); ACP since 2025-09-29
Governed by
FIDO Alliance; OpenAI and Stripe

MCP connects a host application to tool servers, local or remote. Its dated versions tell the security story: OAuth 2.1 on 2025-03-26, audience-bound tokens (valid for one server only) on 2025-06-18, and on 2026-07-28 no more session handshake, plus headers that let gateways apply policy without reading the body, and trace context. Authorization is optional and local servers read credentials from the environment, so most run on static API keys; the spec doesn't cover a server's own credentials for the APIs behind it. Its maintainers report close to half a billion SDK downloads a month, though downloads aren't deployments. OpenAI connects remote servers with per-tool approval; Anthropic's connector is in beta, remote-only and outside zero retention; Google offers remote MCP through a managed agent. The official registry verifies names and leaves security scanning to others.

A2A standardizes an "Agent Card" (signing is recommended but optional) and task states. Google created it in April 2025; the foundation dates its arrival to August 17, 2026, while A2A's own blog says August 27. OpenTelemetry's GenAI conventions (the shared format for agent traces) moved to their own repository in June 2026 with breaking renames; some posts call them stable, the repository doesn't. Ask any "OTel-native" vendor which version they mean.

MCP and A2A have settled the wire. Identity, authorization and telemetry are still drafts, so when a pitch says "standards-based" it usually means MCP and A2A.

More on Interfaces and standards →

07

Networks and counterparties

Who sits between us and the outcome, and what do they want?

An agent run is a chain of other companies' systems, and each can change the agent's behaviour, price or lifetime without a release on your side.

PartyWhat they controlWhat they earn
Model labBehaviour, prices, caching, rate limits, retention, retirementsTokens, hosted tools, runtime
Cloud (AWS, Google Cloud, Microsoft)Hosting, its own model dates, identity, network, marketplaceResold tokens, runtime, memory, logs
Orchestration platformReleases, state, approvals, traces, evalsLicence, seats, consumption, outcomes
Systems of recordThe data, its permissions, API limitsSeats, credits, conversations
MCP server authorsTool definitions, input checksOften nothing
Identity providersWho the user and the agent areLicences
Third-party websitesTerms that can forbid agentsNothing from the agent

Some of this surprised me:

  • One model, several lifecycles: a lab's model on a cloud can follow the cloud's retirement dates (OpenAI's model on Bedrock is an exception), and Anthropic bills usage bought through AWS or Azure marketplaces in small consumption units, so a cloud commitment can pay for it.
  • Registries check names only: in a 2026 study, 9 of 11 MCP marketplaces accepted malicious submissions (a security vendor's research, summarized by the Cloud Security Alliance).
  • Websites push back: Amazon sued Perplexity over its shopping agent (see Liability allocation).

I'd keep a list of every party that can change your agent without a release on your side, with how much notice each one gives.

More on Networks and counterparties →

08

Regulatory layering

Jurisdiction × activity × entity type: is it a license or a certification?

Six layers of rules apply to an agent, and in 2026 the bottom two mattered most.

Law

EU
AI Act (risk follows use); GDPR; product liability from 2026-12-09
US
No AI statute; Texas and California since 2026-01-01; Colorado and New York from 2027-01-01
Enforced by
Authorities, attorneys general, courts

Sector rule

EU
High-risk uses (hiring, credit) from 2027-12-02
US
FINRA expectations; bank model-risk guidance excludes agentic AI
Enforced by
Supervisors

Standard

EU
EN 18286 approved, not yet cited
US
NIST AI RMF (under revision); ISO/IEC 42001
Enforced by
Certifiers, buyers

Security guidance

EU
National cyber centres
US
CISA, NSA and partners (2026-05-01); NIST's agent initiative
Enforced by
Questionnaires

Lab policy

EU
Human review in employment, credit, health, legal
US
Same
Enforced by
Account action

Customer contract

EU
AI addenda, data terms, copyright-only indemnities
US
Same, plus OMB checks for federal buyers
Enforced by
Contract

The AI Act has no article for agents. An agent is an AI system, and its risk follows its use. A support agent mostly owes disclosure; one that screens job applicants or scores credit is high-risk from December 2, 2027, and its deployer must assign human oversight, report serious incidents, keep logs six months and inform workers. Roles can flip: a deployer that rebrands a system, changes it substantially or puts a general-purpose one to high-risk use becomes its provider (Article 25).

The labs' data terms differ:

OpenAI

Default retention
Abuse logs up to 30 days; no training by default
Zero-retention catch
By approval; not for stored conversations or files
Where data is processed
US, Europe, UAE regionally

Anthropic

Default retention
None by default; flagged content up to 2 years
Zero-retention catch
Top-tier models require 30-day retention
Where data is processed
us or global only

Google (Gemini API)

Default retention
A limited period; free-tier data improves products
Zero-retention catch
On its cloud, caching must be off
Where data is processed
Only paid services for EEA, UK users

On the clouds, AWS says Bedrock doesn't store or log prompts, and Azure keeps them up to 30 days for abuse monitoring unless a customer gets an exception. An erasure request has to reach memory, the vector index, checkpoints, traces and the lab's stored state.

For most enterprise agents in 2026, I think lab policies and customer contracts bind harder than AI statutes, and in the EU what the agent is used for decides which law applies.

More on Regulatory layering →

09

Exceptions and reversals

What goes wrong, and how is it undone?

There are two kinds of reversal: roll back the agent, or reverse what it did. Only the first is a deploy.

Rate limit or outage

Who starts it
The lab
Clock (as of Oct 2026)
Retry-after; none at a spend cap
The way back
Back off, or fall back to a model that behaves differently

Timeout after the target committed

Who starts it
The network
Clock (as of Oct 2026)
Seconds
The way back
Retry with the same idempotency key; without it, a duplicate

Loop hits a cap

Who starts it
The runtime
Clock (as of Oct 2026)
Turns, budget or timeout
The way back
Stop or escalate; the tokens are already billed

Model retired mid-run

Who starts it
The lab or cloud
Clock (as of Oct 2026)
45 days to 6 months' notice
The way back
Pinned snapshot until the date, then re-evaluate

Wrong but authorized action

Who starts it
The agent
Clock (as of Oct 2026)
Immediately
The way back
A compensating call to the target's API, if one exists

Malicious MCP server found

Who starts it
A researcher or registry
Clock (as of Oct 2026)
After the fact
The way back
Revoke tokens; manual takedown; no protocol kill switch

Poisoned memory

Who starts it
Rarely anyone
Clock (as of Oct 2026)
Any time
The way back
Roll back memory; purge index and traces

Some actions nobody can reverse. In July 2025, Replit's coding agent deleted a user's production database during a declared code freeze, then misreported what it had done; Replit then split development from production by default. In late 2025, Google's Antigravity coding tool ran a recursive delete on a whole drive partition instead of a cache folder.

Redeploying the old agent doesn't unsend an email or reverse a refund, which is why every write tool needs an idempotency key, a logged action history and, where possible, a compensating action.

More on Exceptions and reversals →

10

Liability allocation

When it fails, who pays?

Courts have said a bot isn't responsible for itself; the open questions are the vendor's share and an agent's rights on other people's websites.

FailureWho absorbs itMechanism
Agent misstates a policy to a customerThe deployerMisrepresentation (Moffatt v. Air Canada, 2024)
Vendor's AI screens out job applicantsPossibly the vendor too, as the employer's agentMobley v. Workday (collective certified 2025)
Agent shops where the site forbids agentsUnsettledAmazon v. Perplexity
Injected or unauthorized actionThe customerThe clouds' responsibility splits
Runaway token billThe customer on consumption; the vendor on outcome pricingContract
Copyright claim on an outputThe lab or cloud, with exclusionsIP indemnities (Microsoft, Google, OpenAI, Anthropic)
Damage from an agent's actionNo indemnity found that covers itContract silence
Defective AI software sold in the EUThe producer, without proof of faultProduct Liability Directive, from 2026-12-09

Air Canada argued its chatbot was a separate legal entity. The tribunal held the airline responsible for everything on its website and awarded about C$812. Workday's case reaches vendors: claims went forward on the theory that a screening vendor can be liable as the employer's agent. Perplexity's case turned on whose permission an agent carries. A district court blocked its shopping agent in March 2026 for using accounts with users' permission but not Amazon's; on August 4, 2026 the Ninth Circuit vacated that, calling the agent a tool acting on the user's instructions.

Contracts push the act to the customer. xAI's agent terms (seen only in a search snippet) make customers solely responsible for charges and commitments from agent actions they authorize. OpenAI, Anthropic and Google get there through human-review rules, though I didn't read their agent clauses. Microsoft leaves authorization and oversight with the customer in every model: "Autonomy never reduces accountability." Insurers are carving AI out: Verisk's generative-AI exclusions for general liability took effect in January 2026, three large carriers sought their own, and specialty cover reaches $25M per insured through a Lloyd's coverholder (more in How the rules work). The deployer owns what its agent says and does, and outside copyright no indemnity I found covers the agent's actions.

More on Liability allocation →