v0.x This is the released v0.x line — the version that ships in release tarballs and is dogfooded in this repository. The v1.0 rebuild is documented separately in the v1.x preview.

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.