Skip to content

Object Contracts

Each object type has a contract describing its purpose, required fields, valid relationships, lifecycle expectations, and boundaries.

Contracts answer semantic questions that a schema alone cannot fully express:

  • What is this object for?
  • What must it not be used for?
  • Which relationships are meaningful?
  • What evidence is required before status changes?
  • Which fields carry canonical meaning?

Schemas validate machine-readable structure. Contracts preserve human-readable intent. Both are needed because structurally valid data can still misuse an object type.