Strixonomy architecture¶
Which architecture doc?
Read this When Platform architecture Canonical ecosystem overview for evaluators Implementation architecture Crate layout and internal modules for contributors This page Short Strixonomy stack summary only Status: Strixonomy engine is the platform identity for the Rust workspace shipped since v0.2 (historically OntoCore). See ADR-0022 (current) and ADR-0018 (historical).
High-level diagram¶
+---------------------------+
| Strixonomy IDE |
| VS Code trees + commands |
| React webviews |
+-------------+-------------+
|
v
+---------------------------+
| Strixonomy LSP |
| (strixonomy-lsp) |
+-------------+-------------+
|
v
+---------------------------+
| Strixonomy engine |
| strixonomy façade + crates|
| catalog/query/diagnostics |
| refactor/reasoner/robot |
+-------------+-------------+
|
+-------+-------+-------+
v v v
+-----------+ +-----------+ +------------------+
| Oxigraph | | HornedOWL | | Ontologos |
| RDF/SPARQL| | OWL axioms| | reasoners |
+-----+-----+ +-----+-----+ +--------+---------+
| | |
+───────┬───────┘ |
v |
+---------------------------+ |
| Workspace Files |◄───────┘
| owl/rdf/ttl/jsonld/obo |
+---------------------------+
Responsibility split¶
| Owner | Responsibilities |
|---|---|
| Strixonomy engine | Workspace discovery, indexing, RDF/OWL/OBO parsing, entity catalog, symbol graph, import graph, SQL/SPARQL, diagnostics, refactoring, reasoning integration, patch write-back, CLI, LSP, plugin hosting (build/validation/doc/workflow plugins), future Python/TypeScript bindings, future MCP server |
| Strixonomy IDE | VS Code activity bar, explorer UI, React webviews, inspector, Query Workbench UI, Manchester editor UI, graph panels, extension commands, marketplace packaging, user onboarding, toolchain workflow UI (owlmake and plugin actions) |
| Ontologos | OWL reasoning, classification, consistency, explanations, inference profiles |
| External plugins (e.g. owlmake) | ROBOT/ODK-style build, validation, release, and documentation workflows — integrate via Strixonomy plugin APIs; not core dependencies |
Façade and implementation¶
| Layer | Crates |
|---|---|
| Public façade | strixonomy — re-exports and Workspace API |
| Core types | strixonomy-core |
| Parsing | strixonomy-parser, strixonomy-owl |
| Catalog | strixonomy-catalog |
| Query | strixonomy-query |
| Diagnostics | strixonomy-diagnostics |
| Reasoning | strixonomy-reasoner → OntoLogos |
| Refactoring | strixonomy-refactor |
| ROBOT | strixonomy-robot (external Java CLI) |
| CLI | strixonomy-cli |
| LSP | strixonomy-lsp |
See crate map for details.
Key design rules¶
- Dual stack (ADR-0013): Catalog entities/axioms from Horned-OWL; triple counts and SPARQL from Oxigraph.
- Reasoner adapters (ADR-0008, ADR-0015): Strixonomy delegates reasoning to OntoLogos; no JVM reasoners.
- Local-first (ADR-0005): Indexing and queries run on the user's machine by default.
- LSP boundary (ADR-0007): Strixonomy extension talks to Strixonomy only via LSP — no Rust logic in TypeScript.
Implementation architecture (crate tables, dependency rules): design/ARCHITECTURE.md.