{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "contourId": "EM-TEC-02",
  "candidateName": "Purchased Licence / Entitlement",
  "candidateRevision": 3,
  "status": "research-only",
  "canonicalPublishable": false,
  "executable": false,
  "publicationStatement": "Research candidate only; not canonically publishable, installable, allocated or verified.",
  "cases": [
    {
      "id": "EM-TEC-02.EF-001",
      "kind": "positive",
      "input": {
        "rule": "EN-01",
        "scenario": "Conforming entitlement record for: Purchase or entitlement never creates installation, deployment, system, application or usage; provenance indicating such derivation is invalid."
      },
      "expect": "Accept under EN-01.",
      "rules": [
        "EN-01"
      ]
    },
    {
      "id": "EM-TEC-02.EF-002",
      "kind": "negative",
      "input": {
        "rule": "EN-01",
        "scenario": "Entitlement record violates: Purchase or entitlement never creates installation, deployment, system, application or usage; provenance indicating such derivation is invalid."
      },
      "expect": "Reject under EN-01.",
      "rules": [
        "EN-01"
      ]
    },
    {
      "id": "EM-TEC-02.EF-003",
      "kind": "positive",
      "input": {
        "rule": "EN-02",
        "scenario": "Conforming entitlement record for: Every entitlement references one authoritative agreement and one WM-SFT-001 product scope with declared scopeGranularity."
      },
      "expect": "Accept under EN-02.",
      "rules": [
        "EN-02"
      ]
    },
    {
      "id": "EM-TEC-02.EF-004",
      "kind": "negative",
      "input": {
        "rule": "EN-02",
        "scenario": "Entitlement record violates: Every entitlement references one authoritative agreement and one WM-SFT-001 product scope with declared scopeGranularity."
      },
      "expect": "Reject under EN-02.",
      "rules": [
        "EN-02"
      ]
    },
    {
      "id": "EM-TEC-02.EF-005",
      "kind": "positive",
      "input": {
        "rule": "EN-03",
        "scenario": "Conforming entitlement record for: scopeGranularity is product, edition, release-family or release and the referenced identity remains mastered by WM-SFT-001."
      },
      "expect": "Accept under EN-03.",
      "rules": [
        "EN-03"
      ]
    },
    {
      "id": "EM-TEC-02.EF-006",
      "kind": "negative",
      "input": {
        "rule": "EN-03",
        "scenario": "Entitlement record violates: scopeGranularity is product, edition, release-family or release and the referenced identity remains mastered by WM-SFT-001."
      },
      "expect": "Reject under EN-03.",
      "rules": [
        "EN-03"
      ]
    },
    {
      "id": "EM-TEC-02.EF-007",
      "kind": "positive",
      "input": {
        "rule": "EN-04",
        "scenario": "Conforming entitlement record for: Licence metric, quantity, territory, term and permitted-use constraints are effective-dated and historically resolvable."
      },
      "expect": "Accept under EN-04.",
      "rules": [
        "EN-04"
      ]
    },
    {
      "id": "EM-TEC-02.EF-008",
      "kind": "negative",
      "input": {
        "rule": "EN-04",
        "scenario": "Entitlement record violates: Licence metric, quantity, territory, term and permitted-use constraints are effective-dated and historically resolvable."
      },
      "expect": "Reject under EN-04.",
      "rules": [
        "EN-04"
      ]
    },
    {
      "id": "EM-TEC-02.EF-009",
      "kind": "positive",
      "input": {
        "rule": "EN-05",
        "scenario": "Conforming entitlement record for: EntitlementAllocation uses one typed consumerBinding of organization, software-system or business-application and has no redundant consumer fields."
      },
      "expect": "Accept under EN-05.",
      "rules": [
        "EN-05"
      ]
    },
    {
      "id": "EM-TEC-02.EF-010",
      "kind": "negative",
      "input": {
        "rule": "EN-05",
        "scenario": "Entitlement record violates: EntitlementAllocation uses one typed consumerBinding of organization, software-system or business-application and has no redundant consumer fields."
      },
      "expect": "Reject under EN-05.",
      "rules": [
        "EN-05"
      ]
    },
    {
      "id": "EM-TEC-02.EF-011",
      "kind": "positive",
      "input": {
        "rule": "EN-06",
        "scenario": "Conforming entitlement record for: At instant t, allocated quantity is the sum over active or provisioned allocations whose effective window covers t; the sum cannot exceed the entitlement effective at t under the same metric."
      },
      "expect": "Accept under EN-06.",
      "rules": [
        "EN-06"
      ]
    },
    {
      "id": "EM-TEC-02.EF-012",
      "kind": "negative",
      "input": {
        "rule": "EN-06",
        "scenario": "Entitlement record violates: At instant t, allocated quantity is the sum over active or provisioned allocations whose effective window covers t; the sum cannot exceed the entitlement effective at t under the same metric."
      },
      "expect": "Reject under EN-06.",
      "rules": [
        "EN-06"
      ]
    },
    {
      "id": "EM-TEC-02.EF-013",
      "kind": "positive",
      "input": {
        "rule": "EN-07",
        "scenario": "Conforming entitlement record for: Reallocation closes or reduces predecessor allocations and conserves quantity before successor allocations become effective."
      },
      "expect": "Accept under EN-07.",
      "rules": [
        "EN-07"
      ]
    },
    {
      "id": "EM-TEC-02.EF-014",
      "kind": "negative",
      "input": {
        "rule": "EN-07",
        "scenario": "Entitlement record violates: Reallocation closes or reduces predecessor allocations and conserves quantity before successor allocations become effective."
      },
      "expect": "Reject under EN-07.",
      "rules": [
        "EN-07"
      ]
    },
    {
      "id": "EM-TEC-02.EF-015",
      "kind": "positive",
      "input": {
        "rule": "EN-08",
        "scenario": "Conforming entitlement record for: Assignment changes entitlement consumption without changing product, system or application identity."
      },
      "expect": "Accept under EN-08.",
      "rules": [
        "EN-08"
      ]
    },
    {
      "id": "EM-TEC-02.EF-016",
      "kind": "negative",
      "input": {
        "rule": "EN-08",
        "scenario": "Entitlement record violates: Assignment changes entitlement consumption without changing product, system or application identity."
      },
      "expect": "Reject under EN-08.",
      "rules": [
        "EN-08"
      ]
    },
    {
      "id": "EM-TEC-02.EF-017",
      "kind": "positive",
      "input": {
        "rule": "EN-09",
        "scenario": "Conforming entitlement record for: Product upgrade eligibility never rewrites historical product scope; it creates a successor entitlement revision."
      },
      "expect": "Accept under EN-09.",
      "rules": [
        "EN-09"
      ]
    },
    {
      "id": "EM-TEC-02.EF-018",
      "kind": "negative",
      "input": {
        "rule": "EN-09",
        "scenario": "Entitlement record violates: Product upgrade eligibility never rewrites historical product scope; it creates a successor entitlement revision."
      },
      "expect": "Reject under EN-09.",
      "rules": [
        "EN-09"
      ]
    },
    {
      "id": "EM-TEC-02.EF-019",
      "kind": "positive",
      "input": {
        "rule": "EN-10",
        "scenario": "Conforming entitlement record for: Suspension, expiry and termination stop effective authorization but preserve commercial and compliance history."
      },
      "expect": "Accept under EN-10.",
      "rules": [
        "EN-10"
      ]
    },
    {
      "id": "EM-TEC-02.EF-020",
      "kind": "negative",
      "input": {
        "rule": "EN-10",
        "scenario": "Entitlement record violates: Suspension, expiry and termination stop effective authorization but preserve commercial and compliance history."
      },
      "expect": "Reject under EN-10.",
      "rules": [
        "EN-10"
      ]
    },
    {
      "id": "EM-TEC-02.EF-021",
      "kind": "positive",
      "input": {
        "rule": "EN-11",
        "scenario": "Conforming entitlement record for: Renewal creates one successor entitlement revision linked by successorRef; an expired record is never silently extended."
      },
      "expect": "Accept under EN-11.",
      "rules": [
        "EN-11"
      ]
    },
    {
      "id": "EM-TEC-02.EF-022",
      "kind": "negative",
      "input": {
        "rule": "EN-11",
        "scenario": "Entitlement record violates: Renewal creates one successor entitlement revision linked by successorRef; an expired record is never silently extended."
      },
      "expect": "Reject under EN-11.",
      "rules": [
        "EN-11"
      ]
    },
    {
      "id": "EM-TEC-02.EF-023",
      "kind": "positive",
      "input": {
        "rule": "EN-12",
        "scenario": "Conforming entitlement record for: Observed use and compliance verdicts remain external evidence and never mutate entitlement state by inference."
      },
      "expect": "Accept under EN-12.",
      "rules": [
        "EN-12"
      ]
    },
    {
      "id": "EM-TEC-02.EF-024",
      "kind": "negative",
      "input": {
        "rule": "EN-12",
        "scenario": "Entitlement record violates: Observed use and compliance verdicts remain external evidence and never mutate entitlement state by inference."
      },
      "expect": "Reject under EN-12.",
      "rules": [
        "EN-12"
      ]
    },
    {
      "id": "EM-TEC-02.EF-025",
      "kind": "positive",
      "input": {
        "rule": "EN-13",
        "scenario": "Conforming entitlement record for: Hosted delivery may have entitlement and usage without local installation and records the absence explicitly."
      },
      "expect": "Accept under EN-13.",
      "rules": [
        "EN-13"
      ]
    },
    {
      "id": "EM-TEC-02.EF-026",
      "kind": "negative",
      "input": {
        "rule": "EN-13",
        "scenario": "Entitlement record violates: Hosted delivery may have entitlement and usage without local installation and records the absence explicitly."
      },
      "expect": "Reject under EN-13.",
      "rules": [
        "EN-13"
      ]
    },
    {
      "id": "EM-TEC-02.EF-027",
      "kind": "positive",
      "input": {
        "rule": "EN-14",
        "scenario": "Conforming entitlement record for: Agreement duties and surviving restrictions remain externally mastered after entitlement termination."
      },
      "expect": "Accept under EN-14.",
      "rules": [
        "EN-14"
      ]
    },
    {
      "id": "EM-TEC-02.EF-028",
      "kind": "negative",
      "input": {
        "rule": "EN-14",
        "scenario": "Entitlement record violates: Agreement duties and surviving restrictions remain externally mastered after entitlement termination."
      },
      "expect": "Reject under EN-14.",
      "rules": [
        "EN-14"
      ]
    },
    {
      "id": "EM-TEC-02.EF-029",
      "kind": "positive",
      "input": {
        "rule": "EN-15",
        "scenario": "Conforming entitlement record for: Territory or permitted-use breach is a compliance finding and never silently expands entitlement scope."
      },
      "expect": "Accept under EN-15.",
      "rules": [
        "EN-15"
      ]
    },
    {
      "id": "EM-TEC-02.EF-030",
      "kind": "negative",
      "input": {
        "rule": "EN-15",
        "scenario": "Entitlement record violates: Territory or permitted-use breach is a compliance finding and never silently expands entitlement scope."
      },
      "expect": "Reject under EN-15.",
      "rules": [
        "EN-15"
      ]
    },
    {
      "id": "EM-TEC-02.EF-031",
      "kind": "positive",
      "input": {
        "rule": "EN-16",
        "scenario": "Conforming entitlement record for: Retired entitlement and allocation identifiers remain resolvable and are never recycled."
      },
      "expect": "Accept under EN-16.",
      "rules": [
        "EN-16"
      ]
    },
    {
      "id": "EM-TEC-02.EF-032",
      "kind": "negative",
      "input": {
        "rule": "EN-16",
        "scenario": "Entitlement record violates: Retired entitlement and allocation identifiers remain resolvable and are never recycled."
      },
      "expect": "Reject under EN-16.",
      "rules": [
        "EN-16"
      ]
    },
    {
      "id": "EM-TEC-02.EF-033",
      "kind": "negative",
      "input": {
        "entitlementQuantity": 500,
        "allocationsAtT": [
          300,
          300
        ],
        "statuses": [
          "active",
          "active"
        ]
      },
      "expect": "Reject over-allocation; do not merely flag it.",
      "rules": [
        "EN-06"
      ]
    },
    {
      "id": "EM-TEC-02.EF-034",
      "kind": "positive",
      "input": {
        "before": [
          300,
          200
        ],
        "move": 50,
        "after": [
          250,
          250
        ],
        "total": 500
      },
      "expect": "Accept reallocation with conserved quantity and closed predecessor interval.",
      "rules": [
        "EN-07"
      ]
    },
    {
      "id": "EM-TEC-02.EF-035",
      "kind": "positive",
      "input": {
        "expired": "ent-1",
        "successorRef": "ent-2",
        "newQuantity": 600
      },
      "expect": "Create exactly one successor revision; preserve ent-1.",
      "rules": [
        "EN-11"
      ]
    },
    {
      "id": "EM-TEC-02.EF-036",
      "kind": "positive",
      "input": {
        "status": "terminated",
        "survivingObligationRef": "obl-1"
      },
      "expect": "Preserve external surviving obligation.",
      "rules": [
        "EN-14"
      ]
    },
    {
      "id": "EM-TEC-02.EF-037",
      "kind": "negative",
      "input": {
        "territory": "EU",
        "observedUse": "US"
      },
      "expect": "Create compliance finding without widening territory.",
      "rules": [
        "EN-15"
      ]
    }
  ]
}
