Skip to main content
Version: MVP

Migration maps

3 min readReferenceUpdated 2026-05-23

What you'll find here

The contracts that describe how adjacent runtime objects and source fields become Craik surfaces during migration dry-runs.

Importers use maps during dry runs before mutating state.

Object maps classify each source object as importable, partial, manual, unsupported, or skipped-secret. Field maps describe the lower-level field transforms used by importers after an object is accepted.

Records

Contract
Records
Fields
MigrationFieldMap
per field
Source field · target Craik field · support level (supported / partial / unsupported) · transformation notes · redaction requirement · unsupported reason.
MigrationMap
per surface
Map id · surface · source name · field maps · compatibility notes · policy envelope id · evidence ids · receipt ids.
MigrationObjectMap
per source object
Source id · source type · target schema · target id · status · required actions · warnings · unsupported reason · skipped secret field paths.
MigrationPlanMap
per source
Plan id · source name · object maps · policy envelope id · evidence ids · receipt ids · status counts.

Object Status

Status
Meaning
Operator action
importable
automatic
Craik has a direct target schema and stable target id.
partial
review
Metadata can migrate, but the operator must validate credentials, private facts, unsupported tool calls, or other boundary details.
manual
operator-led
The object maps to a Craik surface, but enabling it requires explicit operator review.
unsupported
blocked
No target schema is defined; the object remains in the report for manual assessment.
skipped-secret
secret boundary
The object contains secret-like fields and waits for secret migration or manual reconfiguration.

Covered Surfaces

The default object maps cover agents, profiles and personas, provider and model config, model aliases, fallback chains, channel accounts and bindings, skills, memory files, sessions, schedules, sandbox config, gateway config, and approval/security posture.

Boundary

Secrets stay outside imports.

Secrets, credentials, private payloads, and local-only paths should be marked unsupported or redacted — not copied.

Migration maps preserve policy, evidence, and receipt links so future importers can explain why a field was transformed, skipped, or blocked.

What's next