{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Candidacy",
  "cases": [
    {
      "id": "three-candidates",
      "kind": "positive",
      "input": "Three people apply to two openings under one recruitment process.",
      "expect": "Normatively, three candidacies reference three person anchors without duplicating people.",
      "rules": [
        "CAND-INV-01"
      ]
    },
    {
      "id": "withdrawn-offer",
      "kind": "positive",
      "input": "An issued offer is withdrawn with authority and reason.",
      "expect": "Normatively, the offer version and withdrawal remain immutable while candidacy outcome changes.",
      "rules": [
        "CAND-INV-02"
      ]
    },
    {
      "id": "later-rehire",
      "kind": "positive",
      "input": "A prior applicant applies again years later.",
      "expect": "Normatively, a new candidacy reuses the person anchor and preserves lineage.",
      "rules": [
        "CAND-INV-03"
      ]
    },
    {
      "id": "email-merges-person",
      "kind": "negative",
      "input": "Two records sharing an email are automatically merged as one person.",
      "expect": "Normatively, the merge is rejected without authorized evidence.",
      "rules": [
        "CAND-INV-04"
      ]
    },
    {
      "id": "score-is-decision",
      "kind": "negative",
      "input": "Highest assessment score automatically becomes the selection decision.",
      "expect": "Normatively, the inference is rejected.",
      "rules": [
        "CAND-INV-05"
      ]
    },
    {
      "id": "cv-is-permanent-consent",
      "kind": "negative",
      "input": "Possession of a CV authorizes indefinite cross-company reuse.",
      "expect": "Normatively, the use is rejected without a separate scoped basis.",
      "rules": [
        "CAND-INV-06"
      ]
    },
    {
      "id": "internal-mobility-scope",
      "kind": "positive",
      "input": "A person participates in an internal-mobility campaign without an asserted opening.",
      "expect": "Normatively, a candidacy is valid with explicit campaign or process scope.",
      "rules": [
        "CAND-INV-07"
      ]
    },
    {
      "id": "application-is-artifact",
      "kind": "negative",
      "input": "An application is minted as a sibling root and owned by the opening.",
      "expect": "Normatively, the identity and ownership collapse is rejected.",
      "rules": [
        "CAND-INV-08"
      ]
    },
    {
      "id": "matching-on-opening",
      "kind": "negative",
      "input": "A match score is stored as an opening property.",
      "expect": "Normatively, the score is rejected unless represented as an attributable evaluation or process result.",
      "rules": [
        "CAND-INV-09"
      ]
    },
    {
      "id": "duplicate-active-candidacy",
      "kind": "negative",
      "input": "The same person has two active candidacies for the same opening.",
      "expect": "Normatively, the duplicate active scope is rejected.",
      "rules": [
        "CAND-INV-10"
      ]
    },
    {
      "id": "purge-keeps-lineage",
      "kind": "positive",
      "input": "A closed candidacy reaches disposition while its hiring decision must be retained.",
      "expect": "Normatively, cV material is minimized or purged while Person and Decision lineage remains.",
      "rules": [
        "CAND-INV-11"
      ]
    },
    {
      "id": "rehire-no-cv-resurrection",
      "kind": "negative",
      "input": "A later rehire silently restores a previously purged CV.",
      "expect": "Normatively, the restoration is rejected; a new scoped submission is required.",
      "rules": [
        "CAND-INV-12"
      ]
    },
    {
      "id": "stage-without-release-pin",
      "kind": "semantic",
      "input": "A stage occurrence omits processDesignReleaseRef.",
      "expect": "Normatively, it is non-conformant.",
      "rules": [
        "CAND-INV-13"
      ]
    },
    {
      "id": "offered-without-offer",
      "kind": "semantic",
      "input": "Status is offered with no offerRefs.",
      "expect": "Normatively, it is non-conformant.",
      "rules": [
        "CAND-INV-14"
      ]
    },
    {
      "id": "duplicate-active-no-opening",
      "kind": "semantic",
      "input": "One subject has two active candidacies in one internal campaign.",
      "expect": "Normatively, the duplicate is non-conformant.",
      "rules": [
        "CAND-INV-15"
      ]
    },
    {
      "id": "sourced-lead-no-person-mint",
      "kind": "semantic",
      "input": "A sourced lead has only public-profile provenance.",
      "expect": "Normatively, a provisional subject is used and no Person is minted.",
      "rules": [
        "CAND-INV-16"
      ]
    },
    {
      "id": "submitted-without-notice",
      "kind": "semantic",
      "input": "A submitted candidacy has no noticeVersion.",
      "expect": "Normatively, it is non-conformant.",
      "rules": [
        "CAND-INV-17"
      ]
    },
    {
      "id": "classless-document",
      "kind": "semantic",
      "input": "A bound document has no dataClass.",
      "expect": "Normatively, it is non-conformant and retain-all fallback is forbidden.",
      "rules": [
        "CAND-INV-18"
      ]
    },
    {
      "id": "monitoring-data-in-assessment",
      "kind": "semantic",
      "input": "Monitoring data is cited as assessment input.",
      "expect": "Normatively, it is non-conformant.",
      "rules": [
        "CAND-INV-19"
      ]
    },
    {
      "id": "hold-suspends-not-alters",
      "kind": "semantic",
      "input": "A legal hold arrives after disposition becomes due.",
      "expect": "Normatively, disposition suspends while outcome and due date remain unchanged.",
      "rules": [
        "CAND-INV-20"
      ]
    },
    {
      "id": "undisclosed-vendor-share",
      "kind": "semantic",
      "input": "A CV is sent to a vendor without a disclosure entry.",
      "expect": "Normatively, the transfer is non-conformant.",
      "rules": [
        "CAND-INV-21"
      ]
    },
    {
      "id": "sourced-without-provenance",
      "kind": "semantic",
      "input": "A sourced candidacy has no source channel or source reference.",
      "expect": "Normatively, it is non-conformant.",
      "rules": []
    },
    {
      "id": "closed-candidacy-as-pool",
      "kind": "semantic",
      "input": "A closed candidacy is reused without new submission or pool consent.",
      "expect": "Normatively, the reuse is non-conformant.",
      "rules": []
    },
    {
      "id": "automated-rejection-unreviewed",
      "kind": "semantic",
      "input": "Automation records rejection without actor or human review.",
      "expect": "Normatively, the outcome is non-conformant.",
      "rules": []
    },
    {
      "id": "purge-keeps-assessment",
      "kind": "semantic",
      "input": "Biography is disposed after rejection.",
      "expect": "Normatively, assessment and stage decision evidence survive while biography does not.",
      "rules": []
    },
    {
      "id": "fairness-audit-reidentifies",
      "kind": "semantic",
      "input": "An audit returns identified biographies without justification.",
      "expect": "Normatively, access is non-conformant.",
      "rules": []
    },
    {
      "id": "profile-publication-guard",
      "kind": "semantic",
      "input": "The profile is exported as canonical with holds open.",
      "expect": "Normatively, export is refused.",
      "rules": []
    },
    {
      "id": "narrow-missing-base",
      "kind": "semantic",
      "input": "The WM-ORG-008 narrowing is claimed satisfied before its spec exists.",
      "expect": "Normatively, the claim is refused.",
      "rules": []
    },
    {
      "id": "unapproved-relation-used",
      "kind": "semantic",
      "input": "A provisional relation is treated as binding.",
      "expect": "Normatively, the use is refused.",
      "rules": []
    },
    {
      "id": "fixture-claim-guard",
      "kind": "semantic",
      "input": "Declarative expectations are reported as executed tests.",
      "expect": "Normatively, the report is refused.",
      "rules": []
    },
    {
      "id": "distinguishable-seats",
      "kind": "semantic",
      "input": "Two distinguishable seats are represented by two openings.",
      "expect": "Normatively, this is provisional under the seat-identity hold.",
      "rules": []
    },
    {
      "id": "interchangeable-seats-quantity",
      "kind": "semantic",
      "input": "Two interchangeable seats use one opening with quantity two.",
      "expect": "Normatively, this is provisional and seat consumption remains two.",
      "rules": []
    }
  ],
  "executable": false,
  "status": "declarative-normative-expectations"
}
