Aventa Extension Development Specification
面向开发者的稳定规则投影,不包含内部治理历史。
# Package identity
Package id and semantic version form the package identity. Identity is immutable for one admitted candidate; upgrades publish a complete new candidate.
# Manifest rules
Manifests are closed declarations. Unknown, duplicate or invalid fields fail validation. Declared resources must exist and undeclared runtime edges are not allowed.
# Lifecycle, capability and dependency rules
Only legal lifecycle transitions publish. Capabilities are type-bounded and rechecked. Dependency ordering is deterministic; cycles fail closed.
# Data and migration rules
Every mutable namespace has one owner. Migration history is immutable and journaled. Cross-package private storage is forbidden.
# Typed event rules
Events are versioned and host-owned. Payloads and contributions are validated. Failure policy and ordering are explicit.
# Determinism and fail-closed behavior
Equivalent inputs must produce equivalent declarations, plans and product effects. Missing authority, ambiguity or invalid state stops the operation.
# Theme and presentation rules
Themes use typed presentation data and named composition. Enabled and effective are separate. Themes do not receive general business-storage authority.
# Public Kernel SDK boundary
Use documented public classes and scoped runtime services. Do not import Kernel internals, mutate registries directly or construct a second control plane.
# Package Status
DEVELOPMENT_PACKAGE is the normal starting state. A host may assign ENGINEERING_VALIDATED after its selected engineering suite passes. Higher reserved states are not part of normal development.
# Naming
Use stable lowercase package ids, semantic versions, versioned event names and package-owned namespace prefixes. Prefer explicit domain names over framework abbreviations.
# Forbidden Practices
- Kernel internal imports
- legacy Xiuno runtime calls
- cross-package private storage
- arbitrary filesystem overwrite
- self-promotion of assurance status
- silent dependency or capability fallback
# Compatibility Policy
Legacy Xiuno plugins are not directly supported. Migration into Aventa packages is required. Preserve business behavior, not unsafe integration edges.