Skip to main content
A custom ACP integration packages an agent loop as an immutable workload. ACP is an execution protocol inside the selected harness lane. It does not create a second Agent resource, Session authority, transcript, approval system, or recovery model. Start with the quickstart. In one Workspace, create or update an Agent, select an Environment, and start a Session. Session admission freezes the resolved AgentVersion and Environment authority. Every later interaction is read from and appended to the Session event log.

What this example demonstrates

  1. Build the customer harness as an immutable, content-addressed OCI artifact.
  2. Adopt the exact artifact only in a deployment where the custom-harness capability is available and qualified.
  3. Select the harness lane through Agent and Environment configuration. A material Agent change creates a new AgentVersion for future Sessions.
  4. Start an ordinary Checkfu Session. The trusted driver supervises ACP and translates accepted observations into canonical Session events.
  5. Keep model access, tools, approvals, Usage, credentials, recovery, and retention under Checkfu authority regardless of the harness implementation.
An ACP process may return its own protocol session handle. That handle is opaque lane-local state. It is not a Checkfu Session ID and it cannot become transcript or recovery authority. A harness-native transcript is at most an observation source that the driver normalizes into the Checkfu event log.

Security and recovery boundaries

Customer code, dependencies, protocol shims, and install hooks are adversarial workload code. They run inside the workload boundary, not inside the trusted Runner. Raw provider Credentials and reusable model-provider keys do not enter the harness, model context, events, or sandbox. The harness receives only short-lived authority appropriate to the admitted Run. Standard retention can preserve accepted Session events and explicitly retained custody. Under ZDR, admitted execution can stream only through eligible live custody, and execution content is not written to durable sinks. Recovery restores only qualified checkpoints or retained artifacts; it does not infer missing sandbox state. Usage, not harness logs, is authoritative for Budget enforcement. Check capability status before presenting custom OCI execution as supported.

Pinned source boundary

The ACP template distributed by checkfu harness init acp delegates framing and dispatch to the official ACP SDK. Its protocol handle remains process-local and never replaces the Checkfu Session. It declares no session restoration or MCP transport:
path=apps/cli/templates/acp/server.mjs
The template refuses a nonempty MCP-server or additional-directory list in session/new. Extend your own agent with the actual tool connection and qualify the release before declaring those capabilities. See Bring a custom harness for packaging and the complete journey.

What this example omits

The maintained starter and its local protocol controls are not production-support evidence. This page does not claim conformance, a hosted provider, customer-hosted topology, native checkpoint support, or richer ACP features beyond the exact capability a deployment has verified.