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.

Constraint

An explicit rule or limit the project must respect — budget ceiling, latency SLO, regulatory requirement, team capacity cap. Violations are LogEntries; constraints themselves do not change when violated.

ID prefixCONST
State machinenone
MCP servernone
Skillconstraint-management (Layer 3)

Fields

Required

FieldTypeDescription
namestringKebab-case identifier
descriptionstringOne-sentence statement of the constraint
kindenumbudget · slo · regulatory · capacity · dependency · policy · other
severityenumhard · soft · advisory

Optional

FieldTypeDescription
measurementstringHow to determine if the constraint is met
targetstringThreshold or boundary value
sourcestringWhere the constraint comes from (contract, regulation, decision)
activebooleanfalse = no longer in effect (default: true)
related_decisionsDEC-*[]Decisions that established or relaxed the constraint

Severity levels

LevelMeaning
hardCannot violate — work stops until resolved
softFlagged and tracked; can be overridden with justification
advisoryInformational — violation noted but no process impact

Example

---
apiVersion: processkit.projectious.work/v1
kind: Constraint
metadata:
  id: CONST-20260411_0916-SteadyMoss-api-latency-slo
  created: '2026-04-11T09:16:00Z'
spec:
  name: api-latency-slo
  description: MCP tool round-trip p99 latency must stay below 200ms.
  kind: slo
  severity: hard
  target: "< 200ms p99"
  measurement: |
    Measured via the observability pipeline from tool-call dispatch to
    server response. Alert fires if exceeded for 5 minutes.
  source: Customer SLA — contract clause 4.2
  related_decisions:
    - DEC-20260409_latency-slo-accepted
---

Notes

  • Constraint violations are logged via log_event with event_type: constraint.violated — the Constraint entity itself is not modified.
  • A hard constraint violation should surface as a blocked WorkItem or an urgent Discussion.
  • Bind a Constraint to a Scope via a constraint-scope Binding to make it scope-specific rather than project-wide.
  • Set active: false when a constraint is no longer in effect (SLA renegotiated, regulatory exemption granted).