Skip to content

API stability (pre-1.0)

Strixonomy IDE and Strixonomy engine are pre-1.0. Published crates use 0.27.x on crates.io (latest tagged). Minor releases may add or change APIs until v1.0.0.

Canonical capabilities: What ships today

v0.17 API freeze scope (path to 1.0)

The following modules are documented and intended to stabilize toward 1.0:

Module / surface Crate Notes
Workspace, catalog index strixonomy Primary embedding entry
Core model types strixonomy-core Entity, Diagnostic, IRI helpers
SQL / SPARQL query strixonomy-query Virtual tables; new tables may be added pre-1.0
Diagnostics strixonomy-diagnostics Rule codes + DiagnosticConfig
Semantic diff strixonomy-diff DiffResult, format_diff_*
Docs export strixonomy-docs export_workspace, hierarchy/property renderers
OWL / OBO patch strixonomy-owl, strixonomy-obo Patch op JSON shapes
Plugin host (SDK 1.0 wire) strixonomy-plugin Manifest schema, PluginHost — wire frozen as SDK 1.0; marketplace/owlmake remain product 1.0Plugin policy

May still change pre-1.0: internal indexer modules, LSP field additions, webview postMessage types (ship with extension), SQL column additions (additive).

Frozen at 1.0 (product target): CLI command names, exit codes, stable Rust types above, documented LSP strixonomy/* methods, curated plugin marketplace. Already frozen as Plugin SDK 1.0: TOML + subprocess JSON wire (api_version = "1").

Stability tiers

Tier Surface Stability Notes
A — Stable enough for CI strixonomy validate, query, sparql, classify, realize, check-instance, dl-query, refactor (incl. merge/replace), diff, docs, patch, robot, plugins, workflow CLI High for commands and exit codes Pin with cargo install strixonomy-cli --locked --version 0.27.0. Exit codes documented in workspace limits. No strixonomy swrl CLI — SWRL via IDE/LSP/patches.
B — Documented, may evolve LSP custom methods (strixonomy/*) Medium Wire format in LSP API and JSON Schema. Minor releases may add fields or methods.
C — Library APIs strixonomy and strixonomy-* Rust crates Medium-low Public types used by CLI/LSP are more stable than internal modules. Pin exact versions in Cargo.toml.
D — Experimental / product-1.0 Curated plugin marketplace, production owlmake, SHACL full validation, MCP, Python/TS SDKs Low until product 1.0 Plugin SDK 1.0 wire is frozen today — see Plugin authoring and Plugin policy.

What we commit to before v1.0

  • Document breaking changes in migration guides and changelog.
  • Keep CLI command names stable where possible (validate, query, classify, etc.).
  • Publish LSP JSON Schema alongside releases when wire format changes.

What may change between minors

  • Rust public API on strixonomy-* crates (prefer pinning matching minors, e.g. 0.24, in Cargo.toml).
  • LSP request/response fields (clients should tolerate unknown fields).
  • SQL virtual table columns (check sql-reference per release).
  • Webview postMessage payloads (extension + webview-ui ship together in the VSIX).
  • Plugin manifest schema and subprocess contract (documented in Plugin authoring).

CI / ops:

cargo install strixonomy-cli --locked --version 0.27.0

Rust embedding:

strixonomy = "0.27"
strixonomy-core = "0.27"

VS Code: install Strixonomy 0.27.0 (latest tagged) from Marketplace, Open VSX, or a release VSIX — the bundled strixonomy-lsp matches the extension version.

Enterprise evaluation