nexart.iodocs

    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-execution or @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-v1 or jcs-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

    PackageVersion
    @nexart/ai-execution1.4.0
    @nexart/agent-kit0.6.0
    @nexart/cli1.3.0
    @nexart/signals0.8.3
    @nexart/codemode-sdk1.13.1
    @nexart/ui-renderer0.9.1
    @nexart/policy0.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

    protocolVersionCanonicalisation profile
    1.2.0nexart-v1
    1.3.0jcs-v1
    1.3.1jcs-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

    Unknown protocolVersion MUST be rejected
    A verifier that encounters a 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.