{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-TEC-09",
  "proposedName": "Technology",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "NEW MODEL",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "An abstract technical capability class remains identifiable independently of vendor products, releases, packages and deployments.",
    "versionIdentity": "Changes to canonical capability definition or classification append a successor definition version.",
    "independentLifecycle": [
      "proposed",
      "recognized",
      "active",
      "deprecated",
      "superseded",
      "retired"
    ],
    "mastership": "enterprise technology taxonomy authority",
    "recordLifecycle": [
      "proposed",
      "recognized",
      "active",
      "deprecated",
      "superseded",
      "retired"
    ]
  },
  "boundary": {
    "owns": [
      "technology identity",
      "abstract capability definition",
      "technology classification",
      "upstream lifecycle assertions",
      "successor and equivalence assertions",
      "taxonomy history"
    ],
    "references": [
      {
        "target": "WM-SFT-001",
        "purpose": "Software product and release-lineage boundary"
      },
      {
        "target": "WM-SFT-002",
        "purpose": "Operator-side deployed system and application boundary",
        "hold": "Deployment boundary is asserted on prior Enterprise research only and is unverified here."
      },
      {
        "target": "WM-SFT-007",
        "purpose": "Software component and package boundary"
      },
      {
        "target": "WM-KNW-012",
        "purpose": "Architecture standard"
      }
    ],
    "excludes": [
      "vendor product",
      "producer release",
      "component or package",
      "deployed instance",
      "license",
      "local adoption state",
      "vendor support status",
      "end-of-support date"
    ]
  },
  "objects": {
    "Technology": {
      "identity": [
        "technologyId"
      ],
      "required": [
        "name",
        "definition",
        "taxonomyStewardRef",
        "taxonomyStatus"
      ],
      "optional": [
        "classificationRefs",
        "successorRef",
        "upstreamLifecycleAssertions"
      ],
      "upstreamLifecycleAssertionRequired": [
        "assertedState",
        "assertedBy",
        "observedAt",
        "sourceRef"
      ]
    }
  },
  "invariants": [
    "Technology and product remain distinct.",
    "Technology and release remain distinct.",
    "Technology and deployment remain distinct.",
    "One technology may map many-to-many to products.",
    "Vendor versions never become technology identity.",
    "Technology never inherits producer or license.",
    "Technology never inherits artifact digest.",
    "Upstream lifecycle is separately sourced.",
    "Local adoption does not mutate upstream status.",
    "Equivalence requires governed assertion.",
    "Retirement preserves historical mappings.",
    "Missing lifecycle evidence remains unknown.",
    "An upstream lifecycle assertion without asserting party and observation time is not recorded and the upstream state remains unknown.",
    "Taxonomy status and upstream lifecycle assertions are separately recorded.",
    "Vendor support status and end-of-support date are excluded from Technology.",
    "The taxonomy steward is never a producer, vendor or subject owner, and confers no authority to adopt, assess, grant or waive."
  ],
  "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.",
    "Deployment boundary is asserted on prior Enterprise research only and is unverified here."
  ]
}
