Plugin SDK 1.0 compatibility policy¶
OntoCore ships Plugin SDK 1.0 as a frozen TOML + subprocess JSON host (api_version = "1") — safe to author against today. A curated marketplace, commercial support, and production owlmake integration remain product 1.0 goals. This page states the product policy — not how to author a plugin. For authoring, see Plugin authoring.
Support stance¶
| Topic | Policy |
|---|---|
| Commercial plugin support | Not offered — community / GitHub issues |
| Marketplace / app store | None — no curated marketplace SLA |
| Compatibility promise | Within major version 1.x, the wire contract (api_version = "1") is additive; breaking removals require a new major |
| Security review | Third-party plugins run as subprocesses with declared permissions — treat untrusted plugins as untrusted code |
| Stability target | SDK 1.0 freezes the wire contract for authoring today; curated marketplace and production owlmake remain product 1.0 — see API stability |
What must not change in 1.x¶
- Manifest root shape:
[plugin],[capabilities],[config],[[ui.*]] - Frozen wire:
api_version = "1" - Subprocess invocation:
<entry> <action> --workspace <path> …with JSON stdout - Existing actions:
validate,export,workflow,ui-view - Permission string ids (
workspace.read,external_process, …)
What may be added in 1.x (non-breaking)¶
- New optional manifest fields (ignored by older hosts)
- New optional JSON stdout fields
- New provider actions (
reasoner.classify,query.run,refactor.preview,graph.build) - New hosted
kindvalues documented as hosted; reserved kinds stay rejected until promoted
Deprecation¶
Fields or actions marked deprecated remain for at least one minor release before removal, and only leave in a major bump.
Migration from v0.14–v0.24 authoring¶
Manifests written for OntoCore v0.16+ remain valid. New provider kinds (reasoner, query, refactor, graph) and depends_on / activation are opt-in.
What is not promised¶
- Binary ABI / in-process Rust trait stability across majors
- Java Protégé plugin compatibility
- Guaranteed availability of community plugins
- Marketplace or remote code execution
Enterprise guidance¶
Treat plugins as internal tooling: pin versions, review manifests, and keep a rollback path (ontocore plugins disable <id> writes .ontocore/plugin-disabled.json). See Production readiness and Security.