Skip to content

Extension API Boundaries

Assura uses extension language in a narrow way during the beta line. Current extensions.* configuration entries are first-party policy families executed by assura check. They are not a public third-party plugin API.

CategoryStatusUse it for
extensions.* config policiesExperimental first-partyDeterministic local repository policies that do not fit ordinary directory-tree validation.
CLI, daemon, content, agent, and editor JSON contractsSupported or experimental by commandLocal automation, CI, editor adapters, and agent hooks.
Rust modules exported from src/lib.rsInternal/unstableAssura binaries, tests, and benchmarks before a separate API stabilization decision.
Public plugin API or SDKRoadmap onlyFuture work that still needs sandboxing, versioning, distribution, security, and performance proof gates.

Current config families under extensions.* are local and deterministic:

  • extensions.custom_constraints
  • extensions.release_contracts
  • extensions.support_matrices
  • extensions.manifest_semantics
  • extensions.test_relationships
  • extensions.module_topologies
  • extensions.docs_lifecycles
  • extensions.repository_references
  • extensions.agent_guidance
  • extensions.relationships

These policies parse configured paths, surfaces, expected values, and evidence files. They do not load repository-provided code and they do not run arbitrary shell commands.

Assura does not currently support:

  • remote plugin loading;
  • shell-executed validation plugins;
  • plugin marketplaces;
  • TypeScript plugin APIs;
  • semver-stable Rust library APIs;
  • hosted extension registries.

Use the supported local command contracts for integration work. If a public plugin API is reopened later, it needs a separate goal with security, sandboxing, versioning, distribution, diagnostics, and performance gates.

Repository source of truth: docs/extension-api-boundaries.md.