Context
The install layout, theme.toml, .meta, the INHERIT contract, the extra.pdf block, and the build-docs-pdf.sh interface all landed since 0.1.0. None of it has been adopted by a consumer yet — bootroot still pins 0.1.0 and runs the old .theme layout — so the contract is self-tested against the samples but unproven in the field. aimer-web builds two configs and already uses exclude_docs for content; agentcoop has neither a PDF build nor a docs/theme.toml. Either could force a base-config or layout change during adoption.
That is what 0.x is for, so the next release is 0.2.0, not 1.0.0. But the README's Versioning section defines MAJOR, MINOR, and PATCH without saying anything about 0.x, and those definitions assume 1.x semantics: under 0.x a breaking change conventionally bumps MINOR, which the section as written does not permit anyone to infer.
Scope
- Add the
0.x rule to the README Versioning section: until 1.0.0, a breaking change bumps MINOR rather than MAJOR, and say briefly why the project is still on 0.x — the contract has not yet been proven by a consumer adopting it.
- Promote the
## Unreleased section in CHANGELOG.md to ## [0.2.0] with the release date, and add the matching link reference beside the existing [0.1.0] one.
The Unreleased entries are already written and scoped by area. Do not rewrite them.
Acceptance criteria
Constraints
- Do not change the MAJOR, MINOR, or PATCH definitions themselves. Only add the
0.x qualifier.
- Do not edit the existing
Unreleased entries, and do not add entries for repo-internal changes. The CHANGELOG documents the consumer-visible surface only.
- Do not create the tag. Tagging is a separate manual step.
Context
The install layout,
theme.toml,.meta, theINHERITcontract, theextra.pdfblock, and thebuild-docs-pdf.shinterface all landed since0.1.0. None of it has been adopted by a consumer yet —bootrootstill pins0.1.0and runs the old.themelayout — so the contract is self-tested against the samples but unproven in the field.aimer-webbuilds two configs and already usesexclude_docsfor content;agentcoophas neither a PDF build nor adocs/theme.toml. Either could force a base-config or layout change during adoption.That is what
0.xis for, so the next release is0.2.0, not1.0.0. But the README's Versioning section defines MAJOR, MINOR, and PATCH without saying anything about0.x, and those definitions assume1.xsemantics: under0.xa breaking change conventionally bumps MINOR, which the section as written does not permit anyone to infer.Scope
0.xrule to the README Versioning section: until1.0.0, a breaking change bumps MINOR rather than MAJOR, and say briefly why the project is still on0.x— the contract has not yet been proven by a consumer adopting it.## Unreleasedsection inCHANGELOG.mdto## [0.2.0]with the release date, and add the matching link reference beside the existing[0.1.0]one.The
Unreleasedentries are already written and scoped by area. Do not rewrite them.Acceptance criteria
0.xrule and why the project is on0.x.CHANGELOG.mdhas a## [0.2.0]heading thatrelease.ymlcan extract, and no empty## Unreleasedsection is left behind.[0.2.0]link reference exists alongside[0.1.0].markdownlint-cli2passes; both files stay within the 80-column limit MD013 enforces.Constraints
0.xqualifier.Unreleasedentries, and do not add entries for repo-internal changes. The CHANGELOG documents the consumer-visible surface only.