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 |
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-08-18.
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.
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.