feat(ontology): add device asset infrastructure domains
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"fixture": "device-direct-b2-composition-v1",
|
||||
"catalogVersion": "ontology-core-v0.4-pre+device-domain-0.1.0",
|
||||
"project": { "entityId": "device.project", "sourceId": "device-project:robot2b-moscow" },
|
||||
"asset": { "entityId": "asset.asset", "sourceId": "asset:trike-001", "assetType": "trike" },
|
||||
"device": {
|
||||
"entityId": "device.tracking_device",
|
||||
"sourceId": "device:b2-001",
|
||||
"restrictedIdentifiers": [
|
||||
{ "entityId": "device.restricted_identifier", "namespace": "imei", "valueExposure": "restricted" }
|
||||
],
|
||||
"modelProfile": { "entityId": "device.model_profile", "sourceId": "model-profile:arnavi-b2-v1" }
|
||||
},
|
||||
"binding": {
|
||||
"entityId": "device.asset_binding",
|
||||
"sourceId": "device-asset-binding:b2-001:trike-001:20260822",
|
||||
"deviceSourceId": "device:b2-001",
|
||||
"assetSourceId": "asset:trike-001",
|
||||
"validFrom": "2026-08-22T00:00:00Z",
|
||||
"validTo": null,
|
||||
"provenance": "device-core-direct-enrollment"
|
||||
},
|
||||
"positionObservation": {
|
||||
"entityId": "observation.position_observation",
|
||||
"subjectSourceId": "asset:trike-001",
|
||||
"sourceDeviceId": "device:b2-001",
|
||||
"observedAt": "2026-08-22T10:00:00Z",
|
||||
"receivedAt": "2026-08-22T10:00:01Z",
|
||||
"projectionEntityId": "map.moving_object"
|
||||
},
|
||||
"assertions": [
|
||||
"asset.sourceId != device.sourceId",
|
||||
"imei is not an asset identifier",
|
||||
"binding is temporal and replaceable",
|
||||
"map subject is the asset",
|
||||
"Gelios connection is not required"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"fixture": "infrastructure-edge-host-composition-v1",
|
||||
"catalogVersion": "ontology-core-v0.4-pre+infrastructure-domain-0.1.0",
|
||||
"host": { "entityId": "infrastructure.host", "sourceId": "host:robot2b-edge-01", "kind": "vps" },
|
||||
"endpoint": { "entityId": "infrastructure.endpoint", "sourceId": "endpoint:robot2b-edge-01:https", "visibility": "core-egress-only" },
|
||||
"deployment": { "entityId": "infrastructure.deployment", "sourceId": "deployment:device-edge:20260822-001" },
|
||||
"serviceInstance": { "entityId": "infrastructure.service_instance", "sourceId": "service-instance:device-edge:robot2b-edge-01" },
|
||||
"edgeRegistration": { "entityId": "device.edge_registration", "sourceId": "edge-registration:robot2b-edge-01" },
|
||||
"healthObservation": {
|
||||
"entityId": "observation.health_observation",
|
||||
"subjectSourceId": "service-instance:device-edge:robot2b-edge-01",
|
||||
"propertyId": "service.readiness",
|
||||
"observedAt": "2026-08-22T10:00:00Z",
|
||||
"receivedAt": "2026-08-22T10:00:00Z",
|
||||
"freshnessPolicyId": "health:service-readiness:60s"
|
||||
},
|
||||
"management": {
|
||||
"credentialEntityId": "infrastructure.management_credential_reference",
|
||||
"secretExposure": "opaque-reference-only",
|
||||
"consoleEntityId": "infrastructure.management_session",
|
||||
"mode": "privileged-break-glass"
|
||||
},
|
||||
"assertions": [
|
||||
"host, endpoint, deployment, service instance and edge registration use distinct ids",
|
||||
"integration.connection is not a host",
|
||||
"missing health evidence is not automatically unhealthy",
|
||||
"no management secret reaches the browser",
|
||||
"map projection requires real spatial evidence"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user