Agent Manifest Governance

Versioning policy

This repository uses two related but distinct version tracks:

  1. Repository version (Git tag / Release): e.g. v1.0.0, v1.0.1
  2. Specification version (manifest_version + schema const): e.g. 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 repository release MUST NOT imply a specification bump unless the specification itself changes.


2. Specification version (manifest_version)

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

The normative specification is defined by:

Where X.Y matches the declared manifest_version.

A specification bump MUST occur when changes affect:

Specification SemVer meaning


3. Compatibility rule (hard)

A manifest that declares:

{
  "manifest_version": "1.0"
}

MUST validate against the corresponding spec/v1.0/schema.json.

Never publish a schema that requires manifest_version: "1.1" while claiming compatibility with 1.0.

The declared manifest_version and the schema path version MUST align.


4. When to bump the specification

Bump specification MINOR if:

Bump specification MAJOR if:

Do NOT bump specification if:


5. Required steps for a specification bump

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

  1. Create a new versioned directory:
    spec/v1.1/
    
  2. Add the updated:
    • spec/v1.1/spec.md
    • spec/v1.1/schema.json
  3. Update all examples to match the new manifest_version
  4. Update CHANGELOG.md with clear Added / Changed / Removed sections
  5. Create a new repository release tag

Previous specification directories MUST remain intact for compatibility reference.


6. Practical examples

Example A — Repository bump only

Example B — Specification minor bump

Example C — Specification major bump


7. Single source of truth

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

The specification version is authoritative.
The repository version is contextual.

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