{
  "format": "vercy-world-model-fixtures/v1",
  "modelId": "WM-SFT-002",
  "version": "0.1.0-candidate.2",
  "status": "research-only",
  "canonicalPublishable": false,
  "cases": [
    {
      "id": "EM-TEC-02.SF-001",
      "kind": "positive",
      "input": {
        "rule": "SS-01",
        "scenario": "Conforming record with explicit fields for: Every SoftwareSystem has at least one contained release, an accountable owner, a system criticality and a status in its declared lifecycle."
      },
      "expect": "Accept under SS-01.",
      "rules": [
        "SS-01"
      ]
    },
    {
      "id": "EM-TEC-02.SF-002",
      "kind": "negative",
      "input": {
        "rule": "SS-01",
        "scenario": "Record violates: Every SoftwareSystem has at least one contained release, an accountable owner, a system criticality and a status in its declared lifecycle."
      },
      "expect": "Reject or retain publication hold under SS-01.",
      "rules": [
        "SS-01"
      ]
    },
    {
      "id": "EM-TEC-02.SF-003",
      "kind": "positive",
      "input": {
        "rule": "SS-02",
        "scenario": "Conforming record with explicit fields for: Every BusinessApplication has an immutable applicationKey minted by the operating organization software-catalogue authority, unique within that operating organization, plus name, purpose, owner, criticality and lifecycle status."
      },
      "expect": "Accept under SS-02.",
      "rules": [
        "SS-02"
      ]
    },
    {
      "id": "EM-TEC-02.SF-004",
      "kind": "negative",
      "input": {
        "rule": "SS-02",
        "scenario": "Record violates: Every BusinessApplication has an immutable applicationKey minted by the operating organization software-catalogue authority, unique within that operating organization, plus name, purpose, owner, criticality and lifecycle status."
      },
      "expect": "Reject or retain publication hold under SS-02.",
      "rules": [
        "SS-02"
      ]
    },
    {
      "id": "EM-TEC-02.SF-005",
      "kind": "positive",
      "input": {
        "rule": "SS-03",
        "scenario": "Conforming record with explicit fields for: Every ApplicationUsage has applicationRef, organizationalContextRef, purpose, deliveryMode, validFrom and status; entitlement and deployment/runtime references are optional evidence only."
      },
      "expect": "Accept under SS-03.",
      "rules": [
        "SS-03"
      ]
    },
    {
      "id": "EM-TEC-02.SF-006",
      "kind": "negative",
      "input": {
        "rule": "SS-03",
        "scenario": "Record violates: Every ApplicationUsage has applicationRef, organizationalContextRef, purpose, deliveryMode, validFrom and status; entitlement and deployment/runtime references are optional evidence only."
      },
      "expect": "Reject or retain publication hold under SS-03.",
      "rules": [
        "SS-03"
      ]
    },
    {
      "id": "EM-TEC-02.SF-007",
      "kind": "positive",
      "input": {
        "rule": "SS-04",
        "scenario": "Conforming record with explicit fields for: ApplicationUsage remains valid with zero entitlement refs and zero deployment/runtime refs and is never derived from licence or installation."
      },
      "expect": "Accept under SS-04.",
      "rules": [
        "SS-04"
      ]
    },
    {
      "id": "EM-TEC-02.SF-008",
      "kind": "negative",
      "input": {
        "rule": "SS-04",
        "scenario": "Record violates: ApplicationUsage remains valid with zero entitlement refs and zero deployment/runtime refs and is never derived from licence or installation."
      },
      "expect": "Reject or retain publication hold under SS-04.",
      "rules": [
        "SS-04"
      ]
    },
    {
      "id": "EM-TEC-02.SF-009",
      "kind": "positive",
      "input": {
        "rule": "SS-05",
        "scenario": "Conforming record with explicit fields for: deliveryMode is one of installed, vendor-hosted, hybrid or unknown; installed requires a resolvable deployment/runtime pair, vendor-hosted forbids an operator-local pair, and unknown records an explicit absent reason."
      },
      "expect": "Accept under SS-05.",
      "rules": [
        "SS-05"
      ]
    },
    {
      "id": "EM-TEC-02.SF-010",
      "kind": "negative",
      "input": {
        "rule": "SS-05",
        "scenario": "Record violates: deliveryMode is one of installed, vendor-hosted, hybrid or unknown; installed requires a resolvable deployment/runtime pair, vendor-hosted forbids an operator-local pair, and unknown records an explicit absent reason."
      },
      "expect": "Reject or retain publication hold under SS-05.",
      "rules": [
        "SS-05"
      ]
    },
    {
      "id": "EM-TEC-02.SF-011",
      "kind": "positive",
      "input": {
        "rule": "SS-06",
        "scenario": "Conforming record with explicit fields for: Installation is a derived view only: the pair of a current WM-SFT-009 deployment occurrence and its operator-controlled WM-SFT-010 runtime environment; it has no minted identifier."
      },
      "expect": "Accept under SS-06.",
      "rules": [
        "SS-06"
      ]
    },
    {
      "id": "EM-TEC-02.SF-012",
      "kind": "negative",
      "input": {
        "rule": "SS-06",
        "scenario": "Record violates: Installation is a derived view only: the pair of a current WM-SFT-009 deployment occurrence and its operator-controlled WM-SFT-010 runtime environment; it has no minted identifier."
      },
      "expect": "Reject or retain publication hold under SS-06.",
      "rules": [
        "SS-06"
      ]
    },
    {
      "id": "EM-TEC-02.SF-013",
      "kind": "positive",
      "input": {
        "rule": "SS-07",
        "scenario": "Conforming record with explicit fields for: A deployment occurrence is current only when its effective interval covers the query instant and no later successful superseding occurrence for the same target is effective."
      },
      "expect": "Accept under SS-07.",
      "rules": [
        "SS-07"
      ]
    },
    {
      "id": "EM-TEC-02.SF-014",
      "kind": "negative",
      "input": {
        "rule": "SS-07",
        "scenario": "Record violates: A deployment occurrence is current only when its effective interval covers the query instant and no later successful superseding occurrence for the same target is effective."
      },
      "expect": "Reject or retain publication hold under SS-07.",
      "rules": [
        "SS-07"
      ]
    },
    {
      "id": "EM-TEC-02.SF-015",
      "kind": "positive",
      "input": {
        "rule": "SS-08",
        "scenario": "Conforming record with explicit fields for: Product-to-application and application-to-derived-installation mappings are many-to-many; one installation may support multiple applications and one application may have zero, one or many installations."
      },
      "expect": "Accept under SS-08.",
      "rules": [
        "SS-08"
      ]
    },
    {
      "id": "EM-TEC-02.SF-016",
      "kind": "negative",
      "input": {
        "rule": "SS-08",
        "scenario": "Record violates: Product-to-application and application-to-derived-installation mappings are many-to-many; one installation may support multiple applications and one application may have zero, one or many installations."
      },
      "expect": "Reject or retain publication hold under SS-08.",
      "rules": [
        "SS-08"
      ]
    },
    {
      "id": "EM-TEC-02.SF-017",
      "kind": "positive",
      "input": {
        "rule": "SS-09",
        "scenario": "Conforming record with explicit fields for: A regional deployment alone creates no product, system or application identity; a distinct system or application requires its own owner, enumerated boundary, purpose and criticality."
      },
      "expect": "Accept under SS-09.",
      "rules": [
        "SS-09"
      ]
    },
    {
      "id": "EM-TEC-02.SF-018",
      "kind": "negative",
      "input": {
        "rule": "SS-09",
        "scenario": "Record violates: A regional deployment alone creates no product, system or application identity; a distinct system or application requires its own owner, enumerated boundary, purpose and criticality."
      },
      "expect": "Reject or retain publication hold under SS-09.",
      "rules": [
        "SS-09"
      ]
    },
    {
      "id": "EM-TEC-02.SF-019",
      "kind": "positive",
      "input": {
        "rule": "SS-10",
        "scenario": "Conforming record with explicit fields for: ModulePlacement records an operator placement independently of vendor module packaging; promotion requires a dated ApplicationPromotion with originPlacementRef and resultingApplicationKey."
      },
      "expect": "Accept under SS-10.",
      "rules": [
        "SS-10"
      ]
    },
    {
      "id": "EM-TEC-02.SF-020",
      "kind": "negative",
      "input": {
        "rule": "SS-10",
        "scenario": "Record violates: ModulePlacement records an operator placement independently of vendor module packaging; promotion requires a dated ApplicationPromotion with originPlacementRef and resultingApplicationKey."
      },
      "expect": "Reject or retain publication hold under SS-10.",
      "rules": [
        "SS-10"
      ]
    },
    {
      "id": "EM-TEC-02.SF-021",
      "kind": "positive",
      "input": {
        "rule": "SS-11",
        "scenario": "Conforming record with explicit fields for: ApplicationPromotion creates no product or deployment identity, preserves the originating placement and cannot reuse a parent application key."
      },
      "expect": "Accept under SS-11.",
      "rules": [
        "SS-11"
      ]
    },
    {
      "id": "EM-TEC-02.SF-022",
      "kind": "negative",
      "input": {
        "rule": "SS-11",
        "scenario": "Record violates: ApplicationPromotion creates no product or deployment identity, preserves the originating placement and cannot reuse a parent application key."
      },
      "expect": "Reject or retain publication hold under SS-11.",
      "rules": [
        "SS-11"
      ]
    },
    {
      "id": "EM-TEC-02.SF-023",
      "kind": "positive",
      "input": {
        "rule": "SS-12",
        "scenario": "Conforming record with explicit fields for: A multi-product assembly earns SoftwareSystem identity only with one accountable owner, an enumerated contained release set, system criticality and coordinated change authority; integration alone is a dependency."
      },
      "expect": "Accept under SS-12.",
      "rules": [
        "SS-12"
      ]
    },
    {
      "id": "EM-TEC-02.SF-024",
      "kind": "negative",
      "input": {
        "rule": "SS-12",
        "scenario": "Record violates: A multi-product assembly earns SoftwareSystem identity only with one accountable owner, an enumerated contained release set, system criticality and coordinated change authority; integration alone is a dependency."
      },
      "expect": "Reject or retain publication hold under SS-12.",
      "rules": [
        "SS-12"
      ]
    },
    {
      "id": "EM-TEC-02.SF-025",
      "kind": "positive",
      "input": {
        "rule": "SS-13",
        "scenario": "Conforming record with explicit fields for: A product providing a runtime class remains WM-SFT-001; an operator-controlled execution context is WM-SFT-010, and vendor-hosted execution is not operator runtime by default."
      },
      "expect": "Accept under SS-13.",
      "rules": [
        "SS-13"
      ]
    },
    {
      "id": "EM-TEC-02.SF-026",
      "kind": "negative",
      "input": {
        "rule": "SS-13",
        "scenario": "Record violates: A product providing a runtime class remains WM-SFT-001; an operator-controlled execution context is WM-SFT-010, and vendor-hosted execution is not operator runtime by default."
      },
      "expect": "Reject or retain publication hold under SS-13.",
      "rules": [
        "SS-13"
      ]
    },
    {
      "id": "EM-TEC-02.SF-027",
      "kind": "positive",
      "input": {
        "rule": "SS-14",
        "scenario": "Conforming record with explicit fields for: Provenance on system, application, placement, promotion and usage states the creating authority and source evidence; product name, licence, deployment or region alone is forbidden provenance for minting system/application identity."
      },
      "expect": "Accept under SS-14.",
      "rules": [
        "SS-14"
      ]
    },
    {
      "id": "EM-TEC-02.SF-028",
      "kind": "negative",
      "input": {
        "rule": "SS-14",
        "scenario": "Record violates: Provenance on system, application, placement, promotion and usage states the creating authority and source evidence; product name, licence, deployment or region alone is forbidden provenance for minting system/application identity."
      },
      "expect": "Reject or retain publication hold under SS-14.",
      "rules": [
        "SS-14"
      ]
    },
    {
      "id": "EM-TEC-02.SF-029",
      "kind": "positive",
      "input": {
        "rule": "SS-15",
        "scenario": "Conforming record with explicit fields for: Legal lifecycle transitions are proposed→approved→active→restricted→active, active/restricted→retired, and any non-retired state→superseded; no other transition is valid."
      },
      "expect": "Accept under SS-15.",
      "rules": [
        "SS-15"
      ]
    },
    {
      "id": "EM-TEC-02.SF-030",
      "kind": "negative",
      "input": {
        "rule": "SS-15",
        "scenario": "Record violates: Legal lifecycle transitions are proposed→approved→active→restricted→active, active/restricted→retired, and any non-retired state→superseded; no other transition is valid."
      },
      "expect": "Reject or retain publication hold under SS-15.",
      "rules": [
        "SS-15"
      ]
    },
    {
      "id": "EM-TEC-02.SF-031",
      "kind": "positive",
      "input": {
        "rule": "SS-16",
        "scenario": "Conforming record with explicit fields for: Retired or superseded system, application, placement, promotion and usage identifiers remain resolvable through tombstone or successor references and are never recycled."
      },
      "expect": "Accept under SS-16.",
      "rules": [
        "SS-16"
      ]
    },
    {
      "id": "EM-TEC-02.SF-032",
      "kind": "negative",
      "input": {
        "rule": "SS-16",
        "scenario": "Record violates: Retired or superseded system, application, placement, promotion and usage identifiers remain resolvable through tombstone or successor references and are never recycled."
      },
      "expect": "Reject or retain publication hold under SS-16.",
      "rules": [
        "SS-16"
      ]
    },
    {
      "id": "EM-TEC-02.SF-033",
      "kind": "positive",
      "input": {
        "rule": "SS-17",
        "scenario": "Conforming record with explicit fields for: An active BusinessApplication may reference a retired SoftwareSystem only with an effective successor system reference or explicit detached-system justification."
      },
      "expect": "Accept under SS-17.",
      "rules": [
        "SS-17"
      ]
    },
    {
      "id": "EM-TEC-02.SF-034",
      "kind": "negative",
      "input": {
        "rule": "SS-17",
        "scenario": "Record violates: An active BusinessApplication may reference a retired SoftwareSystem only with an effective successor system reference or explicit detached-system justification."
      },
      "expect": "Reject or retain publication hold under SS-17.",
      "rules": [
        "SS-17"
      ]
    },
    {
      "id": "EM-TEC-02.SF-035",
      "kind": "positive",
      "input": {
        "rule": "SS-18",
        "scenario": "Conforming record with explicit fields for: WM-SFT-002 never masters vendor product, licence, deployment occurrence or runtime environment; each referenced layer retains exactly one named writer."
      },
      "expect": "Accept under SS-18.",
      "rules": [
        "SS-18"
      ]
    },
    {
      "id": "EM-TEC-02.SF-036",
      "kind": "negative",
      "input": {
        "rule": "SS-18",
        "scenario": "Record violates: WM-SFT-002 never masters vendor product, licence, deployment occurrence or runtime environment; each referenced layer retains exactly one named writer."
      },
      "expect": "Reject or retain publication hold under SS-18.",
      "rules": [
        "SS-18"
      ]
    },
    {
      "id": "EM-TEC-02.SF-037",
      "kind": "positive",
      "input": {
        "rule": "SS-19",
        "scenario": "Conforming record with explicit fields for: Name, status and timestamps may share a structural vocabulary, but SKU and edition remain product-only; purpose and usage remain WM-SFT-002-only; occurrence time remains deployment-only; platform and node remain runtime-only."
      },
      "expect": "Accept under SS-19.",
      "rules": [
        "SS-19"
      ]
    },
    {
      "id": "EM-TEC-02.SF-038",
      "kind": "negative",
      "input": {
        "rule": "SS-19",
        "scenario": "Record violates: Name, status and timestamps may share a structural vocabulary, but SKU and edition remain product-only; purpose and usage remain WM-SFT-002-only; occurrence time remains deployment-only; platform and node remain runtime-only."
      },
      "expect": "Reject or retain publication hold under SS-19.",
      "rules": [
        "SS-19"
      ]
    },
    {
      "id": "EM-TEC-02.SF-039",
      "kind": "positive",
      "input": {
        "rule": "SS-20",
        "scenario": "Conforming record with explicit fields for: This candidate description does not become authoritative for the reserved slot until the registry row is amended and the shared N4 specification is partitioned."
      },
      "expect": "Accept under SS-20.",
      "rules": [
        "SS-20"
      ]
    },
    {
      "id": "EM-TEC-02.SF-040",
      "kind": "negative",
      "input": {
        "rule": "SS-20",
        "scenario": "Record violates: This candidate description does not become authoritative for the reserved slot until the registry row is amended and the shared N4 specification is partitioned."
      },
      "expect": "Reject or retain publication hold under SS-20.",
      "rules": [
        "SS-20"
      ]
    },
    {
      "id": "EM-TEC-02.SF-041",
      "kind": "positive",
      "input": {
        "product": "erp",
        "applications": [
          "finance",
          "procurement",
          "hr"
        ],
        "derivedInstallations": [
          "d1×r1",
          "d2×r2"
        ],
        "mapping": {
          "finance": [
            "d1×r1",
            "d2×r2"
          ],
          "procurement": [
            "d1×r1"
          ],
          "hr": []
        }
      },
      "expect": "One installation may serve multiple applications and one application may span two installations.",
      "rules": [
        "SS-08"
      ]
    },
    {
      "id": "EM-TEC-02.SF-042",
      "kind": "positive",
      "input": {
        "systemOwner": "cio",
        "containedProducts": [
          "erp",
          "reporting"
        ],
        "criticality": "high",
        "changeAuthority": "cab"
      },
      "expect": "Create one multi-product system identity distinct from products.",
      "rules": [
        "SS-12"
      ]
    },
    {
      "id": "EM-TEC-02.SF-043",
      "kind": "negative",
      "input": {
        "integrationOnly": [
          "erp",
          "crm"
        ],
        "owners": [
          "erp-owner",
          "crm-owner"
        ],
        "sharedBoundary": null
      },
      "expect": "Do not create a system; retain a dependency.",
      "rules": [
        "SS-12"
      ]
    },
    {
      "id": "EM-TEC-02.SF-044",
      "kind": "negative",
      "input": {
        "vendorHostedTenant": "tenant-7",
        "claimedOperatorRuntime": true,
        "operatorControl": false
      },
      "expect": "Reject vendor tenancy as operator runtime.",
      "rules": [
        "SS-13"
      ]
    },
    {
      "id": "EM-TEC-02.SF-045",
      "kind": "positive",
      "input": {
        "retiredApplicationKey": "app-old",
        "tombstoneRef": "t-1",
        "successorRef": "app-new"
      },
      "expect": "Resolve retired identifier and prohibit reuse.",
      "rules": [
        "SS-16"
      ]
    },
    {
      "id": "EM-TEC-02.SF-046",
      "kind": "negative",
      "input": {
        "object": "BusinessApplication",
        "transition": "retired→active"
      },
      "expect": "Reject illegal lifecycle transition.",
      "rules": [
        "SS-15"
      ]
    },
    {
      "id": "EM-TEC-02.SF-047",
      "kind": "negative",
      "input": {
        "regionalDeploymentOnly": true,
        "newProduct": true,
        "newApplication": true,
        "distinctOwner": false
      },
      "expect": "Reject product and application cloning independently.",
      "rules": [
        "SS-09"
      ]
    },
    {
      "id": "EM-TEC-02.SF-048",
      "kind": "positive",
      "input": {
        "originPlacementRef": "mp-1",
        "resultingApplicationKey": "hr",
        "effectiveFrom": "2026-01-01",
        "decisionRef": "dec-1"
      },
      "expect": "Promote with explicit carrier and retain placement history.",
      "rules": [
        "SS-10"
      ]
    }
  ]
}
