Testing & Debugging
Test in a development-only profile before distributing a bundle. A complete plugin test suite covers at least:
- manifest schema, semver/API compatibility and tier policy;
- artifact path containment, SHA-256 mismatch, invalid Ed25519 signatures and signed descriptor/manifest tampering;
- descriptor path containment, SHA-256 mismatch, install, restart restore and uninstall cleanup;
- permission denial, live permission revocation and disabled lifecycle;
- descriptor hash, size, JSON-schema and timeout failures for community bundles;
- unavailable services, cancellation, rate limits and bounded errors;
- field-level metadata selection, provenance, conflict and undo when relevant;
- loading, empty, error and plugin-disabled UI states.
Debugging safely
Use bounded structured diagnostics with a plugin ID, operation, outcome and non-sensitive error code. Do not include local paths, audio, full library records, pairing material, tokens, private storage contents or raw remote payloads. A host may count failures and auto-disable a repeatedly failing plugin. Reproduce lifecycle behaviour with restart and grant-revocation tests, not only an in-memory happy path.
The preview community runtime deliberately cannot execute a test artifact. Its tests validate local installation, grants, disablement, restart restore, uninstall, bundle verification and descriptor activation only. Test a future executable runtime only after its isolation model is published.