{
 "manifestVersion": 1,
 "name": "delivery-change-request",
 "description": "A proposed change to a delivery project's scope or dates, decided by a human. It is planning evidence: approving one may create an immutable plan revision, and a change with commercial consequence is handed off as a candidate rather than applied — nothing here touches a Quote, an Order, a Contract or a Subscription, and nothing bills.",
 "fields": [
  {
   "name": "sourceKey",
   "type": "string",
   "writable": "managed",
   "unique": true
  },
  {
   "name": "deliveryProjectId",
   "type": "string",
   "writable": "managed",
   "index": true
  },
  {
   "name": "changeType",
   "type": "enum",
   "writable": "managed",
   "values": [
    "non_commercial_replan",
    "commercial_change_required"
   ]
  },
  {
   "name": "title",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "reason",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "requestedScope",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "requestedStartDate",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "requestedEndDate",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "workPackageRefs",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "milestoneRefs",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "commercialDeltaCents",
   "type": "integer",
   "writable": "managed"
  },
  {
   "name": "currency",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "evidenceRef",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "status",
   "type": "enum",
   "writable": "managed",
   "values": [
    "proposed",
    "approved",
    "rejected",
    "pending_commercial_followup"
   ]
  },
  {
   "name": "decisionReason",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "decidedBy",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "decidedAt",
   "type": "timestamp",
   "writable": "managed"
  },
  {
   "name": "proposedBy",
   "type": "string",
   "writable": "managed"
  },
  {
   "name": "proposedAt",
   "type": "timestamp",
   "writable": "managed"
  }
 ]
}
