Skip to content

Change

A Change is a proposed set of writes to definitions, previewed on its own branch, checked, approved, and merged as one unit.

Properties

PropertyTypeRequiredDescription
statusstringrequiredOne of Open, Reviewing, Merged, or Closed.
baseVersionrequiredThe Version it was drafted against.
tierintegerLaunch tier from the merged diff: 3 fixes, 2 adds a Verb or Entitlement, 1 adds a Product or Offer.

Object

JSON
{
  "$id": "https://api.sb/petpantry.shop/changes/change_1",
  "$type": "Change",
  "status": "Open",
  "base": "version_1",
  "tier": 1
}

Relationships

  • A Change implements decision one Decision: every merged Change traces back to the Decision that authorized it. implementsDecision, inverse changes.
  • A Change resolves many Issues: a Change names the Issues it fixes; each resolves when the last open Change naming it reaches all traffic. resolves, inverse resolvedBy.

Verbs

  1. createCreates a Change.
    POST /{namespace}/changesdoChange.created
  2. getReturns one Change by id.
    GET /{namespace}/changes/{id}readNo Event
  3. listReturns Changes, newest first, one page at a time.
    GET /{namespace}/changesreadNo Event
  4. mergeMerge applies a Change to live data with a three-way, field-level merge against its base Version.
    POST /{namespace}/changes/{change}/mergedoChange.merged
  5. revertRevert undoes a merged Change with a new Change and a superseding Decision, deleting nothing.
    POST /{namespace}/changes/{change}/revertdoChange.reverted
  6. reviewReview runs every Evaluator on a Change’s preview and records each verdict on the Change.
    POST /{namespace}/changes/{change}/reviewdoChange.reviewed

A Change is kept forever and never edited: it has no update or delete.

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Change.createYesYesYesNo
Change.getYesYesYesYes
Change.listYesYesYesYes
Change.mergeYesYesYesNo
Change.revertYesYesYesNo
Change.reviewYesYesYesNo

Call it

Text
Review the latest change.

Example

A Change adds a languages field to the Supplier Noun of a translation marketplace. It previews on its own branch, passes its checks, and merges with one Approval.