codex catalog entry from nothing to a settled
Session: build the pinned generic Vercel image, adopt it as a HarnessProfile, pass
conformance for your exact tuple, publish an Agent, and read the settled
event log. Every step uses the public surface — the same
POST /v1/harness-profiles + verification path any custom image takes.
Concept truth lives in
Harnesses and models;
this page is the journey.
Where this harness stands
- The catalog entry is
image_required: Checkfu publishes no ready default, so you build the exact Codex recipe in the generic Vercel workload and adopt its digest. - Vercel’s maintained HarnessAgent adapter owns the pinned Codex app-server mapping. Checkfu owns the generic ACP boundary, sandbox, policy, and log.
- The adapter implements native mid-turn steering and cooperative interrupt, but the catalog ceiling keeps the stock ACP degradations until exact-adapter signed conformance evidence exists; declarations alone never raise an advertised ceiling.
- Checkfu has not yet recorded a default-tuple ConformanceReport for this entry, so it does not yet clear the full support ladder. The verification below produces that evidence for your tuple; until one passes, ordinary Runs on the profile are refused by design.
Build the pinned Vercel image
The generic builder derives the exact Codex adapter and runtime closure
from the reviewed Vercel cohort and validates every lock version and
integrity before producing the unprivileged final image.The command builds the image, publishes it through an owned local
registry so the result is content-addressed, verifies it against the
published image contract, and prints the immutable
name@sha256:...
reference. Keep it:Adopt the image as a HarnessProfile
version: 1 and the pinned
driver_version: "checkfu:acp-v1@1". The profile admits nothing yet —
custom OCI profiles are fail-closed until their exact runtime tuple
passes conformance.Verify conformance for your exact tuple
Select the SandboxProfile and ModelRoutingProfile the Agent will actually use.
One constraint is specific to this harness: the adapter writes
Verification queues a conformance Run that an enrolled Runner claims and
executes against the real image. The passing ConformanceReport is pinned
to the image digest, profile version, driver, sandbox, model routing profile,
policy, and suite revision; changing any of them — or reaching the
report’s 30-day expiry — requires fresh evidence. On a durable sandbox
the report records disk checkpointing with Codex thread resume: the
adapter persists rollouts and thread markers, so a continued Session
resumes from the sandbox filesystem instead of rebuilding blind.
wire_api = "responses" into the Codex configuration it generates, so
the model routing profile must route an OpenAI-responses-dialect model — an
Anthropic-only profile is unreachable for it, and admission says so
instead of letting the turn fail at the model gateway.Create and publish an Agent
With a passing report, the profile is an ordinary harness name an Agent
can reference:Publish version 1 with
cURL
POST /v1/agents/{id}/releases and grant the
Agent use_harness, use_model, and use_environment on the three
governed resources, plus invoke for your Principal — the exact
sequence Create and publish an Agent
walks. Session admission intentionally fails closed while any one PermissionAssignment
is absent.Run a Session and read the settled log
run.completed
followed by session.status_idle, with the agent.message content and
the model-routing, usage, and sandbox-cleanup evidence recorded between
run.created and settlement. The event catalog
names every type you will see.Next steps
Harnesses and models
The adoption-path model, capability ceilings, and conformance evidence rules.
Checkpoints
How disk checkpoints and thread resume carry a Session across idle time.