{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Grade Assignment",
  "executable": false,
  "status": "declarative-normative-expectations",
  "cases": [
    {
      "id": "employment",
      "kind": "positive",
      "input": "An Employment receives one grade.",
      "expect": "Normatively, context, version, level and decision are pinned.",
      "rules": [
        "GA-INV-01",
        "GA-INV-02",
        "GA-INV-04"
      ]
    },
    {
      "id": "occupancy",
      "kind": "positive",
      "input": "No Employment exists; a concrete occupancy receives grade.",
      "expect": "Normatively, the fallback context is valid.",
      "rules": [
        "GA-INV-02"
      ]
    },
    {
      "id": "dual-track",
      "kind": "positive",
      "input": "One context holds IC and Manager standing.",
      "expect": "Normatively, two assignments and decisions exist.",
      "rules": [
        "GA-INV-06"
      ]
    },
    {
      "id": "evidence-optional",
      "kind": "positive",
      "input": "A decision has no assessment evidence.",
      "expect": "Normatively, the assignment may still be valid.",
      "rules": [
        "GA-INV-05"
      ]
    },
    {
      "id": "reassessment",
      "kind": "positive",
      "input": "A replacement scheme grade is ratified.",
      "expect": "Normatively, the predecessor closes and successor appends.",
      "rules": [
        "GA-INV-07",
        "GA-INV-09"
      ]
    },
    {
      "id": "as-of",
      "kind": "positive",
      "input": "A 2022 query runs after a 2026 successor.",
      "expect": "Normatively, effective and knowledge time recover the 2022 view.",
      "rules": [
        "GA-INV-15"
      ]
    },
    {
      "id": "bare-person",
      "kind": "negative",
      "input": "A Person is direct subject.",
      "expect": "Normatively, the assignment is rejected.",
      "rules": [
        "GA-INV-03"
      ]
    },
    {
      "id": "position",
      "kind": "negative",
      "input": "A Position is direct subject.",
      "expect": "Normatively, the assignment is rejected.",
      "rules": [
        "GA-INV-03"
      ]
    },
    {
      "id": "role-profile",
      "kind": "negative",
      "input": "A RoleProfile is direct subject.",
      "expect": "Normatively, the assignment is rejected.",
      "rules": [
        "GA-INV-03"
      ]
    },
    {
      "id": "compensation",
      "kind": "negative",
      "input": "A compensation object is direct subject.",
      "expect": "Normatively, the assignment is rejected.",
      "rules": [
        "GA-INV-03"
      ]
    },
    {
      "id": "duplicate-current",
      "kind": "negative",
      "input": "Two current rows cover one dimension across replacement schemes.",
      "expect": "Normatively, the uniqueness violation is rejected.",
      "rules": [
        "GA-INV-07"
      ]
    },
    {
      "id": "pre-freeze",
      "kind": "negative",
      "input": "effectiveFrom precedes version freeze.",
      "expect": "Normatively, the assignment is rejected.",
      "rules": [
        "GA-INV-08"
      ]
    },
    {
      "id": "implicit-pay",
      "kind": "negative",
      "input": "A grade decision changes pay.",
      "expect": "Normatively, the mutation is rejected.",
      "rules": [
        "GA-INV-12",
        "GA-INV-13"
      ]
    },
    {
      "id": "position-sync",
      "kind": "negative",
      "input": "PositionGrade changes the person assignment.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "GA-INV-11"
      ]
    },
    {
      "id": "assignment-position",
      "kind": "negative",
      "input": "Person assignment changes PositionGrade.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "GA-INV-11"
      ]
    },
    {
      "id": "qualification",
      "kind": "negative",
      "input": "A qualification creates a grade.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "GA-INV-13"
      ]
    },
    {
      "id": "credential",
      "kind": "negative",
      "input": "A grade changes a credential.",
      "expect": "Normatively, the mutation is rejected.",
      "rules": [
        "GA-INV-13"
      ]
    },
    {
      "id": "access",
      "kind": "negative",
      "input": "A grade grants access.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "GA-INV-13"
      ]
    },
    {
      "id": "challenge",
      "kind": "semantic",
      "input": "A challenge is filed without suspension decision.",
      "expect": "Normatively, history remains and effect continues.",
      "rules": [
        "GA-INV-10"
      ]
    },
    {
      "id": "employment-end",
      "kind": "semantic",
      "input": "Employment ends.",
      "expect": "Normatively, current assignment closes and remains retained.",
      "rules": [
        "GA-INV-14"
      ]
    },
    {
      "id": "missing",
      "kind": "semantic",
      "input": "No grade exists.",
      "expect": "Normatively, the state is unknown.",
      "rules": [
        "GA-INV-16"
      ]
    },
    {
      "id": "grade-pay-join",
      "kind": "negative",
      "input": "A public view joins grade and pay by default.",
      "expect": "Normatively, the disclosure is rejected.",
      "rules": [
        "GA-INV-17"
      ]
    },
    {
      "id": "calibration-disclosure",
      "kind": "negative",
      "input": "Calibration access is reused for disclosure.",
      "expect": "Normatively, the disclosure is rejected.",
      "rules": [
        "GA-INV-18"
      ]
    },
    {
      "id": "legal-hold",
      "kind": "semantic",
      "input": "Disposition is due under legal hold.",
      "expect": "Normatively, disposal is suspended.",
      "rules": [
        "GA-INV-19"
      ]
    },
    {
      "id": "noncascade",
      "kind": "semantic",
      "input": "Assignment is disposed.",
      "expect": "Normatively, external masters remain.",
      "rules": [
        "GA-INV-19"
      ]
    }
  ]
}
