Machine fault diagnosis with Jev
Replays real compressor telemetry through an emulated Modbus device, spots anomalies in plain code, then asks Jev which fault from the manual explains them.
# Fault Diagnosis PoC <p align="center">Manual-grounded fault triage for an industrial compressed-air unit.<br>Live telemetry goes in; classified alerts and tickets come out. Read-only by design.</p> <p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/code-Apache--2.0-blue" alt="Code licence: Apache-2.0"></a> <a href="LICENSES/CC-BY-4.0.txt"><img src="https://img.shields.io/badge/manual%20%26%20data-CC%20BY%204.0-lightgrey" alt="Manual, catalog and data licence: CC BY 4.0"></a> <a href="REUSE.toml"><img src="https://img.shields.io/badge/REUSE-compliant-brightgreen" alt="REUSE compliant"></a> <a href="CONTRIBUTING.md#4-commits"><img src="https://img.shields.io/badge/commits-conventional-FE5196" alt="Conventional Commits"></a> <a href="#status-and-limitations"><img src="https://img.shields.io/badge/status-proof%20of%20concept-orange" alt="Status: proof of concept"></a> </p> <p align="center"> <img src="https://img.shields.io/badge/Docker%20Compose-2.24%2B-2496ED?logo=docker&logoColor=white" alt="Docker Compose 2.24 or newer"> <img src="https://img.shields.io/badge/Node.js-24-5FA04E?logo=nodedotjs&logoColor=white" alt="Node.js 24"> <img src="https://img.shields.io/badge/Go-1.27-00ADD8?logo=go&logoColor=white" alt="Go 1.27"> <img src="https://img.shields.io/badge/Python-3.13-3776AB?logo=python&logoColor=white" alt="Python 3.13"> <img src="https://img.shields.io/badge/Postgres-18%20%2B%20pgvector-4169E1?logo=postgresql&logoColor=white" alt="Postgres 18 with pgvector"> <img src="https://img.shields.io/badge/MQTT-Mosquitto-3C5280?logo=eclipsemosquitto&logoColor=white" alt="MQTT broker: Mosquitto"> </p> <p align="center"><a href="#quick-start">Quick start</a> · <a href="#try-it-in-five-minutes">Tour</a> · <a href="#how-it-works"
