{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Grade Scheme",
  "executable": false,
  "status": "declarative-normative-expectations",
  "cases": [
    {
      "id": "level-member",
      "kind": "positive",
      "input": "A level resolves in the cited version and default track.",
      "expect": "Normatively, the level is well formed.",
      "rules": [
        "GS-INV-01",
        "GS-INV-02",
        "GS-INV-04"
      ]
    },
    {
      "id": "dual-track",
      "kind": "positive",
      "input": "One version has IC and Manager tracks.",
      "expect": "Normatively, it remains one scheme.",
      "rules": [
        "GS-INV-03"
      ]
    },
    {
      "id": "frozen-target",
      "kind": "positive",
      "input": "A frozen version is cited by a profile.",
      "expect": "Normatively, the citation is eligible.",
      "rules": [
        "GS-INV-07"
      ]
    },
    {
      "id": "historic-pin",
      "kind": "positive",
      "input": "A successor version appears.",
      "expect": "Normatively, prior citations keep their version.",
      "rules": [
        "GS-INV-09"
      ]
    },
    {
      "id": "third-party-map",
      "kind": "positive",
      "input": "A merger authority owns a mapping between two schemes.",
      "expect": "Normatively, owner identity is independent.",
      "rules": [
        "GS-INV-10"
      ]
    },
    {
      "id": "one-many",
      "kind": "positive",
      "input": "One source maps to two targets.",
      "expect": "Normatively, row loss is declared.",
      "rules": [
        "GS-INV-13",
        "GS-INV-15"
      ]
    },
    {
      "id": "unmappable",
      "kind": "positive",
      "input": "A source has no counterpart.",
      "expect": "Normatively, null mapping includes a reason.",
      "rules": [
        "GS-INV-14"
      ]
    },
    {
      "id": "label-match",
      "kind": "negative",
      "input": "Two levels share a label.",
      "expect": "Normatively, no equivalence is inferred.",
      "rules": [
        "GS-INV-05"
      ]
    },
    {
      "id": "ordinal-coercion",
      "kind": "negative",
      "input": "Nearest ordinal is substituted.",
      "expect": "Normatively, the coercion is rejected.",
      "rules": [
        "GS-INV-14"
      ]
    },
    {
      "id": "pay-purpose",
      "kind": "negative",
      "input": "A crosswalk is for pay.",
      "expect": "Normatively, the purpose is rejected.",
      "rules": [
        "GS-INV-12"
      ]
    },
    {
      "id": "access-purpose",
      "kind": "negative",
      "input": "A crosswalk is for access.",
      "expect": "Normatively, the purpose is rejected.",
      "rules": [
        "GS-INV-12"
      ]
    },
    {
      "id": "draft-target",
      "kind": "negative",
      "input": "A draft version is assigned.",
      "expect": "Normatively, the citation is rejected.",
      "rules": [
        "GS-INV-07"
      ]
    },
    {
      "id": "freeze-edit",
      "kind": "negative",
      "input": "A frozen level is relabeled.",
      "expect": "Normatively, a successor is required.",
      "rules": [
        "GS-INV-06",
        "GS-INV-08"
      ]
    },
    {
      "id": "retro-map",
      "kind": "negative",
      "input": "A mapping changes an earlier as-of result.",
      "expect": "Normatively, the retroactive effect is rejected.",
      "rules": [
        "GS-INV-17"
      ]
    },
    {
      "id": "crosswalk-assignment",
      "kind": "negative",
      "input": "Map approval creates a GradeAssignment.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "GS-INV-16"
      ]
    },
    {
      "id": "scheme-mutation",
      "kind": "negative",
      "input": "A scheme update changes pay or Position.",
      "expect": "Normatively, the mutation is rejected.",
      "rules": [
        "GS-INV-19"
      ]
    },
    {
      "id": "privacy-scope",
      "kind": "semantic",
      "input": "A crosswalk reviewer requests dissent evidence.",
      "expect": "Normatively, only authorized scope may disclose it.",
      "rules": [
        "GS-INV-11"
      ]
    },
    {
      "id": "retirement",
      "kind": "semantic",
      "input": "A scheme retires.",
      "expect": "Normatively, historical resolution remains.",
      "rules": [
        "GS-INV-18"
      ]
    }
  ]
}
