The most important industries in the world run on the least intelligent software. The plants that make our medicine, our food, and our materials are designed in one tool, deployed in another, validated in a third, and recorded in a fourth — none of which can answer a question that crosses their boundaries.
Every conventional plant historian shares the same architecture: a flat tag namespace bolted to an asset model by reference. The metadata is always second-class to the tag store. Ask a question that spans a recipe, a batch, an operator action, and a measurement, and you are configuring joins by hand — per tag, on the client, every time.
One substrate, not five products
Fabrik takes a different bet. The graph is not a database underneath the product — the graph is the product. Design-time entities and runtime events live in one store, joined natively, queryable as one.
(:MeasurementBucket {values: [...], minute: ...})-[:DURING_PHASE]-> (:PhaseExecution)-[:OF_RECIPE] -> (:Recipe {commit_hash: ...})-[:ON_UNIT] -> (:Unit)-[:OF_BATCH] -> (:Batch) // every reading already connected
A question like "average T-1234 across all batches where the night-shift operator pressed E-Stop while Recipe-X was running" becomes a single traversal. No per-tag join, no nightly ETL, no second store to reconcile.
The moat is not that we use a graph. It's that design-time and runtime are one graph — and an AI agent can traverse it semantically.
What the substrate makes possible
Because everything shares one foundation, capabilities that would each require a separate tool elsewhere fall out of the same model:
- Graph-contextualised time-series — every measurement arrives already connected to its unit, phase, recipe, operator, and batch.
- Semantic similarity over batches — find the five batches most like this one by the shape of their execution, not a product code.
- Time-travel replay — a deterministic compiled graph plus an append-only event stream replays any batch at any timestamp.
- Cryptographically verifiable records — a tamper-evident chain an auditor verifies rather than trusts.
- Recipe-as-code — every recipe edit is a commit; every batch records the exact version it ran.
Not a next-generation historian
This is the part that matters for anyone evaluating the category. The competitive frame is not "a better PI System." A thirty-year-old architecture with a cloud front-end is still a thirty-year-old architecture. The reformulation is the point: one model, every layer, every plant.
The full paper develops the substrate in detail — the bucketed time-series pattern, the replay harness, the cryptographic chaining, and how each reinforces the others.