"Things that were, and things that are, and some things that have not yet come to pass."
Galadril is an advanced data integration and analytical intelligence platform designed to provide a "Mirror" of complex systems. Galadril focuses on elucidation, foresight, and transparency.
Caution
This project is still in its early stages.
Enter the shell to load the environment:
nix develop github:RealHinome/Galadril?dir=infrastructure/nixflowchart TD
classDef source fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#0d47a1
classDef ingest fill:#ffecb3,stroke:#ff6f00,stroke-width:2px,color:#3e2723
classDef stream fill:#d1c4e9,stroke:#512da8,stroke-width:2px,color:#311b92
classDef ml fill:#f8bbd0,stroke:#c2185b,stroke-width:2px,color:#880e4f
classDef pg fill:#336791,stroke:#000,stroke-width:2px,color:#fff
classDef app fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#1b5e20
classDef bus fill:#212121,stroke:#fff,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
subgraph Sources ["Multi-Modal Data Sources"]
direction TB
S1[("Sensors / IoT / SIGINT")]:::source
S2[("Financial / ERP Flows")]:::source
S3[("Unstructured (OSINT/Docs)")]:::source
S4[("3rd Party APIs")]:::source
end
subgraph Ingestion ["Ingestor"]
Connectors["Smart Connectors"]:::ingest
Raw_Bus[("Raw Event Bus (Kafka)")]:::bus
end
subgraph Processing ["The Vision"]
Stream_Engine["Stream Processor"]:::stream
subgraph Compute ["Compute Services"]
Entity_Res["Entity Resolution"]:::ml
Ontology_Map["Ontology Mapper"]:::stream
ML_Inf["ML Inference"]:::ml
end
Feature_Store["Feature Store (Online)"]:::pg
end
subgraph Knowledge ["The Synapse"]
Intel_Bus[("Curated Intel Bus (Kafka)")]:::bus
subgraph PG_Engine ["PostgreSQL"]
direction TB
KG[("Apache AGE")]:::pg
VecDB[("pgvectorscale")]:::pg
Relational[("Relational")]:::pg
Timescale[("TimescaleDB")]:::pg
end
ObjStore[("Object Store")]:::pg
end
subgraph Consumption ["Galadril Studio"]
Gateway["Unified Ontology API"]:::app
Studio["Investigation Graphs"]:::app
Alerts["Operational Alerting"]:::app
end
S1 & S2 & S3 & S4 --> Connectors
Connectors --> Raw_Bus
Connectors -->|Direct Backup| ObjStore
Raw_Bus --> Stream_Engine
Stream_Engine <--> Ontology_Map
Stream_Engine <--> Feature_Store
Feature_Store -.-> |"Get Features"| ML_Inf
ML_Inf --> Stream_Engine
Entity_Res <--> |"Lookup / Match"| Relational
Stream_Engine <--> Entity_Res
Stream_Engine --> Intel_Bus
Intel_Bus --> PG_Engine
PG_Engine & ObjStore --> Gateway
Gateway <--> Studio
Gateway --> Alerts
Galadril implements a reasoning framework based on the Event-State Knowledge Graph (ESKG), as described in Zang et al. (2026).
Its core transition pattern is:
A state enables an event, the event produces a new state, and the graph grows with this history. This makes state changes traceable rather than simply overwriting the previous value.
The base ESKG defines six relations:
| Relation | Meaning |
|---|---|
Triggers ( |
A state enables or activates an event. |
LeadsTo ( |
An event produces a resulting state. |
Evolution ( |
A state directly evolves into another state. |
Contain ( |
An event contains or decomposes into other events. |
Occur ( |
An event occurs at or is associated with a physical entity. |
Influence ( |
An event affects a physical entity or one of its properties. |
Galadril extends this model with Latent Identity ESKG. It therefore keeps evidence and identity hypotheses separate from authoritative graph facts until a resolution decision is made.
Its additional relations describe that resolution process:
| Relation | Meaning |
|---|---|
hasInference |
Links an observation to its inference result. |
consideredCandidate |
Records identities considered during inference. |
hasDecision |
Links an inference to the resulting decision. |
selectedTarget |
Records the identity selected by that decision. |
promotedAs |
Resolves a latent identity into an authoritative entity. |
mergedWith |
Versionably merges two latent identity hypotheses. |
supersedes / revokes |
Replaces or invalidates an earlier interpretation without deleting history. |
This project is licensed under the terms of the BSD 3-Clause License. See the LICENSE file for the full license text.