What moves where
A Vault owns secret-bearing Credential custody. A Connection is the nonsecret
governed link to an external account or provider capability. Credential values
never enter Agent or AgentVersion configuration, model context, harness
configuration, Session events, Files, Memory, tool arguments, or the sandbox.
A connected effect follows PermissionAssignment → ActionPolicy → ActionApproval
when required, then a live authority and revocation recheck before provider I/O.
An uncertain external effect never becomes safe merely because the platform can
retry execution. Reconcile it with the provider or use an operation-specific
idempotency key before trying again. See Capabilities
and Tenancy and governance for the current
resource and trust surfaces.
Before
A typical loop mixes configuration, execution, credentials, and history in one process:After
Create the Agent and Environment once. For each task, create a Session with an initial event. This exact request selects an AgentVersion and Environment at admission:initial_events combines Session creation and the first user
event. You can also create the Session first and send events later.
A non-requires_action session.status_idle settles the current Turn. It does
not erase or replace the Session. Because settlement lives in the event log, a
client that disconnects can resume reading durable history rather than infer
the result from a lost HTTP response.
Admission replaces implicit configuration
At Session creation, Checkfu:- resolves and freezes the current or explicitly pinned AgentVersion;
- freezes the selected Environment admission authority;
- records the admitted resource, Connection, and Vault references.
The harness is not the product model
Your loop still exists, but it runs inside the selected harness. Managed and customer-operated harnesses use the same Agent, Environment, and Session model. The harness may prepare context and invoke tools; it does not own a separate transcript or recovery authority. Your application becomes responsible for a smaller interface:- author Agents and supporting resources through one active desired-state owner;
- create and drive Sessions;
- consume durable events and decisions.
Migration order
- Create the Environment. Reproduce the minimum packages, networking, and execution mode your task needs.
- Create the Agent. Move the system instructions and model choice first. Creation produces AgentVersion 1.
- Create a pinned Session. Use an exact AgentVersion until behavior is stable and compare the durable event history.
- Move credentials and tools. Create Vaults, Credentials, and Connections. Assign PermissionAssignments before adding ActionPolicies and approval behavior.
- Move files, Skills, and Memory. Keep durable inputs and learned state out of harness-specific history.
- Move triggers last. Replace cron or webhook wrappers with Automations after direct Session execution is correct.
Run your first Session
Create the core resources and execute one task end to end.
Sessions and Runs
Understand event history, Turns, Runs, settlement, and continuation.
Capabilities
Move Connections and resources behind the shared trust boundary.
Tenancy and governance
Add PermissionAssignments, ActionPolicies, ActionApprovals, revocation, and Audit.
Author an Agent project
Keep source-backed desired state behind one active authoring owner.
Resume a stream
Reconnect to durable events without treating the stream as authority.