agent-manifest

Agent Manifest — Versioning Policy

This repository uses two related but distinct version tracks:

  1. Repository version (Git tag / Release): e.g. v0.2.0, v0.2.1
  2. Specification version (manifest_version + schema title/const): e.g. 0.1.0

These two versions do not need to move together.


1. Repository version (Git tag / Release)

The repository version represents the overall state of the project, including:

Repo SemVer meaning

Rule: A repo release MUST NOT imply a spec bump unless the spec itself changes.


2. Specification version (manifest_version)

The specification version is the normative contract for Agent Manifests. It changes only when the technical spec changes.

A spec bump MUST occur when changes affect:

Spec SemVer meaning


3. Compatibility rule (hard)

A manifest that declares:

"manifest_version": "0.1.0"

MUST validate against the 0.1.0 schema.

Never publish a schema that requires manifest_version: "0.2.0" while claiming compatibility with 0.1.0.


4. When to bump the spec

Bump spec MINOR if:

Bump spec MAJOR if:

Do NOT bump spec if:


5. Required steps for a spec bump

When the spec version changes (e.g. 0.1.00.2.0), all of the following MUST be done in the same release:

  1. Update spec/manifest.schema.json (title, const, and any constraints)
  2. Update spec/spec.md (normative text)
  3. Update all examples to match the new manifest_version
  4. Update CHANGELOG.md with a clear Added / Changed / Removed section
  5. Create a new repo release tag (GitHub Release)

If maintaining multiple spec versions, keep separate schema files:

spec/manifest.schema.0.1.0.json
spec/manifest.schema.0.2.0.json

And clearly document which one is current.


6. Practical examples

Example A — Repo bump only

Example B — Spec minor bump

Example C — Spec major bump


7. Single source of truth

Layer Files
Normative spec/spec.md, spec/manifest.schema.json
Non-normative README.md, foundations/, examples/

The spec version is authoritative. The repo version is contextual.

When in doubt: the schema const value is the ground truth for what manifest_version a manifest must declare.