{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-PEO-03",
  "proposedName": "Person Capability Assertion",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "An attributable assertion that one person holds one competency at a stated level remains identifiable independently of person, competency, scale, assessment and credential records.",
    "versionIdentity": "A new asserter, basis, level, scale version, validity interval, assurance or evidence conclusion creates a new assertion or explicit successor.",
    "independentLifecycle": [
      "proposed",
      "active",
      "revalidated",
      "superseded",
      "expired",
      "withdrawn",
      "revoked"
    ],
    "mastership": "authorized capability-assertion issuer or HR evidence authority"
  },
  "boundary": {
    "owns": [
      "persistent person-capability assertion identity",
      "person and competency-version references",
      "proficiency level and scale-version reference",
      "asserter, basis and assertion mode",
      "validity interval and observation time",
      "evidence, assurance and confidence",
      "revalidation and decay rules",
      "supersession, withdrawal and revocation history"
    ],
    "references": [
      {
        "target": "WM-PER-009",
        "purpose": "Competency definition"
      },
      {
        "target": "WM-ACT-034",
        "purpose": "Assessment and result evidence"
      },
      {
        "target": "WM-PER-008",
        "purpose": "Qualification award"
      },
      {
        "target": "WM-XCT-017",
        "purpose": "Credential evidence"
      },
      {
        "target": "WM-PER-013",
        "purpose": "Professional licence profile"
      },
      {
        "target": "WM-ORG-004",
        "purpose": "Position competency requirement"
      },
      {
        "target": "WM-PER-001",
        "purpose": "Person master"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "Asserter/party master; source pin held"
      },
      {
        "target": "candidate:EM-PEO-03/proficiency-scale",
        "purpose": "Pre-allocation scale-version review handle"
      }
    ],
    "excludes": [
      "person, competency or scale identity",
      "assessment event or result identity",
      "qualification, credential or licence identity",
      "role requirement or position assignment",
      "course participation or completion",
      "external scheme-definition mastership"
    ]
  },
  "objects": {
    "PersonCapabilityAssertion": {
      "identity": [
        "personCapabilityAssertionId"
      ],
      "required": [
        "personRef",
        "definitionVersionRef",
        "assertingPartyKind",
        "basis",
        "asserterRef",
        "recordedAt",
        "validFrom",
        "status",
        "purposeOfProcessing",
        "disclosurePolicyRef",
        "sensitivityClass",
        "retentionRule"
      ],
      "optional": [
        "validTo",
        "observedAt",
        "scaleVersionRef",
        "levelRef",
        "assessmentRef",
        "evidenceRefs",
        "assurance",
        "confidence",
        "decayRule",
        "supersedesRef",
        "consentRef",
        "revokedAt",
        "revocationEffectiveFrom",
        "revocationScope",
        "reasonCode",
        "revokedBy",
        "tombstonedAt"
      ],
      "assertingPartyKindVocabulary": [
        "self",
        "manager",
        "assessor",
        "external-party"
      ],
      "basisVocabulary": [
        "self-report",
        "assessment-act",
        "artifact-evidence",
        "direct-observation",
        "revalidation",
        "rectification"
      ],
      "revocationScopeVocabulary": [
        "ab-initio",
        "prospective"
      ],
      "lifecycle": [
        "proposed",
        "active",
        "superseded",
        "withdrawn",
        "revoked",
        "tombstoned"
      ]
    }
  },
  "invariants": [
    "Every assertion pins one Person, one definition version, an asserting-party kind, a basis, an asserter and valid/record time.",
    "ScaleVersionRef and levelRef are both present or both absent; all refs use the common version-pinned grammar.",
    "Currency is derived for an as-of and known-at query; expired and revalidated are never stored lifecycle states.",
    "Revalidation creates a successor with basis revalidation and never edits predecessor validity.",
    "Revocation records effective time, scope, reason and authority; ab-initio revocation invalidates support for all as-of instants without deleting history.",
    "Self assertions require assertingPartyKind self and asserterRef equal personRef; they never carry verified assurance.",
    "Assessment basis requires assessmentRef; artifact-evidence basis requires non-empty evidenceRefs; external attestation requires external-party asserter.",
    "Kinds never promote in place; a changed kind or basis creates a new successor assertion.",
    "One Person and definition may have multiple assertions; they are never merged into a score, level, index or ranking.",
    "A consumer may select one assertion only under a named disclosed policy, and that query result is never stored as an assertion.",
    "Absence of an assertion means unknown, never absence of capability.",
    "Course completion, role occupancy and scale mappings never create or translate assertions.",
    "Artifact title similarity never proves claim coverage; artifact issue, validity, verification and competence remain distinct.",
    "Open-ended validTo means until superseded, not permanent currency; evidence coverage and artifact status still apply at as-of.",
    "Decay changes only derived query currency/confidence and never mutates level or creates a record.",
    "observedAt never substitutes for recordedAt or validFrom; decay uses observedAt when present.",
    "Disclosure is purpose-bound and least-privilege; evidence content is referenced, never inlined, and special-category evidence is excluded from capability queries.",
    "Every disclosure records requesting purpose and fields released; consentRef is required when the governing policy requires consent.",
    "Rectification creates a successor; erasure creates a non-supporting tombstone while retaining identity, lifecycle and audit lineage.",
    "Superseded, withdrawn, revoked and tombstoned assertions remain resolvable but cannot silently support a current query.",
    "No identifier is allocated until registry reservation; the reviewSlug carries no registry claim."
  ],
  "holds": [
    "Registry allocation is pending; modelId and registryId remain null.",
    "Agreement between providers is not verification.",
    "Person and party mastership references require pinned source confirmation.",
    "Assessment, artifact coverage, privacy and assurance policies inherit base-model holds.",
    "Fixtures are declarative and unexecuted; package conversion and live verification remain pending."
  ],
  "candidateRevision": 3,
  "reviewSlug": "candidate:EM-PEO-03/person-capability-assertion",
  "referenceGrammar": {
    "model": "catalogue model or pre-allocation review slug",
    "schemeOrScaleId": "owning scheme/scale identity where applicable",
    "id": "object-local identifier",
    "releaseOrVersion": "required immutable release/version pin",
    "digest": "optional fixity pin; required where source policy demands it"
  },
  "operations": [
    {
      "id": "propose-assertion",
      "from": null,
      "to": "proposed",
      "authority": "authorized asserter"
    },
    {
      "id": "activate-assertion",
      "from": "proposed",
      "to": "active",
      "authority": "assertion authority"
    },
    {
      "id": "supersede-assertion",
      "from": "active",
      "to": "superseded",
      "authority": "assertion authority"
    },
    {
      "id": "withdraw-assertion",
      "from": [
        "proposed",
        "active"
      ],
      "to": "withdrawn",
      "authority": "assertion authority"
    },
    {
      "id": "revoke-assertion",
      "from": [
        "active",
        "superseded"
      ],
      "to": "revoked",
      "authority": "revocation authority"
    },
    {
      "id": "tombstone-assertion",
      "from": [
        "proposed",
        "active",
        "superseded",
        "withdrawn",
        "revoked"
      ],
      "to": "tombstoned",
      "authority": "privacy authority"
    }
  ],
  "invariantRegister": [
    {
      "id": "A01",
      "text": "Every assertion pins one Person, one definition version, an asserting-party kind, a basis, an asserter and valid/record time."
    },
    {
      "id": "A02",
      "text": "ScaleVersionRef and levelRef are both present or both absent; all refs use the common version-pinned grammar."
    },
    {
      "id": "A03",
      "text": "Currency is derived for an as-of and known-at query; expired and revalidated are never stored lifecycle states."
    },
    {
      "id": "A04",
      "text": "Revalidation creates a successor with basis revalidation and never edits predecessor validity."
    },
    {
      "id": "A05",
      "text": "Revocation records effective time, scope, reason and authority; ab-initio revocation invalidates support for all as-of instants without deleting history."
    },
    {
      "id": "A06",
      "text": "Self assertions require assertingPartyKind self and asserterRef equal personRef; they never carry verified assurance."
    },
    {
      "id": "A07",
      "text": "Assessment basis requires assessmentRef; artifact-evidence basis requires non-empty evidenceRefs; external attestation requires external-party asserter."
    },
    {
      "id": "A08",
      "text": "Kinds never promote in place; a changed kind or basis creates a new successor assertion."
    },
    {
      "id": "A09",
      "text": "One Person and definition may have multiple assertions; they are never merged into a score, level, index or ranking."
    },
    {
      "id": "A10",
      "text": "A consumer may select one assertion only under a named disclosed policy, and that query result is never stored as an assertion."
    },
    {
      "id": "A11",
      "text": "Absence of an assertion means unknown, never absence of capability."
    },
    {
      "id": "A12",
      "text": "Course completion, role occupancy and scale mappings never create or translate assertions."
    },
    {
      "id": "A13",
      "text": "Artifact title similarity never proves claim coverage; artifact issue, validity, verification and competence remain distinct."
    },
    {
      "id": "A14",
      "text": "Open-ended validTo means until superseded, not permanent currency; evidence coverage and artifact status still apply at as-of."
    },
    {
      "id": "A15",
      "text": "Decay changes only derived query currency/confidence and never mutates level or creates a record."
    },
    {
      "id": "A16",
      "text": "observedAt never substitutes for recordedAt or validFrom; decay uses observedAt when present."
    },
    {
      "id": "A17",
      "text": "Disclosure is purpose-bound and least-privilege; evidence content is referenced, never inlined, and special-category evidence is excluded from capability queries."
    },
    {
      "id": "A18",
      "text": "Every disclosure records requesting purpose and fields released; consentRef is required when the governing policy requires consent."
    },
    {
      "id": "A19",
      "text": "Rectification creates a successor; erasure creates a non-supporting tombstone while retaining identity, lifecycle and audit lineage."
    },
    {
      "id": "A20",
      "text": "Superseded, withdrawn, revoked and tombstoned assertions remain resolvable but cannot silently support a current query."
    },
    {
      "id": "A21",
      "text": "No identifier is allocated until registry reservation; the reviewSlug carries no registry claim."
    }
  ]
}
