Skip to main content

Binding

A scoped or time-bounded relationship between two entities — the junction-table pattern promoted to a first-class primitive. Use when a relationship has scope, time, or its own attributes; use a frontmatter cross-reference field otherwise.

ID prefixBIND
State machinenone
MCP serverbinding-management
Skillbinding-management (Layer 2)

When to use a Binding vs a cross-reference

SituationUse
"A blocks B"frontmatter blocks: [BACK-...]
"Alice is a developer" (globally)Actor's roles: [ROLE-...]
"Alice is tech lead on Project X for Q2 2026"Binding
"Security gate applies to this release WorkItem on main"Binding
"Sprint 7 scopes these work items for Apr 1-14"Binding

Fields

Required

FieldTypeDescription
typestringFreeform binding type (see conventions below)
subjectstringEntity on the "from" side
targetstringEntity on the "to" side

Optional

FieldTypeDescription
subject_kindstringPrimitive kind of subject
target_kindstringPrimitive kind of target
scopeSCOPE-*Scope within which the binding applies
valid_fromstringWhen binding starts (date or ISO 8601 datetime)
valid_untilstringWhen binding stops
conditionsobjectFreeform constraints attached to binding
descriptionstringOne-line human-readable summary

Type conventions

TypeMeaning
role-assignmentActor → Role (scoped)
work-assignmentActor → WorkItem (assigned to sprint/scope)
workitem-gateWorkItem → Gate (this gate guards this run or task)
scope-gateScope → Gate (this gate applies within this scope)
time-windowEntity → Artifact/Scope (time or recurrence contract)
budget-applicationArtifact → WorkItem/Scope (cost policy applies here)
constraint-scopeConstraint → Scope (constraint applies in this scope)
category-assignmentEntity → Category value

Process and Schedule are not v2 Binding endpoints. Legacy process-gate, process-scope, and schedule-scope records should be migrated to concrete WorkItem, Scope, Artifact, Gate, or time-window relationships.

Example

---
apiVersion: processkit.projectious.work/v1
kind: Binding
metadata:
id: BIND-20260411_0908-WarmOak-alice-techlead-q2
created: '2026-04-11T09:08:00Z'
spec:
type: role-assignment
subject: ACTOR-20260411_0906-alice
target: ROLE-20260411_0907-ClearOak-tech-lead
scope: SCOPE-20260410_q2-2026
valid_from: '2026-04-01'
valid_until: '2026-06-30'
description: Alice is tech lead on the processkit project for Q2 2026
---

Notes

  • end_binding closes a binding by setting valid_until to the current datetime — use this rather than deleting the entity.
  • resolve_bindings_for returns all active bindings for a given subject, useful for "who is currently assigned to what" queries.