Versions
The canonical reference for the four independent version axes used across NexArt: package version, record schema, canonicalisation protocolVersion, and container version.
Four Independent Version Axes
NexArt versioning is deliberately split into four axes that MUST NOT be conflated:
- Package version. The npm version of an individual package, such as
@nexart/ai-executionor@nexart/policy. - Record schema version. The shape of a CER snapshot and bundle, currently V1 or V2. See AI Execution CER.
- Canonicalisation protocolVersion. The byte-level canonicalisation profile used when computing hashes, for example
nexart-v1orjcs-v1. - Container version. The version of the outer bundle container itself (the CER container, the Project Bundle container), independent of the protocolVersion carried inside it.
A package major/minor bump does not imply a protocol change. Packages, record schemas, protocol versions, and containers each evolve on their own schedule.
Current Package Versions
| Package | Version |
|---|---|
| @nexart/ai-execution | 1.4.0 |
| @nexart/agent-kit | 0.6.0 |
| @nexart/cli | 1.3.0 |
| @nexart/signals | 0.8.3 |
| @nexart/codemode-sdk | 1.13.1 |
| @nexart/ui-renderer | 0.9.1 |
| @nexart/policy | 0.1.0 |
| @nexart/governed-execution | 0.4.2 |
Rendered from VERSIONS.packages in src/data/versions.ts. For example, pkg("@nexart/ai-execution") resolves to @nexart/ai-execution@1.4.0.
Protocol and Canonicalisation Table
| protocolVersion | Canonicalisation profile |
|---|---|
| 1.2.0 | nexart-v1 |
| 1.3.0 | jcs-v1 |
| 1.3.1 | jcs-v1 |
Default protocolVersion when omitted: 1.2.0. Values are sourced from VERSIONS_MANIFEST.protocol and VERSIONS_MANIFEST.canonicalizationProfiles, last reviewed 2026-10-10.
Other Container and Schema Identifiers
- CER schema version:
0.1 - Bundle type identifier:
cer.ai.execution.v1
The AI Execution V2 bundle and Project Bundle each carry their own container version and their own protocolVersion; a container version bump does not by itself change the protocolVersion, and vice versa. See AI Execution CER and Release Notes.
Governed Execution Compatibility
| NexArt Node | 0.30.1 |
|---|---|
| @nexart/governed-execution | 0.4.2 |
| Bundle type | cer.governed.execution.v1 |
| Profile | cage-governance-v1 (version 1) |
| Container version | 0.1 (0.2 confidential variant) |
| Topology semantics | Static cycles and self-edges allowed; concrete lineage acyclic; selected parents legal, subset allowed |
| Canonicalisation | RFC 8785 JCS (jcs-v1), SHA-256 |
| Routes | POST /api/attest (authenticated), POST /v1/cer/verify (stateless), GET /.well-known/nexart-node.json |
Fail-Closed on Unknown protocolVersion
protocolVersion it does not recognize MUST fail closed rather than attempt best-effort verification. This surfaces as a schema-level error (for example SCHEMA_ERROR or SCHEMA_VERSION_UNSUPPORTED from the CLI) rather than a silent pass. See AIEF for how this interacts with the schemaSupported check.A Package Bump Does Not Imply a Protocol Change
Bumping a package's minor or patch version (for example adding a new optional field or export) does not by itself change the canonicalisation protocolVersion. Consumers MUST check protocolVersion and record schema fields directly rather than inferring compatibility from a package version string.
Next
- Release Notes: what changed at the current baseline.
- AIEF: how AIEF version relates to these axes.
- Glossary: definitions for protocolVersion and related terms.