{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Technology Adoption",
  "cases": [
    {
      "id": "trial",
      "kind": "positive",
      "input": "One business unit trials a technology.",
      "expect": "The scoped stage is recorded independently.",
      "target": "Technology Adoption",
      "violates": "Scope and effective interval are explicit.",
      "closesDefect": "D1"
    },
    {
      "id": "preferred",
      "kind": "positive",
      "input": "A decision promotes adoption to preferred.",
      "expect": "A successor episode records authority and effective time.",
      "target": "Technology Adoption",
      "violates": "Each transition requires authority and decision.",
      "closesDefect": "D1"
    },
    {
      "id": "vendor-eos",
      "kind": "positive",
      "input": "Vendor support ends while local use continues.",
      "expect": "Support and adoption states remain separate.",
      "target": "Technology Adoption",
      "violates": "Vendor support and local stage remain separate.",
      "closesDefect": "D1"
    },
    {
      "id": "implicit-conformance",
      "kind": "negative",
      "input": "Preferred status is treated as proof of conformance.",
      "expect": "The inference is rejected.",
      "target": "Technology Adoption",
      "violates": "Adoption never implies conformance.",
      "closesDefect": "D1",
      "expectedCode": "EMTEC09.ADOPT.CONFORMANCE_IMPLIED"
    },
    {
      "id": "floating-scheme",
      "kind": "negative",
      "input": "A stage lacks its scheme version.",
      "expect": "The adoption is rejected.",
      "target": "Technology Adoption",
      "violates": "Stage pins a named scheme and version.",
      "closesDefect": "D1",
      "expectedCode": "EMTEC09.ADOPT.STAGE_SCHEME_UNPINNED"
    },
    {
      "id": "silent-transition",
      "kind": "negative",
      "input": "Vendor status silently changes local stage.",
      "expect": "The transition is rejected.",
      "target": "Technology Adoption",
      "violates": "Transitions append successor episodes.",
      "closesDefect": "D1",
      "expectedCode": "EMTEC09.ADOPT.SILENT_TRANSITION"
    },
    {
      "id": "adopt-stage-from-scheme",
      "target": "Technology Adoption",
      "kind": "positive",
      "input": "An adoption episode carries a stage value resolved from a pinned stage scheme version.",
      "expect": "The stage resolves through the pinned scheme and no stage value originates in the candidate.",
      "violates": "Stage pins a named scheme and version.",
      "closesDefect": "D6"
    },
    {
      "id": "adopt-enumerated-stage",
      "target": "Technology Adoption",
      "kind": "negative",
      "input": "A stage value is taken from the candidate's own lifecycle list instead of a pinned scheme version.",
      "expect": "The stage is rejected; no stage vocabulary is assumed by the candidate.",
      "violates": "(added:) No stage value is enumerated in this candidate; stage values resolve only from the pinned stage scheme version.",
      "closesDefect": "D6",
      "expectedCode": "EMTEC09.ADOPT.STAGE_VOCABULARY_UNSCHEMED"
    },
    {
      "id": "adopt-record-lifecycle-disjoint",
      "target": "Technology Adoption",
      "kind": "positive",
      "input": "An episode moves from draft to effective to superseded while its stage value is unchanged.",
      "expect": "Record lifecycle and stage vocabulary move independently and remain disjoint.",
      "violates": "(added:) The record lifecycle and the stage vocabulary are disjoint.",
      "closesDefect": "D6"
    },
    {
      "id": "adopt-non-overlap",
      "target": "Technology Adoption",
      "kind": "positive",
      "input": "A successor episode for one organization, technology and scope starts exactly at the predecessor's end, and an as-of query is issued inside each window.",
      "expect": "Each query returns exactly one effective stage.",
      "violates": "(added:) For one organization, technology and scope, at most one episode is effective at any instant.",
      "closesDefect": "D8"
    },
    {
      "id": "adopt-overlap",
      "target": "Technology Adoption",
      "kind": "negative",
      "input": "Two episodes for the same organization, technology and scope hold overlapping effective intervals.",
      "expect": "The second episode is rejected; as-of resolution must be unambiguous.",
      "violates": "(added:) For one organization, technology and scope, at most one episode is effective at any instant.",
      "closesDefect": "D8",
      "expectedCode": "EMTEC09.ADOPT.EPISODE_OVERLAP"
    },
    {
      "id": "adopt-backdated",
      "target": "Technology Adoption",
      "kind": "negative",
      "input": "An episode's validFrom precedes the time of its authorizing decision.",
      "expect": "The episode is rejected; effect never precedes authorization.",
      "violates": "Each transition requires authority and decision.",
      "closesDefect": "D8",
      "expectedCode": "EMTEC09.ADOPT.BACKDATED_EFFECT"
    },
    {
      "id": "adopt-decision-triad",
      "target": "Technology Adoption",
      "kind": "positive",
      "input": "An episode's decision reference is dereferenced for audit.",
      "expect": "Rationale, authorized occurrence and issued record all resolve.",
      "violates": "(added:) A decision reference resolves the rationale, the authorized occurrence and the issued record.",
      "closesDefect": "D14"
    },
    {
      "id": "adopt-record-plane-only",
      "target": "Technology Adoption",
      "kind": "negative",
      "input": "An episode's decision reference resolves only an issued record, with no rationale and no occurrence.",
      "expect": "The reference is rejected as an incomplete decision triad.",
      "violates": "(added:) A reference that resolves only the issued record is incomplete.",
      "closesDefect": "D14",
      "expectedCode": "EMTEC09.DECISION.TRIAD_INCOMPLETE"
    },
    {
      "id": "adopt-organization-guessed",
      "target": "Technology Adoption",
      "kind": "negative",
      "input": "The organization reference is filled with a plausible but unallocated registry identifier.",
      "expect": "The reference is rejected and must remain an explicit unassigned external referent.",
      "violates": "Registry allocation is pending and no identifier may be guessed.",
      "closesDefect": "D2",
      "expectedCode": "EMTEC09.REF.GUESSED_IDENTIFIER"
    }
  ]
}
