The core mapping
Agent lifecycle
The Agent mapping is direct:The one field a ported request must add
Checkfu serves a CMA-shaped managed-agent contract through several agent-loop implementations, so an Agent names the one it runs on.harness is required
on create and has no default. A request body ported from Claude Managed Agents
therefore needs exactly one added line:
name@3); it is frozen into
every AgentVersion, and sessions.create can override it for a single Session
through agent: { type: "agent_with_overrides", … }. The grammar also admits a
Workspace HarnessProfile name. Session admission resolves a profile-only bare
name to its current version, or name@3 to that exact profile version. A bare
name shared with the deployed catalog is ambiguous; pin the Workspace profile
version to select it. The profile must have current signature-verified
conformance evidence for the selected Environment, and its release must be
launchable in this deployment. Otherwise Session creation returns a typed
conflict naming the missing qualification; it never substitutes another
harness.
Availability still gates execution: naming a harness this deployment cannot
launch yet is accepted on create and refused at Session admission, with the
refusal naming the harness you chose. Checkfu never substitutes a different
one.
The example model is BYOK. Add an Anthropic provider key in Model
credentials and pin it with the
Checkfu extension fields model.provider and model.model_credential_id
before starting a Session; see Model
access. A CMA client that sends
only model.id is unchanged: that model routes on Checkfu-managed supply, which
must serve it.
A Session can select the current AgentVersion by Agent ID or pin an exact
Version:
Environments and Workspaces
An Environment is the reusable sandbox or self-hosted execution configuration used by Sessions. Multiple Sessions can select the same Environment while receiving separate execution custody. Do not map development, staging, or production onto Environment names as isolation boundaries. In Checkfu those are separate Workspaces. A self-hosted Environment may widen selection visibility to authorized accounts in the same Tenant or Organization, but it never shares Session sandboxes or data.Vaults, Connections, and governance
Passvault_ids when a Session needs Credential custody:
session.json, then run checkfu session create --input @session.json:
--input against the same Session operation as the API and
prints the created Session ID. A referenced resource still needs the applicable
permission and must pass Session admission.
A Vault owns secret-bearing Credential custody. A Credential is authorization
material with no public read-back value. A Connection is the nonsecret governed
link to one external account or provider capability; it is not the token,
password, API key, or OAuth grant.
Every connected effect follows the same trust path:
Tools, MCP, Skills, Files, and Memory
Move reusable configuration to the resource that owns it:- declare tools and MCP servers on the Agent;
- register third-party access through nonsecret Connections and Vault-owned Credential custody;
- put reusable procedures in versioned Skills;
- upload durable content as Files and attach it through Session resources;
- put durable learned state in MemoryStores rather than in a harness-specific transcript.
Composition and desired state
Map scheduled or event-triggered autonomous work to Automation. Use AutomationGraph for composition while each specialized resource retains its own runtime authority. UI, HTTP, SDK, CLI, and MCP are interfaces over the same canonical resource operations, not independent owners. YAML and Git may supply desired state, but they do not become a second control plane, reconciler, scheduler, policy engine, or transcript. A resource has zero or one active desired-state owner. References and proposals claim nothing; adopting or transferring an existing resource requires an explicit, audited handoff. See Author an Agent project for the current source-authoring workflow.Parity and availability
In-Session multi-agent orchestration (coordinator rosters, child SessionThreads, and the advisor) is a deliberate departure, not a gap: Checkfu composes agents through the Automation graph, and an Outcome is coordination between two agents done through that graph. Availability is a separate question: a behavior may still be restricted by provider qualification or rollout policy in a particular installation. Review capability status before depending on a managed runtime in production.Migration sequence
- Create the target Workspace and Environment.
- Create each Agent. The first create produces AgentVersion 1.
- Move Skills, Files, MemoryStores, Connections, Vaults, and Credentials into their corresponding resources.
- Recreate PermissionAssignments, ActionPolicies, and approval behavior explicitly.
- Create a pinned Session and compare its durable event history with your source behavior.
- Move triggers to Automations only after direct Session execution is correct.
Create and version an Agent
Create the authored resource and inspect immutable AgentVersion history.
Environments
Configure the reusable execution environment selected by a Session.
Capabilities
Map Vaults, Credentials, Connections, Files, Memory, Skills, and tools.
Tenancy and governance
Map identity, PermissionAssignments, ActionPolicies, approvals, revocation, and Audit.
Author an Agent project
Keep desired state behind one active authoring owner.
Migrate from your own loop
Replace a hand-built loop with Session creation, events, and durable history.