{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-OPS-02",
  "proposedName": "Procurement Request",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "identityTest": {
    "stableIdentity": "An internal procurement need remains identifiable across approval, sourcing, award, contracting and ordering while its authorized scope evolves through revisions.",
    "versionIdentity": "Procurement request identity includes immutable revisionId; revision succession uses supersedesRevisionRef, while a materially distinct need uses replacementRequestRef.",
    "independentLifecycle": [
      "draft",
      "submitted",
      "reviewed",
      "approved",
      "rejected",
      "withdrawn",
      "fulfilled",
      "closed"
    ],
    "mastership": "requesting organization procurement-demand authority"
  },
  "boundary": {
    "owns": [
      "persistent request and immutable revision identity",
      "internal need, justification, requested scope, quantity and delivery constraints",
      "requesting unit and accountable owner",
      "internal approvals pinned to request revision",
      "revision and distinct-need replacement lineage",
      "referential sourcing-event, agreement and order trace links",
      "fulfilment and closure state"
    ],
    "references": [
      {
        "target": "WM-ECO-019",
        "purpose": "Downstream purchase-order reference only"
      },
      {
        "target": "WM-ECO-006",
        "purpose": "Downstream commercial-agreement reference only"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "Requesting organization identity"
      },
      {
        "target": "WM-KNW-010",
        "purpose": "Award decision reference only; internal procurement approval remains request-owned"
      },
      {
        "target": "WM-ACT-034",
        "purpose": "Qualification or evaluation reference only"
      }
    ],
    "excludes": [
      "sourcing procedure or participant scope",
      "supplier bid or offer identity",
      "supplier qualification or bid evaluation",
      "award decision, agreement or purchase order",
      "budget authority, commitment or accounting actual",
      "supplier or organization identity"
    ]
  },
  "objects": {
    "ProcurementRequest": {
      "identity": [
        "procurementRequestId",
        "revisionId"
      ],
      "required": [
        "requestingOrganizationRef",
        "need",
        "scope",
        "ownerRef",
        "status",
        "revisionEffectiveFrom"
      ],
      "conditionalRequired": {
        "status in submitted|reviewed|approved|fulfilled|closed": [
          "authorityRef"
        ],
        "status=approved": [
          "approvals"
        ]
      },
      "optional": [
        "quantity",
        "deliveryConstraints",
        "budgetRef",
        "supersedesRevisionRef",
        "replacementRequestRef",
        "sourcingEventRefs",
        "agreementRefs",
        "orderRefs"
      ],
      "approvalsRequired": [
        "approverRef",
        "authorityRef",
        "decidedAt",
        "decision",
        "approvedScopeRevisionRef"
      ],
      "lifecycle": [
        "draft",
        "submitted",
        "reviewed",
        "approved",
        "rejected",
        "withdrawn",
        "fulfilled",
        "closed"
      ]
    }
  },
  "invariants": [
    "Every request revision identifies one requesting organization, accountable owner and internal need.",
    "Revision succession and distinct-need replacement use separate fields and never overwrite history.",
    "Every scope, quantity, delivery, authority or funding change creates an immutable revision with revisionEffectiveFrom and supersedesRevisionRef.",
    "Approval records approver, authority, decision instant and the exact approvedScopeRevisionRef; submitted and later states require authorityRef.",
    "Approval authorizes sourcing within the pinned scope only and never creates an award, agreement or order.",
    "A rejected or withdrawn request cannot authorize a sourcing event.",
    "sourcingEventRefs, agreementRefs and orderRefs are referential and never merge downstream identities.",
    "One request may be fulfilled by several agreements or orders while retaining one request identity.",
    "Budget reference never proves authority, availability, commitment or actual spend.",
    "Request approval is request-owned and remains distinct from the referenced award decision.",
    "Withdrawal preserves approvals, revisions and downstream trace links.",
    "Closure never proves contract performance, delivery or acceptance.",
    "Single-source justification is procedure evidence owned by the event, not simulated competition in the request.",
    "Every instant is RFC 3339 with seconds and explicit offset.",
    "Historical revisions remain resolvable after fulfilment, replacement or closure."
  ],
  "holds": [
    "Registry allocation remains pending; no identifier is guessed.",
    "Authority, budget and downstream relation contracts require canonical reconciliation.",
    "Public-procurement, privacy and conflict-of-interest profiles remain adopter-specific.",
    "Grok is reconciled and the single frozen audit is spent and remediated without rerun."
  ],
  "publishableCanonical": false,
  "invariantRules": [
    "Every request revision identifies one requesting organization, accountable owner and internal need.",
    "Revision succession and distinct-need replacement use separate fields and never overwrite history.",
    "Every scope, quantity, delivery, authority or funding change creates an immutable revision with revisionEffectiveFrom and supersedesRevisionRef.",
    "Approval records approver, authority, decision instant and the exact approvedScopeRevisionRef; submitted and later states require authorityRef.",
    "Approval authorizes sourcing within the pinned scope only and never creates an award, agreement or order.",
    "A rejected or withdrawn request cannot authorize a sourcing event.",
    "sourcingEventRefs, agreementRefs and orderRefs are referential and never merge downstream identities.",
    "One request may be fulfilled by several agreements or orders while retaining one request identity.",
    "Budget reference never proves authority, availability, commitment or actual spend.",
    "Request approval is request-owned and remains distinct from the referenced award decision.",
    "Withdrawal preserves approvals, revisions and downstream trace links.",
    "Closure never proves contract performance, delivery or acceptance.",
    "Single-source justification is procedure evidence owned by the event, not simulated competition in the request.",
    "Every instant is RFC 3339 with seconds and explicit offset.",
    "Historical revisions remain resolvable after fulfilment, replacement or closure."
  ]
}
