Skip to main content

Entity File Format

Every processkit primitive entity is stored as a Markdown file with a YAML frontmatter block. The format is inspired by Kubernetes objects — stable, versioned, and easy to parse.

Canonical shape

---
apiVersion: processkit.projectious.work/v1 # required — schema version
kind: WorkItem # required — primitive type
metadata: # required
id: BACK-calm-fox
created: 2026-04-06T10:30:00Z
updated: 2026-04-06T11:15:00Z
labels:
priority: high
spec: # required — entity-specific
title: "Add a release audit check"
state: in-progress
assignee: ACTOR-alice
---

# Body — freeform Markdown

Human-readable description, acceptance criteria, notes, history.

The four top-level keys

KeyRequiredPurpose
apiVersionyesSchema version. Always processkit.projectious.work/v1 at v0.x.
kindyesPrimitive type. Determines which schema validates spec.
metadatayesIdentity, timestamps, labels. Cross-cutting fields.
specyesEntity-specific fields. Validated by primitive schema.

metadata fields

FieldRequiredTypeNotes
idyesstringUnique identifier. Format configurable (see below).
createdyesISO 8601 datetimeUTC. Never edited after creation.
updatednoISO 8601 datetimeSet on modification.
labelsnomap[string]stringArbitrary key-value tags. Used by queries and filters.

ID formats

Configurable per project through installer or processkit settings:

id_formatid_slugExample
wordfalseBACK-calm-fox
wordtrueBACK-calm-fox-add-lint
uuidfalseBACK-550e8400-e29b-41d4
uuidtrueBACK-550e8400-add-lint

The prefix (BACK-, LOG-, DEC-, ...) is determined by the primitive kind and is not configurable. See Reference → ID Formats for details.

apiVersion policy

apiVersion follows the Kubernetes convention: <group>/<version>, where the group is a reverse-DNS name anchored on the owning organization. For processkit the group is processkit.projectious.work, making processkit a subcomponent of the projectious.work organization. This prevents name collisions if other organizations fork or publish compatible primitives under their own domains.

See Reference → apiVersion Policy for the evolution rules.

Authoritative source

The authoritative specification is src/context/schemas/ in the processkit repo. This page is a condensed overview; the shipped schema files define the authoritative spec contracts for each kind.