{
  "kind": "blackroad.hardware_registry",
  "mode": "read_only_inventory",
  "external_api": false,
  "hardware_control": false,
  "public_exposure": false,
  "status": "PARTIAL",
  "safety": [
    "Read-only inventory first.",
    "No hardware-control commands without explicit approval.",
    "No public SSH, VNC, noVNC, camera, robot, tunnel, or node dashboard exposure.",
    "Unknown USB devices are important until proven otherwise.",
    "Do not reflash, repartition, reformat, reset, or reconfigure devices casually."
  ],
  "nodes": [
    {
      "id": "alexandria",
      "label": "Alexandria",
      "kind": "operator_mac",
      "hardware": "Apple M1 Mac",
      "role": "operator workstation and local RoadOS builder",
      "network": "local",
      "status": "LOCAL",
      "realness": "REAL_LOCAL"
    },
    {
      "id": "pi-holo",
      "label": "Pi-Holo",
      "kind": "raspberry_pi_5",
      "hardware": "Raspberry Pi 5, planned Pironman/Hailo-8 class body",
      "role": "4 inch hologram / Pepper's Ghost quadrant renderer",
      "display": "4 inch square display under pyramid",
      "topics": [
        "holo/cmd",
        "system/heartbeat/pi-holo"
      ],
      "status": "PLANNED_OR_PARTIAL",
      "realness": "INVENTORY"
    },
    {
      "id": "pi-ops",
      "label": "Pi-Ops",
      "kind": "raspberry_pi_5",
      "hardware": "Raspberry Pi 5, ops/monitoring body",
      "role": "9.3 inch ops panel, backend logs, monitoring, MQTT broker candidate",
      "display": "9.3 inch 1600x600 wide monitor",
      "topics": [
        "monitor/*",
        "sensors/#",
        "system/heartbeat/pi-ops"
      ],
      "status": "PLANNED_OR_PARTIAL",
      "realness": "INVENTORY"
    },
    {
      "id": "jetson-agent",
      "label": "Jetson Agent Window",
      "kind": "jetson_orin_candidate",
      "hardware": "Jetson Orin Nano/NX IO/base candidate",
      "role": "10 inch agent desktop, chat UI, coding surface, heavier UI/inference candidate",
      "display": "10.1 inch agent window",
      "topics": [
        "agent/output",
        "ui/cmd",
        "system/heartbeat/jetson-agent"
      ],
      "status": "PLANNED_OR_PARTIAL",
      "realness": "INVENTORY"
    },
    {
      "id": "pi-zero-sim",
      "label": "Pi Zero Simulation Screen",
      "kind": "raspberry_pi_zero",
      "hardware": "Raspberry Pi Zero W / Zero 2 WH class",
      "role": "7 inch lightweight simulation/output screen",
      "display": "7 inch simulation output",
      "topics": [
        "sim/output",
        "system/heartbeat/pi-zero-sim"
      ],
      "status": "PLANNED_OR_PARTIAL",
      "realness": "INVENTORY"
    },
    {
      "id": "pi400-admin",
      "label": "Pi 400 Admin Console",
      "kind": "raspberry_pi_400",
      "hardware": "Raspberry Pi 400 keyboard computer",
      "role": "admin keyboard, rescue shell, SSH/control console",
      "display": "shared 9.3 inch panel via HDMI switch when needed",
      "status": "PLANNED_OR_PARTIAL",
      "realness": "INVENTORY"
    },
    {
      "id": "pi4b-kvm",
      "label": "Pi 4B KVM / Remote Control Server",
      "kind": "raspberry_pi_4b",
      "hardware": "Raspberry Pi 4B with remote control server / KVM class hardware",
      "role": "remote control / rescue / HDMI capture / ATX control candidate",
      "status": "PRIVATE_REVIEW_REQUIRED",
      "realness": "INVENTORY"
    }
  ],
  "parts": [
    {
      "id": "tp-link-switch",
      "kind": "network",
      "label": "TP-Link TL-SG105 5-port gigabit switch",
      "role": "wired LAN spine"
    },
    {
      "id": "hailo8",
      "kind": "accelerator",
      "label": "Hailo-8 M.2 AI accelerator",
      "role": "edge AI accelerator candidate"
    },
    {
      "id": "pironman-5-max",
      "kind": "case",
      "label": "Pironman 5-MAX",
      "role": "Pi 5 NVMe/Hailo case/cooling body"
    },
    {
      "id": "electrocookie-pi5",
      "kind": "case",
      "label": "ElectroCookie Pi 5 cooling cases",
      "role": "Pi 5 cooling body"
    },
    {
      "id": "roadom-10",
      "kind": "display",
      "label": "ROADOM 10.1 inch touchscreen",
      "role": "agent window display"
    },
    {
      "id": "waveshare-9-3",
      "kind": "display",
      "label": "Waveshare 9.3 inch 1600x600 display",
      "role": "ops panel display"
    },
    {
      "id": "waveshare-4",
      "kind": "display",
      "label": "4 inch square display",
      "role": "hologram display"
    },
    {
      "id": "ugreen-hdmi-switch",
      "kind": "video",
      "label": "UGREEN 5-in-1 HDMI switch",
      "role": "select Pi-Ops or Pi-400 into 9.3 inch panel"
    },
    {
      "id": "wavlink-hdmi-splitter",
      "kind": "video",
      "label": "WAVLINK HDMI splitter",
      "role": "clone hologram output if needed"
    },
    {
      "id": "rs485-can-hat",
      "kind": "bus",
      "label": "RS485/CAN HAT",
      "role": "long-distance device bus candidate"
    },
    {
      "id": "heltec-lora",
      "kind": "radio",
      "label": "Heltec LoRa ESP32",
      "role": "LoRa/Meshtastic radio candidate"
    },
    {
      "id": "esp32-s3",
      "kind": "microcontroller",
      "label": "ESP32-S3 boards",
      "role": "IoT control/display/sensor nodes"
    },
    {
      "id": "pico-rp2040",
      "kind": "microcontroller",
      "label": "Raspberry Pi Pico / RP2040",
      "role": "small controller node"
    },
    {
      "id": "arduino-uno",
      "kind": "microcontroller",
      "label": "Arduino Uno starter kit",
      "role": "sensor/relay bridge candidate"
    },
    {
      "id": "dht22",
      "kind": "sensor",
      "label": "DHT22/AM2302",
      "role": "temperature/humidity sensor"
    },
    {
      "id": "ld2410",
      "kind": "sensor",
      "label": "LD2410C mmWave presence sensor",
      "role": "presence detection"
    },
    {
      "id": "vl53l5cx",
      "kind": "sensor",
      "label": "VL53L5CX ToF imager",
      "role": "distance/depth/gesture sensing"
    },
    {
      "id": "as7262",
      "kind": "sensor",
      "label": "AS7262 spectral sensor",
      "role": "visible spectrum sensing"
    },
    {
      "id": "inmp441",
      "kind": "audio",
      "label": "INMP441 I2S microphones",
      "role": "voice/audio input"
    },
    {
      "id": "max98357",
      "kind": "audio",
      "label": "MAX98357 I2S amplifier",
      "role": "audio output"
    },
    {
      "id": "bone-conduction",
      "kind": "audio",
      "label": "bone conduction exciters",
      "role": "haptic/audio output"
    }
  ],
  "links": [
    {
      "from": "pi-holo",
      "to": "waveshare-4",
      "type": "micro_hdmi",
      "status": "PLAN_ONLY"
    },
    {
      "from": "pi-ops",
      "to": "waveshare-9-3",
      "type": "micro_hdmi_or_switch",
      "status": "PLAN_ONLY"
    },
    {
      "from": "pi400-admin",
      "to": "waveshare-9-3",
      "type": "hdmi_switch_alt_input",
      "status": "PLAN_ONLY"
    },
    {
      "from": "jetson-agent",
      "to": "roadom-10",
      "type": "hdmi",
      "status": "PLAN_ONLY"
    },
    {
      "from": "tp-link-switch",
      "to": "pi-holo",
      "type": "ethernet",
      "status": "PLAN_ONLY"
    },
    {
      "from": "tp-link-switch",
      "to": "pi-ops",
      "type": "ethernet",
      "status": "PLAN_ONLY"
    },
    {
      "from": "tp-link-switch",
      "to": "jetson-agent",
      "type": "ethernet",
      "status": "PLAN_ONLY"
    },
    {
      "from": "tp-link-switch",
      "to": "pi400-admin",
      "type": "ethernet",
      "status": "PLAN_ONLY"
    },
    {
      "from": "pi-zero-sim",
      "to": "tp-link-switch",
      "type": "wifi_lan",
      "status": "PLAN_ONLY"
    }
  ],
  "mqtt_topics": [
    "holo/cmd",
    "agent/output",
    "monitor/*",
    "sim/output",
    "sensors/#",
    "system/heartbeat/*"
  ]
}
