Skip to main content

Changelog conventions for superbuild consumers

Superbuild workspaces that mount this repository at tools/ai-rules/ keep a root-level CHANGELOG.md for release-relevant history of the consumer workspace (and each first-party Git repo under src/ keeps its own changelog when that repo is released separately).

Canonical specification​

Changelog format, when to update, and AI expectations are defined by A2C — not fully duplicated here.

Use the a2c-workflow tag or commit that matches your team's pinned tooling when following these links; develop URLs below are convenience pointers, not a floating contract.

TopicCanonical source
Changelog policya2c-workflow docs/workflow/changelog-policy.md
ADR (requirement)a2c-workflow ADR-0002
Templatea2c-workflow templates/changelog/CHANGELOG-template.md

Superbuild-workflow and A2C are different workflows. They share one changelog contract (Keep a Changelog + SemVer) so humans and AI agents use the same file shape.

Requirement (consumers)​

Repository roleExpectation
Superbuild consumer (workspace root)Root CHANGELOG.md — scaffolded by eai-supinit / eai-supmig bootstrap
Product submodule under src/Own CHANGELOG.md when that Git repo is versioned / released on its own

Standards​

TopicStandard
FormatKeep a Changelog 1.1.0
VersioningSemantic Versioning 2.0.0

Structure (minimum)​

# Changelog

All notable changes to this project are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- (nothing yet)

### Changed

- (nothing yet)

### Fixed

- (nothing yet)

When to update​

Update changelogSkip changelog
User-visible featuresInternal refactors with no release impact
Bug fixes consumers noticeTrivial typo fixes in non-release docs
Breaking changes / deprecationsMechanical renames invisible to consumers
Security fixes

During development: add bullets under ## [Unreleased] as release-relevant work lands.

At release: move [Unreleased] into ## [X.Y.Z] - YYYY-MM-DD and reset [Unreleased].

ADRs vs changelog​

  • ADRs (docs/adr/) record why significant decisions were made — see adr-conventions.md
  • Changelog records what changed in each version

Link ADR numbers from changelog bullets when helpful; do not paste ADR bodies into the changelog.

AI expectations​

SituationExpected behavior
BootstrapCreate root CHANGELOG.md from the consumer template if missing
Release-worthy changePropose [Unreleased] updates; apply when approved
Routine internal workDo not touch the changelog unless release-relevant
Scaffold / agent handoffRead this doc and the consumer root AGENTS.md

Enforcement​

A2C's check-changelog pre-commit hook is optional for superbuild consumers unless the workspace also adopts A2C hooks. Superbuild bootstrap scaffolds the file and documents the policy; hook enforcement remains an A2C (or local) choice.

This repository​

superbuild-workflow dogfoods Keep a Changelog for the eai-sup* packages — see root CHANGELOG.md and release-pipeline.md. That maintainer flow is separate from the consumer convention above.