{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-OPS-04",
  "proposedName": "As-Built Assembly",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL (unassigned; no identifier may be allocated by this audit)",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "An evidenced physical composition state remains identifiable independently of design intent, lots and serialized items.",
    "versionIdentity": "Attach, detach, aggregation, disaggregation and transformation events append composition-state successors.",
    "independentLifecycle": [
      "initiated",
      "assembled",
      "verified",
      "current",
      "modified",
      "disassembled",
      "superseded",
      "closed"
    ],
    "mastership": "authorized as-built composition-state authority (composition state only; no lot or serial identity)"
  },
  "boundary": {
    "owns": [
      "as-built assembly identity",
      "parent instance binding",
      "time-bounded component memberships",
      "actual quantities and locations",
      "event-derived composition state",
      "verification and evidence bindings",
      "successor history"
    ],
    "references": [
      {
        "target": "WM-OBJ-001",
        "purpose": "Serialized physical item",
        "status": "verified-supplied"
      },
      {
        "target": "WM-OBJ-019",
        "purpose": "Design intent comparison",
        "status": "verified-supplied"
      },
      {
        "target": "WM-MAT-008",
        "purpose": "Observation evidence",
        "status": "unverified-draft"
      },
      {
        "target": "WM-KNW-008",
        "purpose": "Evidence citation",
        "status": "unverified-draft"
      },
      {
        "target": "WM-FLW-013",
        "purpose": "Genealogy edge must cite an actual event with evidence",
        "status": "verified-supplied"
      }
    ],
    "excludes": [
      "EBOM or MBOM intent",
      "lot identity",
      "component master",
      "serialized item identity",
      "firmware release",
      "production authorization",
      "firmware installation occurrence"
    ]
  },
  "objects": {
    "AsBuiltAssembly": {
      "identity": [
        "asBuiltAssemblyId"
      ],
      "required": [
        "parentItemRef",
        "compositionValidFrom",
        "lifecycleState",
        "derivedFromEventRefs",
        "assertionBasis"
      ],
      "optional": [
        "compositionValidTo",
        "supersedesRef"
      ],
      "retirement": {
        "retiredAt": "<rfc3339-with-offset>",
        "tombstoneRef": "<string>",
        "reason": "<string>"
      },
      "conditionalRequired": [
        {
          "when": "status in [corrected,superseded]",
          "require": [
            "supersedesRef"
          ]
        }
      ]
    },
    "ComponentMembership": {
      "identity": [
        "asBuiltAssemblyId",
        "membershipId"
      ],
      "required": [
        "componentRef",
        "quantity",
        "validFrom",
        "sourceEventRef",
        "assertionBasis"
      ],
      "optional": [
        "validTo",
        "locationRef",
        "closingEventRef"
      ],
      "conditionalRequired": [
        {
          "when": "validTo is non-null",
          "require": [
            "closingEventRef"
          ]
        }
      ]
    }
  },
  "invariants": [
    "Composition derives only from actual events.",
    "BOM intent never proves installation.",
    "Each membership identifies source event.",
    "Quantities carry unit and basis.",
    "Membership validity is time-bounded.",
    "Attach and detach are explicit.",
    "Alternates are not summed as installed.",
    "Firmware is never a component membership; firmware presence is asserted only by an external installation occurrence with its own time and evidence.",
    "Corrections append successors.",
    "Missing evidence remains explicitly unknown and never defaults to zero, absent or not-applicable.",
    "Identifiers are never reused; retirement writes a tombstone and the retired identifier stays resolvable.",
    "This model never asserts lot identity, serialized-item identity or product-type identity."
  ],
  "holds": [
    "Registry allocation is pending and no identifier may be guessed.",
    "Independent Grok review and one frozen semantic audit are pending.",
    "Base specifications and approved relations remain incomplete.",
    "Package conversion and live verification are pending.",
    "WM-OBJ-019 to WM-OBJ-002 is simultaneously asserted as parent, COMPOSE and REFERENCE; unresolved.",
    "WM-OBJ-018 as child of WM-OBJ-002 conflicts with its own required REFERENCE boundary; unresolved.",
    "WM-SFT-012 and WM-SFT-008 claim CHILD of WM-SFT-007 while the ledger records REFERENCE or no edge; unresolved.",
    "WM-OBJ-012, WM-OBJ-020, WM-OBJ-021, WM-OBJ-022 and WM-ACT-015 are dangling relation targets.",
    "CLASSIFIES is absent from the relation enum; WM-OBJ-017 expresses it as REFERENCE, diverging from the relations ledger.",
    "WM-ACT-007 is maintenance-scoped with unresolved K11 duplication.",
    "The installation-occurrence model cited by WM-SFT-008 (WM-SFT-009) is referenced but unsupplied; firmware-to-item binding stays unresolved."
  ],
  "promotionBlocked": true,
  "identifierAllocationBlocked": true,
  "publicationHold": true,
  "decisionEnum": "NEW_MODEL_UNASSIGNED",
  "sharedShapes": {
    "Quantity": {
      "value": "<decimal-string|null>",
      "unitCode": "<string>",
      "unitCodeListRef": "<string>",
      "unitCodeListVersion": "<string>",
      "basis": "per-each|per-parent-assembly|per-batch|per-unit-length|per-unit-mass|per-unit-volume|per-operation",
      "basisParentQuantity": {
        "value": "<decimal-string>",
        "unitCode": "<string>"
      },
      "rounding": "none|half-up|half-even|ceil|floor",
      "unknownReason": "null|unknown|not-applicable|withheld"
    },
    "AssertionBasis": "declared|observed|inferred",
    "Timestamp": "<rfc3339-with-mandatory-explicit-offset>"
  },
  "sharedRules": [
    "Quantity.value and Quantity.unknownReason are mutually exclusive and exactly one is non-null.",
    "Zero never denotes unknown, not-applicable or withheld.",
    "Declared, observed and inferred assertions never merge and never overwrite one another.",
    "Event, effective, observation, record, posting, ingestion, publication and correction times are distinct fields and never collapse.",
    "This model declares no effectivity predicate; effectivity is an intent property of WM-OBJ-018 revisions and WM-OBJ-019 baselines."
  ],
  "enums": {
    "referenceStatus": [
      "verified-supplied",
      "unverified-draft",
      "dangling",
      "unassigned-candidate"
    ]
  },
  "unresolvedReferences": [
    {
      "targetName": "Actual Transformation Event",
      "state": "unassigned-candidate",
      "field": "sourceEventRef|derivedFromEventRefs"
    }
  ],
  "resolutionHold": true
}
