Data flow
Field buses (BACnet / Modbus / Haystack / JSON / CSV)
→ driver tree + discovery
→ Haystack model points + assignment graph
→ Arrow RecordBatches → Feather files on disk
→ DataFusion SQL rules
→ fault state, plots, PDF reports
→ React dashboard
Driver → model → FDD
- Drivers expose points in the driver tree (BACnet objects, Modbus registers, Haystack refs, JSON endpoints).
- Assignments bind driver points to Haystack semantic IDs (
/api/model/assignments). - Historian persists normalized samples under
workspace/data/historian/. - SQL rules reference semantic point names via DataFusion — not raw BACnet instance numbers.
- Faults surface on the dashboard and in exports/reports.
CSV path
Engineering workstations can skip live drivers:
- Import CSV via CSV Fusion tab or
/api/csv/import/* - Preflight validation (
/api/csv/import/preflight) gates execute - Historian rows carry
source_driver: csvfor downstream SQL
Reports
Report builder pulls from model, historian, rules, and fault state → PDF via /api/reports/*/render/pdf.