{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-PEO-02",
  "candidateRevision": 3,
  "proposedName": "Employee Profile",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "One employer-scoped continuity profile binds one Person to one employing party across successive Employment spells, employee-number changes, assignments, separation and rehire.",
    "versionIdentity": "Effective-dated profile content and number bindings change without replacing Person, Employment or Assignment records.",
    "independentLifecycle": [
      "proposed",
      "active",
      "inactive",
      "closed",
      "superseded"
    ],
    "mastership": "employing-party workforce master-data authority",
    "openProfileUniqueness": "At most one proposed, active or dormant profile exists for one Person at one employing party; duplicates require evidenced succession or remediation."
  },
  "boundary": {
    "owns": [
      "employer-scoped EmployeeProfile identity",
      "effective-dated EmployeeProfile versions",
      "one Person and one employing-party binding",
      "dated employee-number bindings by explicit numbering scheme",
      "references to zero or more successive or concurrent Employment records",
      "purpose and jurisdiction-qualified worker-category assertions",
      "rehire continuity and profile succession history"
    ],
    "references": [
      {
        "target": "WM-ORG-001",
        "purpose": "employing legal-party identity and continuity",
        "sourceState": "held until pinned source fact"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "employing legal-party identity and continuity",
        "sourceState": "held until pinned source fact"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "employing legal-party identity and continuity",
        "sourceState": "held until pinned source fact"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "employing legal-party identity and continuity",
        "sourceState": "held until pinned source fact"
      },
      {
        "target": "WM-PER-001",
        "purpose": "durable Person anchor"
      },
      {
        "target": "WM-ORG-005",
        "purpose": "Employment and engagement relationship master"
      },
      {
        "target": "WM-ORG-016",
        "purpose": "Work Assignment master"
      },
      {
        "target": "WM-ACT-040",
        "purpose": "join, move, leave and rejoin coordination with separately verified access execution",
        "sourceState": "referenced-neighbor; ownership claim held until pinned source fact"
      },
      {
        "target": "EM-RSK-03",
        "purpose": "DigitalAccount, AccessRole and AccessReview masters",
        "sourceState": "referenced-neighbor; ownership claim held until pinned source fact"
      },
      {
        "target": "EM-OPS-01",
        "purpose": "process-definition master",
        "sourceState": "referenced-neighbor; ownership claim held until pinned source fact"
      },
      {
        "target": "EM-XCT-01",
        "purpose": "identifier-scheme authority",
        "sourceState": "referenced-neighbor; ownership claim held until pinned source fact"
      }
    ],
    "excludes": [
      "Person or cross-employer worker identity",
      "Employment contract, relationship or engagement lifecycle",
      "Work Assignment, post, host, scope or authority lifecycle",
      "access entitlement, account, revocation or review authority",
      "JML case or workflow identity",
      "legal classification inferred from a profile or category label",
      "Engagement, LifecycleEvent or JoinerMoverLeaverCase as additional masters"
    ]
  },
  "objects": {
    "EmployeeProfile": {
      "identity": [
        "employeeProfileId"
      ],
      "required": [
        "employerRef",
        "personRef",
        "status",
        "recordedFrom"
      ],
      "optional": [
        "recordedTo",
        "successorRef",
        "successionReason",
        "successionEvidenceRef",
        "closedAt",
        "accessVerificationOutcomeRefs"
      ],
      "statusVocabulary": [
        "proposed",
        "active",
        "dormant",
        "closed",
        "superseded"
      ],
      "stateSemantics": {
        "proposed": "No relationship link is open yet.",
        "active": "At least one ProfileEmploymentLink is open.",
        "dormant": "No relationship link is open; obligations may remain open and evidenced reactivation is permitted.",
        "closed": "No relationship link is open and required access verification is evidenced.",
        "superseded": "A same-Person successor profile exists; reactivation is forbidden."
      },
      "allowedTransitions": [
        "proposed->active",
        "active->dormant",
        "dormant->active",
        "dormant->closed",
        "closed->active",
        "active->superseded",
        "dormant->superseded",
        "closed->superseded"
      ]
    },
    "EmployeeProfileVersion": {
      "identity": [
        "employeeProfileId",
        "version"
      ],
      "required": [
        "effectiveFrom",
        "recordedFrom",
        "changeType",
        "contentDigest",
        "status"
      ],
      "optional": [
        "effectiveTo",
        "recordedTo",
        "supersedesVersion",
        "withdrawalReasonRef"
      ],
      "changeTypeVocabulary": [
        "initial",
        "amendment",
        "correction"
      ],
      "statusVocabulary": [
        "draft",
        "active",
        "superseded",
        "withdrawn"
      ]
    },
    "ProfileEmploymentLink": {
      "identity": [
        "linkId"
      ],
      "required": [
        "employeeProfileRef",
        "employmentRef",
        "relationshipKind",
        "validFrom",
        "recordedFrom"
      ],
      "optional": [
        "validTo",
        "recordedTo",
        "successionEvidenceRef"
      ],
      "relationshipKindVocabulary": [
        "employment",
        "worker",
        "dependent-contractor",
        "self-employed",
        "agency-engagement",
        "other-governed-engagement"
      ]
    },
    "EmployeeNumberBinding": {
      "identity": [
        "numberBindingId"
      ],
      "required": [
        "employeeProfileRef",
        "numberSchemeRef",
        "number",
        "validFrom",
        "recordedFrom",
        "bindingStatus",
        "appliedReusePolicyVersion"
      ],
      "optional": [
        "validTo",
        "recordedTo",
        "sourceRef",
        "voidReasonRef"
      ],
      "statusVocabulary": [
        "active",
        "ended",
        "voided"
      ]
    },
    "AdministrativeWorkerCategoryAssertion": {
      "identity": [
        "assertionId"
      ],
      "required": [
        "employeeProfileRef",
        "employmentRef",
        "category",
        "purposeCode",
        "jurisdictionSchemeRef",
        "sourceRef",
        "validFrom",
        "recordedFrom",
        "disputeStatus"
      ],
      "optional": [
        "validTo",
        "recordedTo",
        "determinationRef",
        "disputeRef",
        "supersedesAssertionRef"
      ],
      "disputeStatusVocabulary": [
        "none",
        "raised",
        "under-determination",
        "resolved-upheld",
        "resolved-overturned"
      ]
    }
  },
  "holds": [
    "EmployeeProfile has no registry allocation; modelId and registryId remain null.",
    "WM-ORG-005 is a reviewable draft and its COMPOSE relation to WM-ORG-016 remains candidate-only.",
    "WM-ORG-001, WM-ACT-040, EM-RSK-03, EM-OPS-01 and EM-XCT-01 ownership claims require pinned source facts before publication.",
    "Agency, platform, paymaster and jurisdiction role ownership remains held until a governing master is pinned.",
    "Cross-model source, rights, immutable-reference and base-publication gates remain open.",
    "Fixtures are declarative expectations and were not executed because this package introduces no runtime semantics.",
    "Package conversion and live verification remain pending."
  ],
  "semanticAnnotation": "EmployeeProfile is an administrative continuity label; its name and existence carry no employment-status or legal-classification meaning.",
  "localInvariants": [
    {
      "id": "L01",
      "text": "At most one open EmployeeProfile exists for one personRef and one employerRef; remediation uses evidenced succession, never an unlinked duplicate."
    },
    {
      "id": "L02",
      "text": "employerRef resolves to an employing legal party, never an org unit, brand, payroll code, site or free text."
    },
    {
      "id": "L03",
      "text": "personRef is immutable; Person merge or split creates evidenced profile succession and never an in-place rewrite."
    },
    {
      "id": "L04",
      "text": "EmployeeProfile is a status-neutral administrative label and never proves employment or legal classification."
    },
    {
      "id": "L05",
      "text": "A profile version is bitemporal; corrections retain valid time and advance record time, while amendments advance valid time."
    },
    {
      "id": "L06",
      "text": "Withdrawn versions remain resolvable with digest, record interval and withdrawal reason."
    },
    {
      "id": "L07",
      "text": "Active versions use non-overlapping half-open valid intervals within one record-time slice."
    },
    {
      "id": "L08",
      "text": "A ProfileEmploymentLink may be absent; profile existence therefore implies no relationship or status."
    },
    {
      "id": "L09",
      "text": "Each ProfileEmploymentLink names one typed WM-ORG-005 relationship and carries its own valid and record intervals."
    },
    {
      "id": "L10",
      "text": "One relationship links to exactly one profile at an instant, except during evidenced legal succession."
    },
    {
      "id": "L11",
      "text": "Evidenced employer succession creates a same-Person successor profile and dated link transfer while preserving the Employment relationship."
    },
    {
      "id": "L12",
      "text": "successorRef targets a profile with the same personRef and requires successionReason plus successionEvidenceRef."
    },
    {
      "id": "L13",
      "text": "A closed profile may reactivate only on evidenced rehire; a superseded profile never reactivates."
    },
    {
      "id": "L14",
      "text": "Employee numbers are unique on employerRef, numberSchemeRef and number over non-overlapping half-open validity intervals; voided bindings are excluded."
    },
    {
      "id": "L15",
      "text": "Number policy comes from the scheme; issuance fails when no reuse policy exists and records the applied policy version."
    },
    {
      "id": "L16",
      "text": "A number binding derives employer scope from its profile and can never name or imply a different employer."
    },
    {
      "id": "L17",
      "text": "Voided number bindings remain resolvable and never imply that the number was held."
    },
    {
      "id": "L18",
      "text": "Profile closure closes but never deletes open number bindings; historical lookup remains possible."
    },
    {
      "id": "L19",
      "text": "Administrative category assertions qualify exactly one relationship and never the profile as a whole."
    },
    {
      "id": "L20",
      "text": "Legal or statutory category assertions require a competent determinationRef; internal assertions are explicitly non-determinative."
    },
    {
      "id": "L21",
      "text": "Category assertions have governed purpose and jurisdiction schemes plus visible dispute state and append-only overturn history."
    },
    {
      "id": "L22",
      "text": "Profile amendments never duplicate or silently retarget independent category assertions."
    },
    {
      "id": "L23",
      "text": "Profile closure is forbidden while required accessVerificationOutcomeRefs are absent or unverified; dormant is permitted."
    },
    {
      "id": "L24",
      "text": "Profile state never substitutes for Employment, Assignment, JML or access-authority state."
    },
    {
      "id": "L25",
      "text": "Closed, dormant, withdrawn, voided and superseded records remain historically resolvable."
    },
    {
      "id": "L26",
      "text": "No model or runtime identifier is assigned until registry allocation; newRuntimeId false means none is allocated in this checkpoint."
    }
  ],
  "inheritedObligations": [
    {
      "id": "I01",
      "text": "WM-ORG-005 owns relationship identity, terms, legal classification determinations, continuity, separation and disagreement.",
      "enforcement": "external-held"
    },
    {
      "id": "I02",
      "text": "WM-ORG-016 owns Assignment post, host, scope, authority, allocation, lifecycle and handover.",
      "enforcement": "external-held"
    },
    {
      "id": "I03",
      "text": "Every Assignment resolves to exactly one typed WM-ORG-005 relationship context.",
      "enforcement": "external-held"
    },
    {
      "id": "I04",
      "text": "Employer, work customer, staffing supplier, paymaster, platform and host roles remain separate; ownership is held until pinned sources are present.",
      "enforcement": "external-held"
    },
    {
      "id": "I05",
      "text": "A new employer, governed basis change, rehire or parallel contract creates a new relationship unless evidenced succession preserves continuity.",
      "enforcement": "external-held"
    },
    {
      "id": "I06",
      "text": "A material post, host, scope or authority change creates a new Assignment; ordinary changes are amendments and corrections are record versions.",
      "enforcement": "external-held"
    },
    {
      "id": "I07",
      "text": "WM-ACT-040 keeps desired, requested, executed and independently verified JML states distinct.",
      "enforcement": "external-held"
    },
    {
      "id": "I08",
      "text": "Employment or JML closure never proves access revocation; access authority evidence remains external.",
      "enforcement": "external-held"
    },
    {
      "id": "I09",
      "text": "WM-ORG-005 COMPOSE WM-ORG-016 is inherited as candidate-only and gives this package no local enforcement claim.",
      "enforcement": "external-held"
    }
  ],
  "decisionQualifier": "identifier-unassigned candidate; no model or runtime ID allocated",
  "invariants": [
    "At most one open EmployeeProfile exists for one personRef and one employerRef; remediation uses evidenced succession, never an unlinked duplicate.",
    "employerRef resolves to an employing legal party, never an org unit, brand, payroll code, site or free text.",
    "personRef is immutable; Person merge or split creates evidenced profile succession and never an in-place rewrite.",
    "EmployeeProfile is a status-neutral administrative label and never proves employment or legal classification.",
    "A profile version is bitemporal; corrections retain valid time and advance record time, while amendments advance valid time.",
    "Withdrawn versions remain resolvable with digest, record interval and withdrawal reason.",
    "Active versions use non-overlapping half-open valid intervals within one record-time slice.",
    "A ProfileEmploymentLink may be absent; profile existence therefore implies no relationship or status.",
    "Each ProfileEmploymentLink names one typed WM-ORG-005 relationship and carries its own valid and record intervals.",
    "One relationship links to exactly one profile at an instant, except during evidenced legal succession.",
    "Evidenced employer succession creates a same-Person successor profile and dated link transfer while preserving the Employment relationship.",
    "successorRef targets a profile with the same personRef and requires successionReason plus successionEvidenceRef.",
    "A closed profile may reactivate only on evidenced rehire; a superseded profile never reactivates.",
    "Employee numbers are unique on employerRef, numberSchemeRef and number over non-overlapping half-open validity intervals; voided bindings are excluded.",
    "Number policy comes from the scheme; issuance fails when no reuse policy exists and records the applied policy version.",
    "A number binding derives employer scope from its profile and can never name or imply a different employer.",
    "Voided number bindings remain resolvable and never imply that the number was held.",
    "Profile closure closes but never deletes open number bindings; historical lookup remains possible.",
    "Administrative category assertions qualify exactly one relationship and never the profile as a whole.",
    "Legal or statutory category assertions require a competent determinationRef; internal assertions are explicitly non-determinative.",
    "Category assertions have governed purpose and jurisdiction schemes plus visible dispute state and append-only overturn history.",
    "Profile amendments never duplicate or silently retarget independent category assertions.",
    "Profile closure is forbidden while required accessVerificationOutcomeRefs are absent or unverified; dormant is permitted.",
    "Profile state never substitutes for Employment, Assignment, JML or access-authority state.",
    "Closed, dormant, withdrawn, voided and superseded records remain historically resolvable.",
    "No model or runtime identifier is assigned until registry allocation; newRuntimeId false means none is allocated in this checkpoint."
  ]
}
