Skip to content

Extended URN Scheme (v3.2)

v3.2 defines a complete URN scheme for all 19 entity types. CKP URNs are semantic addresses -- they coexist with SPIFFE IDs and serve a different purpose:

  • SPIFFE authenticates workloads
  • CKP URNs address knowledge graph entities and are resolvable to filesystem paths

Continuant URNs (8 types)

TypePatternExample
Kernelckp://Kernel#{Name}:{Version}ckp://Kernel#CK.Task:v1.0
Actorckp://Actor#{Name}ckp://Actor#operator
Roleckp://Role#{Name}ckp://Role#ck-owner
Edgeckp://Edge#{Predicate}ckp://Edge#COMPOSES
Goalckp://Goal#{ID}:{Version}ckp://Goal#G001:v1.0
Domainckp://Domain#{Name}ckp://Domain#example.org
Projectckp://Project#{Name}ckp://Project#ExampleProject
Grantckp://Grant#{Kernel}-{Identity}ckp://Grant#CK.Task-anon

Occurrent URNs (11 types)

TypePatternExample
Processckp://Process#{Type}-{TimestampMs}-{Hash}ckp://Process#deploy-1773518402000-3fff0e38
Taskckp://Task#{InstanceID}ckp://Task#i-task-1773518402
Instanceckp://Instance#{InstanceID}ckp://Instance#i-tx-3fff0e38-1773518402
Eventckp://Event#{Kernel}-{Type}-{TimestampMs}ckp://Event#CK.Task-status-1773518402000
Transactionckp://Transaction#{TimestampMs}-{Hash}ckp://Transaction#1773518402000-abc123
Messageckp://Message#{Type}-{TimestampMs}-{Kernel}ckp://Message#status-1773518402000-CK.Task
Checkckp://Check#{CheckName}-{Kernel}-{TimestampMs}ckp://Check#identity-CK.Task-1773518402000
Actionckp://Action#{Kernel}.{ActionName}[-{TimestampMs}]ckp://Action#CK.Task.task.create-1773518402000
Deploymentckp://Deployment#{Type}-{TimestampMs}-{Hash}ckp://Deployment#apply-1773518402000-abc123
Transferckp://Transfer#{Type}-{TimestampMs}-{Hash}ckp://Transfer#regenerate-1773518402000-abc123
Mutationckp://Mutation#{Action}-{Target}-{TimestampMs}ckp://Mutation#task.update-T002-1773518402000

URNs become resolvable addresses via the URN resolver -- path segments navigate the filesystem tree rooted at the kernel's storage/:

ckp://Kernel#CK.Task:v1.0/spid                -> kernel_id UUID (.ck-guid)
ckp://Kernel#CK.Task:v1.0/actions              -> all declared actions (SKILL.md)
ckp://Kernel#CK.Task:v1.0/actions/task.create  -> specific action spec
ckp://Kernel#CK.Task:v1.0/instances            -> storage/ instance list
ckp://Kernel#CK.Task:v1.0/instances?since=24h  -> recent instances (filesystem scan)
ckp://Kernel#CK.Task:v1.0/edges                -> outbound edges
ckp://Kernel#CK.Task:v1.0/grants               -> grants block
ckp://Kernel#CK.Task:v1.0/tasks?status=pending -> pending tasks targeting this CK

Version Format

Version format: vX.Y (short) or vX.Y.Z (full semver) -- both valid.

SPIFFE URN vs CKP URN

These two identity systems coexist with different purposes:

  • spiffe://{domain}/ck/CK.Task/{guid} -- workload authentication (SPIRE)
  • ckp://Kernel#CK.Task:v1.0 -- semantic addressing (URN resolver)

Released under the MIT License.