Preview This is the v1.0 preview line. It documents a rebuild that is still in alpha — schemas, tool names, and package contents change without notice, and nothing here is covered by a stability guarantee. For the released line, see the v0.x documentation.

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).