Navigation
Getting Started
Reference: directing
Watching
Reference: shaping
Optional budgets
Problems
Concepts & package reference
Reference
Concepts

Component packages

Immutable packages let a company adopt optional capability without making its semantics part of the mechanical runtime.

What a component package is

A component package carries an exact, immutable implementation of a company capability. It may contribute services, schemas, tools, interfaces, adapters, or operational behavior. The package and its component own their domain semantics; the kernel does not reinterpret them as teams, tasks, workflows, or any other universal model.

Packages can support agent-facing tools, external integrations, memory systems, operator views, execution providers, or entirely different company-local components. Agent use is one case, not the definition of the boundary.

Distribution is not adoption

  • PublishThe registry distributes immutable artifact bytes and exact identity metadata. It does not install, activate, grant, or own the package lifecycle.
  • AcquireA consumer fetches and verifies exact bytes. Acquisition alone does not make the package selected company state.
  • SelectThe operating graph records an exact component desire: package, configuration, target, and desired presence.
  • ApplyThe selected company-local component target validates and applies the desire, then reports package-owned status.

State and authority stay explicit

If a component owns important state or makes external promises, its boundary should expose the status, export, recovery, replacement, and credential behavior appropriate to that domain. These are component-owned contracts, not fields in a generic installation workflow.

Replacement changes the graph-selected desire and lets the owning target reconcile the transition. Removing a package from a registry catalog does not silently change a running company.

Failure modes

  • Core absorptionEvery useful extension becomes kernel behavior, making the runtime too thick and semantically opinionated.
  • Acquisition-as-selectionDownloaded bytes are treated as live company intent without an exact graph desire.
  • Hidden ownershipA component owns state or external actuality without exposing how to observe, recover, or replace it.
  • Mutable-source driftRuntime behavior depends on a source tree or moving remote ref instead of an immutable artifact.
  • Registry lifecycle creepDistribution code starts deciding activation, permissions, scope, or component-owned state.
Next