{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-OPS-03",
  "proposedName": "Maintenance Event",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "An evidenced occurrence of performed maintenance remains identifiable independently of its plan, authorization and asset.",
    "versionIdentity": "Corrections append evidence revisions while the occurrence identity and original record remain stable.",
    "independentLifecycle": [
      "recorded",
      "verified",
      "accepted",
      "rejected",
      "corrected",
      "superseded",
      "voided",
      "closed"
    ],
    "mastership": "authorized maintenance execution recorder"
  },
  "boundary": {
    "owns": [
      "maintenance-event identity",
      "performed-work interval",
      "actual activities and resources",
      "asset and component effects",
      "observations and completion evidence bindings",
      "performer and verifier attestations",
      "correction history"
    ],
    "references": [
      {
        "target": "WM-OBJ-001",
        "purpose": "Maintained asset and component"
      },
      {
        "target": "WM-ACT-007",
        "purpose": "Authorizing work order"
      },
      {
        "target": "WM-MAT-008",
        "purpose": "Measured condition"
      },
      {
        "target": "WM-ACT-034",
        "purpose": "Condition judgement"
      },
      {
        "target": "WM-OBJ-012",
        "purpose": "As-built component membership episodes"
      }
    ],
    "excludes": [
      "maintenance-plan definition",
      "work authorization",
      "asset identity",
      "calibration determination",
      "inventory master",
      "generic resource identity"
    ]
  },
  "objects": {
    "MaintenanceEvent": {
      "identity": [
        "maintenanceEventId"
      ],
      "required": [
        "assetRef",
        "performedInterval",
        "activities",
        "status"
      ],
      "optional": [
        "workOrderRef",
        "resourceActuals",
        "componentChanges",
        "evidenceRefs",
        "supersedesRef",
        "continuityRuleRef",
        "continuityRuleVersion"
      ],
      "conditionalRequirements": [
        {
          "when": "componentChanges present",
          "require": [
            "continuityRuleRef",
            "continuityRuleVersion"
          ]
        },
        {
          "when": "componentChanges affects a measuring subsystem",
          "require": [
            "calibrationInvalidationRef"
          ]
        }
      ],
      "cardinality": {
        "workOrderRef": {
          "min": 0,
          "max": 1
        }
      }
    }
  },
  "invariants": [
    "Each event identifies the maintained asset instance.",
    "Performed interval is distinct from scheduled and recorded time.",
    "A closed order never substitutes for an event.",
    "Actual resources remain distinct from planned resources.",
    "Component replacement closes and opens membership explicitly.",
    "Asset continuity follows a pinned local rule.",
    "Transformation that consumes an asset ends that identity.",
    "Measurements remain WM-MAT-008 facts.",
    "Judgements remain WM-ACT-034 assessments.",
    "Corrections append and never erase original evidence.",
    "Calibration state never transfers silently across component replacement.",
    "Missing completion evidence remains unknown.",
    "A component change that affects a measuring subsystem invalidates dependent fitness and never carries a calibration event, certificate or validity to the successor configuration.",
    "A maintenance event cites at most one authorizing work order.",
    "An authorizing work order may cite zero maintenance events, including after closure.",
    "WM-MAT-008 observations and WM-ACT-034 assessments may be cited as evidence and never constitute event identity.",
    "Voiding, supersession and correction are appended states that preserve the original record, its evidence bindings and its performed interval."
  ],
  "holds": [
    "Registry allocation is pending and no identifier may be guessed.",
    "One frozen semantic audit is complete; base specifications and approved relations remain incomplete.",
    "WM-OBJ-023 is the reserved measuring-instrument/configuration boundary, is a completion dependency of EM-OPS-03, and receives no allocation here.",
    "Package conversion and live verification are pending."
  ],
  "completionDependencies": [
    "WM-OBJ-023"
  ]
}
