# Compatibility

This kit supports Plugin API major 1. Manifest `apiVersion` must negotiate that
major; additions within major 1 are optional and must be feature-detected. An
incompatible major is rejected before plugin activation.

All public plugin runtimes are personal-vault features in v1. Native,
`sandboxed-page`, and `live-sandboxed` packages stop when the workspace
becomes shared or unavailable. Received package/source bytes stay inert even
when their ID, digest, or publisher signature matches something known on the
device. V1 ships no catalog and no reviewed system-package exception.

## Runtime and contribution matrix

| Capability | Native | Sandboxed page | Live sandboxed |
| --- | --- | --- | --- |
| Vanilla DOM | Yes, full trust | Yes, iframe-owned DOM | No DOM |
| React-authored UI | Yes, plugin-bundled React | Yes, plugin-bundled React | No |
| Declarative UI/search | No | No | Yes |
| Host SearchView | Yes | Serializable search API only | Declarative search node |
| Host note editor | Yes | No | No |
| Markdown block | Imperative | Unsupported in API 1 | Declarative |
| CodeMirror extension | Yes, full trust and build proof | No | No |
| Note action | Yes | No | No |
| File viewer | Imperative | Opaque viewer lifecycle | Declarative text viewer |
| Jira reference workflow | Native reference | — | Kit adapter |
| CSV reference workflow | Native reference | Kit adapter | — |

The kit contains ten matching examples: vanilla native, React native, React
sandboxed page, plain-JavaScript live customization, declarative search,
host SearchView, host note editor, trusted editor extension, live Jira, and
sandboxed CSV. Repository compatibility tests additionally cover API-major
negotiation, note actions, file viewers, canonical discovery, changed-package
reapproval, and external installation/migration.

## Platform and lifecycle expectations

The PWA and Capacitor bundles use the same public contract, opaque sandbox
bootstrap, QuickJS evaluator, and schemas. Developer-kit assets are distributed
externally and are not app-precache content. A runtime may
narrow its manifest platforms. Browser/PWA network access remains limited by
the reviewed application CSP; a compatible native transport is required for
arbitrary approved HTTPS origins. The dormant Tauri reference is not a
supported v1 build target.

Disable, update, uninstall, vault switch, or shared/unavailable transition
releases registrations, views, component handles, editor leases, cursors,
streams, jobs, requests, timers, and isolated runtimes. Uninstall retains data
by default; data deletion is a separate confirmation. See
[development-lifecycle.md](development-lifecycle.md) and
[security.md](security.md).
