{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-PEO-03",
  "proposedName": "Proficiency Scale",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "A governed proficiency scale remains identifiable across competency concepts, assessments and organizations while its ordered levels and descriptors evolve through released versions.",
    "versionIdentity": "Changes to level order, descriptors, measurement level, interpretation or applicability create immutable scale versions; a different measurement construct creates a separate scale.",
    "independentLifecycle": [
      "draft",
      "reviewed",
      "approved",
      "effective",
      "superseded",
      "retired"
    ],
    "mastership": "competency-scheme or assessment-method authority"
  },
  "boundary": {
    "owns": [
      "persistent proficiency-scale identity",
      "ordered level set",
      "level identifiers and descriptors",
      "measurement-level semantics",
      "interpretation and applicability rules",
      "version validity and successor lineage",
      "cross-scale mapping references",
      "approval and retirement history"
    ],
    "references": [
      {
        "target": "WM-PER-009",
        "purpose": "Skill or competency definition master"
      },
      {
        "target": "WM-ACT-034",
        "purpose": "Competency assessment"
      },
      {
        "target": "WM-PER-008",
        "purpose": "Qualification definition and award"
      },
      {
        "target": "WM-XCT-017",
        "purpose": "Issued credential"
      },
      {
        "target": "WM-ORG-004",
        "purpose": "Position competency requirement"
      },
      {
        "target": "WM-PER-001",
        "purpose": "Person master for downstream assertions"
      },
      {
        "target": "WM-ORG-001",
        "purpose": "Scale owner and mapping authority master; source pin held"
      }
    ],
    "excludes": [
      "skill or competency concept identity",
      "person capability assertion",
      "assessment event, result or evidence",
      "qualification, licence or credential identity",
      "role expectation or course completion",
      "person or position mastership"
    ]
  },
  "objects": {
    "ProficiencyScale": {
      "identity": [
        "proficiencyScaleId"
      ],
      "required": [
        "name",
        "ownerRef",
        "status"
      ],
      "optional": [
        "successorRef",
        "retiredAt"
      ],
      "lifecycle": [
        "draft",
        "approved",
        "superseded",
        "retired"
      ]
    },
    "ScaleVersion": {
      "identity": [
        "proficiencyScaleId",
        "version"
      ],
      "required": [
        "measurementLevel",
        "recordedAt",
        "validFrom",
        "contentDigest",
        "status"
      ],
      "optional": [
        "validTo",
        "observedAt",
        "applicability",
        "supersedesVersion",
        "retiredAt"
      ],
      "measurementLevelVocabulary": [
        "ordinal",
        "interval",
        "ratio",
        "nominal"
      ],
      "lifecycle": [
        "draft",
        "approved",
        "superseded",
        "retired"
      ]
    },
    "ScaleLevel": {
      "identity": [
        "proficiencyScaleId",
        "version",
        "levelId"
      ],
      "required": [
        "ordinalPosition",
        "labelsByLanguage",
        "descriptor"
      ],
      "optional": [
        "interpretation",
        "anchors"
      ],
      "ordering": "total order within ScaleVersion"
    },
    "ScaleMapping": {
      "identity": [
        "scaleMappingId"
      ],
      "required": [
        "sourceScaleVersionRef",
        "sourceLevelRef",
        "targetScaleVersionRef",
        "targetLevelRef",
        "direction",
        "purpose",
        "authorityRef",
        "semanticLoss",
        "recordedAt",
        "validFrom",
        "status"
      ],
      "optional": [
        "validTo",
        "observedAt",
        "authorityEvidenceRefs",
        "successorMappingRef"
      ],
      "semanticLossShape": {
        "residualDescription": "required non-empty text",
        "lostDimensions": "array",
        "unsupportedUses": "array"
      },
      "lifecycle": [
        "draft",
        "issued",
        "superseded",
        "withdrawn"
      ]
    }
  },
  "invariants": [
    "Scale identity is proficiencyScaleId; ownerRef records mastership but is not identity. ScaleVersion adds immutable version.",
    "ScaleLevel identity exists only within one ScaleVersion and has a total ordinalPosition order.",
    "measurementLevel belongs to ScaleVersion; changing the measurement construct creates a new scale, while descriptor/order changes create a new version.",
    "Ordinal levels permit order only; addition, subtraction, averaging, ratios and distance claims are forbidden.",
    "missing, indeterminate, not-applicable and not-assessed are non-level outcomes and never level zero, the lowest level or a gap.",
    "Scale and version lifecycles are custodial; effectivity is expressed through valid time.",
    "Mappings pin both versions and endpoint levels, and endpoints must resolve in those versions.",
    "Mappings are directional, non-transitive and never reversible without an independent reverse mapping.",
    "Mapping loss has a non-empty residualDescription and no lossless shortcut.",
    "Mapping authority never implies target authority endorsement.",
    "Mappings never apply to persons or create, translate, upgrade or downgrade a Person Capability Assertion.",
    "Finalized assessments and assertions are never recomputed against later scale versions.",
    "Retired and superseded scales, versions, levels and mappings remain historically resolvable.",
    "recordedAt and validFrom/validTo remain distinct; observedAt never substitutes for either.",
    "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.",
    "External scale facts require pinned sources; placeholder fixtures are not acceptance evidence.",
    "Party mastership and all base/relation approvals remain held.",
    "Fixtures are declarative and unexecuted; package conversion and live verification remain pending."
  ],
  "candidateRevision": 3,
  "reviewSlug": "candidate:EM-PEO-03/proficiency-scale",
  "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": "approve-scale",
      "from": "draft",
      "to": "approved",
      "authority": "scale authority"
    },
    {
      "id": "supersede-scale",
      "from": "approved",
      "to": "superseded",
      "authority": "scale authority"
    },
    {
      "id": "retire-scale",
      "from": [
        "approved",
        "superseded"
      ],
      "to": "retired",
      "authority": "scale authority"
    },
    {
      "id": "approve-version",
      "from": "draft",
      "to": "approved",
      "authority": "scale authority"
    },
    {
      "id": "supersede-version",
      "from": "approved",
      "to": "superseded",
      "authority": "scale authority"
    },
    {
      "id": "retire-version",
      "from": [
        "approved",
        "superseded"
      ],
      "to": "retired",
      "authority": "scale authority"
    },
    {
      "id": "issue-mapping",
      "from": "draft",
      "to": "issued",
      "authority": "mapping authority"
    },
    {
      "id": "supersede-mapping",
      "from": "issued",
      "to": "superseded",
      "authority": "mapping authority"
    },
    {
      "id": "withdraw-mapping",
      "from": [
        "issued",
        "superseded"
      ],
      "to": "withdrawn",
      "authority": "mapping authority"
    }
  ],
  "invariantRegister": [
    {
      "id": "S01",
      "text": "Scale identity is proficiencyScaleId; ownerRef records mastership but is not identity. ScaleVersion adds immutable version."
    },
    {
      "id": "S02",
      "text": "ScaleLevel identity exists only within one ScaleVersion and has a total ordinalPosition order."
    },
    {
      "id": "S03",
      "text": "measurementLevel belongs to ScaleVersion; changing the measurement construct creates a new scale, while descriptor/order changes create a new version."
    },
    {
      "id": "S04",
      "text": "Ordinal levels permit order only; addition, subtraction, averaging, ratios and distance claims are forbidden."
    },
    {
      "id": "S05",
      "text": "missing, indeterminate, not-applicable and not-assessed are non-level outcomes and never level zero, the lowest level or a gap."
    },
    {
      "id": "S06",
      "text": "Scale and version lifecycles are custodial; effectivity is expressed through valid time."
    },
    {
      "id": "S07",
      "text": "Mappings pin both versions and endpoint levels, and endpoints must resolve in those versions."
    },
    {
      "id": "S08",
      "text": "Mappings are directional, non-transitive and never reversible without an independent reverse mapping."
    },
    {
      "id": "S09",
      "text": "Mapping loss has a non-empty residualDescription and no lossless shortcut."
    },
    {
      "id": "S10",
      "text": "Mapping authority never implies target authority endorsement."
    },
    {
      "id": "S11",
      "text": "Mappings never apply to persons or create, translate, upgrade or downgrade a Person Capability Assertion."
    },
    {
      "id": "S12",
      "text": "Finalized assessments and assertions are never recomputed against later scale versions."
    },
    {
      "id": "S13",
      "text": "Retired and superseded scales, versions, levels and mappings remain historically resolvable."
    },
    {
      "id": "S14",
      "text": "recordedAt and validFrom/validTo remain distinct; observedAt never substitutes for either."
    },
    {
      "id": "S15",
      "text": "No identifier is allocated until registry reservation; the reviewSlug carries no registry claim."
    }
  ]
}
