{
  "format": "vercy-model-allocation-fixtures/v1",
  "proposedName": "Workplace Allocation",
  "cases": [
    {
      "id": "leased-hybrid-office",
      "kind": "positive",
      "input": "A hybrid team uses leased premises with pooled desks.",
      "expect": "Allocations reference the engagement and premises; lease and desk bookings remain external."
    },
    {
      "id": "client-site",
      "kind": "positive",
      "input": "A contractor works at a client site for a bounded period.",
      "expect": "The allocation records the client-site locus and validity without asserting employer ownership or creating a branch."
    },
    {
      "id": "remote-home",
      "kind": "positive",
      "input": "An employee is approved for home work in a stated jurisdiction.",
      "expect": "Only the permitted generalized location is stored; no residential premises or public address is created."
    },
    {
      "id": "mobile-work",
      "kind": "positive",
      "input": "A field role operates across a defined region without a fixed premises.",
      "expect": "A mobile or generalized-region locus is valid and does not require a building."
    },
    {
      "id": "allocation-grants-access",
      "kind": "negative",
      "input": "A system grants door and application access solely from workplace allocation.",
      "expect": "The inference is rejected; explicit access grants remain required."
    },
    {
      "id": "double-primary",
      "kind": "negative",
      "input": "Two overlapping allocations are both marked primary without an enabling profile.",
      "expect": "The allocation set is rejected."
    },
    {
      "id": "home-address-string",
      "kind": "negative",
      "input": "A remote allocation stores a worker's street address.",
      "expect": "Validation rejects the address and permits only the approved generalized jurisdiction."
    },
    {
      "id": "client-site-branch",
      "kind": "negative",
      "input": "A client-site allocation is treated as an employer legal branch.",
      "expect": "The inference is rejected because allocation never creates establishment identity."
    },
    {
      "id": "endpoint-split",
      "kind": "positive",
      "input": "An allocated premises is split into successor units.",
      "expect": "The old allocation remains historical and a successor allocation version explicitly chooses the new locus."
    },
    {
      "id": "locus-kind-oneof",
      "kind": "negative",
      "input": "A locusKind says home but both generalizedPlaceRef and premisesRef are populated.",
      "expect": "Validation fails because exactly one matching locus reference is permitted."
    },
    {
      "id": "missing-disclosure-default",
      "kind": "positive",
      "input": "An allocation is created without an explicit disclosure override.",
      "expect": "The immutable version resolves disclosureClass to non-public and never publishes the locus."
    },
    {
      "id": "multiple-primary-profile",
      "kind": "negative",
      "input": "Two concurrent primaries are asserted without a primaryProfileRef.",
      "expect": "Validation rejects the second primary."
    }
  ],
  "version": "0.1.0-candidate.3"
}
