{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-PEO-05",
  "proposedName": "Succession Plan",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "A governed talent-coverage plan remains identifiable independently of positions, people, readiness assessments and appointments.",
    "versionIdentity": "Each review cycle or changed pool, coverage or critical-position scope creates a successor revision.",
    "independentLifecycle": [
      "draft",
      "reviewed",
      "approved",
      "effective",
      "closed",
      "archived"
    ],
    "mastership": "authorized talent governance authority"
  },
  "boundary": {
    "owns": [
      "succession-plan identity",
      "critical-position scope",
      "review cycle",
      "candidate-pool membership",
      "bench-depth and coverage state",
      "readiness references",
      "revision history"
    ],
    "references": [
      {
        "target": "WM-ORG-004",
        "purpose": "Critical position",
        "contractState": "provisional"
      },
      {
        "target": "WM-ACT-034",
        "purpose": "Readiness assessment",
        "contractState": "provisional"
      },
      {
        "target": "WM-REC-010",
        "purpose": "Nomination and appointment decisions",
        "contractState": "provisional"
      },
      {
        "target": "WM-ORG-016",
        "purpose": "Assignment",
        "contractState": "provisional"
      }
    ],
    "excludes": [
      "person or position identity",
      "readiness assessment result",
      "nomination decision",
      "appointment decision",
      "position assignment",
      "access grant"
    ]
  },
  "objects": {
    "SuccessionPlan": {
      "identity": [
        "successionPlanId"
      ],
      "required": [
        "name",
        "ownerRef",
        "status",
        "recordedAt",
        "recordedBy"
      ],
      "optional": [
        "predecessorRef"
      ]
    },
    "SuccessionPlanRevision": {
      "identity": [
        "successionPlanId",
        "revision"
      ],
      "required": [
        "criticalPositionRefs",
        "poolEntries",
        "coverageByPosition",
        "benchDepthByPosition",
        "reviewAt",
        "recordedAt",
        "recordedBy",
        "contentDigest"
      ],
      "optional": [
        "predecessorRef"
      ],
      "poolEntrySchema": {
        "required": [
          "personRef",
          "positionRef",
          "validFrom",
          "validTo",
          "readinessRef",
          "readinessTargetProfileVersionRef",
          "readinessExpiresAt",
          "contestState"
        ],
        "optional": [
          "nominationDecisionRef",
          "appointmentDecisionRef"
        ]
      }
    }
  },
  "invariants": [
    "A plan may exist without candidates.",
    "Revisions are immutable.",
    "Critical positions are explicitly scoped.",
    "Pool membership is time-bounded.",
    "Readiness remains an external assessment.",
    "Readiness criteria and scale are pinned.",
    "Pool membership confers no appointment.",
    "Nomination and appointment are separate decisions.",
    "Appointment requires a separate assignment.",
    "Revision leaves current assignments unchanged.",
    "Ratings expire and remain contestable.",
    "Sensitive data uses minimum disclosure.",
    "Every readiness reference pins the assessed position or path-step profile version.",
    "Ready-now is neither an available seat nor an access entitlement.",
    "Appointment authorizes but does not embed or replace WM-ORG-016 assignment facts.",
    "Every pool entry references one Person and one position scope.",
    "Coverage and bench depth are explicit per position.",
    "Nomination and appointment references are pool-entry-level and remain distinct.",
    "Every revision append records actor and time."
  ],
  "holds": [
    "Registry allocation is pending and no identifier may be guessed.",
    "All base specifications and relation contracts remain provisional reviewable drafts.",
    "Privacy, retention, source pins and executable conformance remain pending.",
    "Package conversion and live verification are pending.",
    "Frozen audit returned REVISE at revision 2; all 44 checklist items were remediated once without audit rerun."
  ],
  "candidateRevision": 3,
  "digestPolicy": {
    "algorithm": "SHA-256",
    "canonicalization": "UTF-8 canonical JSON with sorted object keys and no insignificant whitespace",
    "coverage": "all fields bearing on released semantics",
    "verification": "asserted and unverified until live conformance closes"
  },
  "privacyPolicy": {
    "purposeLimited": true,
    "minimumDisclosure": true,
    "disclosureScopeRequired": true,
    "evidenceMinimized": true,
    "unknownDistinctFromAbsent": true
  },
  "lifecycles": {
    "plan": [
      "draft",
      "reviewed",
      "approved",
      "effective",
      "closed",
      "archived"
    ],
    "revision": [
      "draft",
      "approved",
      "effective",
      "superseded",
      "withdrawn"
    ]
  },
  "invariantRules": [
    {
      "id": "SP-INV-01",
      "text": "A plan may exist without candidates."
    },
    {
      "id": "SP-INV-02",
      "text": "Revisions are immutable."
    },
    {
      "id": "SP-INV-03",
      "text": "Critical positions are explicitly scoped."
    },
    {
      "id": "SP-INV-04",
      "text": "Pool membership is time-bounded."
    },
    {
      "id": "SP-INV-05",
      "text": "Readiness remains an external assessment."
    },
    {
      "id": "SP-INV-06",
      "text": "Readiness criteria and scale are pinned."
    },
    {
      "id": "SP-INV-07",
      "text": "Pool membership confers no appointment."
    },
    {
      "id": "SP-INV-08",
      "text": "Nomination and appointment are separate decisions."
    },
    {
      "id": "SP-INV-09",
      "text": "Appointment requires a separate assignment."
    },
    {
      "id": "SP-INV-10",
      "text": "Revision leaves current assignments unchanged."
    },
    {
      "id": "SP-INV-11",
      "text": "Ratings expire and remain contestable."
    },
    {
      "id": "SP-INV-12",
      "text": "Sensitive data uses minimum disclosure."
    },
    {
      "id": "SP-INV-13",
      "text": "Every readiness reference pins the assessed position or path-step profile version."
    },
    {
      "id": "SP-INV-14",
      "text": "Ready-now is neither an available seat nor an access entitlement."
    },
    {
      "id": "SP-INV-15",
      "text": "Appointment authorizes but does not embed or replace WM-ORG-016 assignment facts."
    },
    {
      "id": "SP-INV-16",
      "text": "Every pool entry references one Person and one position scope."
    },
    {
      "id": "SP-INV-17",
      "text": "Coverage and bench depth are explicit per position."
    },
    {
      "id": "SP-INV-18",
      "text": "Nomination and appointment references are pool-entry-level and remain distinct."
    },
    {
      "id": "SP-INV-19",
      "text": "Every revision append records actor and time."
    }
  ]
}
