{
  "contract_version": "0.1.0",
  "id": "synthetic-bench",
  "version": "0.1.0",
  "description": "Synthetic contract fixture. Not hardware-qualified; numeric values are not recommended bench limits.",
  "gateway_id": "gateway",
  "fixture": {
    "id": "fixture",
    "revision": "synthetic-1",
    "identity_record_id": "fixture-identity"
  },
  "dut_class": "low_voltage_embedded",
  "policy": {
    "id": "synthetic-policy",
    "version": "0.1.0",
    "sha256": "73454794f991f14b80e0caa396a9e8a5b388b17e806145402e6531c7dcc7655a"
  },
  "package_lock": {
    "id": "synthetic-package-lock",
    "version": "0.1.0",
    "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
  },
  "commissioning_id": "synthetic-commissioning",
  "dut_ids": [
    "controller"
  ],
  "protection_mechanisms": [
    {
      "id": "independent-inhibit",
      "resource_id": "protection-resource",
      "implementation_evidence": {
        "id": "synthetic-protection-evidence",
        "version": "0.1.0",
        "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
      }
    }
  ],
  "devices": [
    {
      "id": "psu",
      "generation": 1,
      "descriptor": {
        "id": "dev.local.class-dc-psu",
        "version": "0.1.0",
        "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
      },
      "identity_record_id": "psu-identity",
      "connection_key": "psu-local",
      "channels": [
        "ch1"
      ]
    }
  ],
  "resources": [
    {
      "id": "supply-resource",
      "device_ids": [
        "psu"
      ],
      "depends_on": [
        "protection-resource"
      ]
    },
    {
      "id": "protection-resource",
      "device_ids": [],
      "depends_on": []
    }
  ],
  "terminals": [
    {
      "id": "psu-positive",
      "owner_kind": "device",
      "owner_id": "psu",
      "channel_id": "ch1",
      "name": "positive",
      "domain_id": "dut"
    },
    {
      "id": "dut-vin",
      "owner_kind": "dut",
      "owner_id": "controller",
      "channel_id": null,
      "name": "vin",
      "domain_id": "dut"
    },
    {
      "id": "psu-return",
      "owner_kind": "device",
      "owner_id": "psu",
      "channel_id": "ch1",
      "name": "return",
      "domain_id": "dut"
    },
    {
      "id": "dut-return",
      "owner_kind": "dut",
      "owner_id": "controller",
      "channel_id": null,
      "name": "return",
      "domain_id": "dut"
    }
  ],
  "nets": [
    {
      "id": "positive",
      "terminal_ids": [
        "psu-positive",
        "dut-vin"
      ]
    },
    {
      "id": "return",
      "terminal_ids": [
        "psu-return",
        "dut-return"
      ]
    }
  ],
  "signals": [
    {
      "id": "door",
      "quantity": "closed",
      "unit": "1",
      "poll_ms": 10,
      "max_age_ms": 50,
      "absolute_error": null,
      "resource_id": "protection-resource",
      "source": {
        "kind": "host_input",
        "contract": {
          "id": "synthetic-boolean-input",
          "version": "0.1.0",
          "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
        },
        "input_key": "door"
      }
    },
    {
      "id": "dut-voltage",
      "quantity": "voltage",
      "unit": "V",
      "poll_ms": 10,
      "max_age_ms": 50,
      "absolute_error": 0.01,
      "resource_id": "protection-resource",
      "source": {
        "kind": "host_input",
        "contract": {
          "id": "synthetic-voltage-input",
          "version": "0.1.0",
          "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
        },
        "input_key": "voltage"
      }
    }
  ]
}
