You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: decouple STANDARDS_VERSION from meta release VERSION
Add STANDARDS_VERSION file (1.10.0) as the single source of truth
for the ecosystem standards surface. The drift checker and scaffold
now read this file instead of VERSION, so registry additions and
other meta-repo releases no longer force a fleet-wide re-stamp.
- Add STANDARDS_VERSION at repo root containing 1.10.0
- Update scripts/drift_check/cli.py to read STANDARDS_VERSION
- Update scaffold/create-tool.py to stamp from STANDARDS_VERSION
- Update standards/versioning.md to define both files and when each moves
- Bump VERSION to 1.12.0
Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
Copy file name to clipboardExpand all lines: standards/versioning.md
+18-6Lines changed: 18 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,12 +72,24 @@ The release workflow auto-generates release notes grouped by commit type:
72
72
73
73
`CHANGELOG.md` is maintained manually for curated, human-readable release history. It is not auto-generated.
74
74
75
-
## What a MINOR bump means for ecosystem standards
75
+
## Two version files in the meta-repo
76
76
77
-
The meta-repo's `VERSION` file carries the ecosystem-wide standards version. It follows the same SemVer rules, but each component has a second, standards-specific meaning for tool repos that embed a `standards-version` signal in their agent files.
77
+
The meta-repo root contains two separate version files that serve distinct purposes and move independently.
78
78
79
-
-**MAJOR** (e.g., `1.x.y` → `2.0.0`) — an incompatible change to the standards themselves. New required elements, removed fields, or restructured file conventions that existing tool repos will fail to validate against without re-alignment.
80
-
-**MINOR** (e.g., `1.6.x` → `1.7.0`) — ecosystem standards changed in a way that tool repos need to re-align with. Typical triggers: new required elements in agent files, changed frontmatter schemas, new required standards references, restructured validation rules, or new checks in the drift checker that introduce findings for existing tool-repo content. A mechanical rollout session across the tool repos is typically scheduled after a MINOR bump.
81
-
-**PATCH** (e.g., `1.7.0` → `1.7.1`) — bug fixes, clarifications, or additions that do not change the standards surface. Tool repos with a PATCH-behind signal are reported as `info` by the drift checker — visible in verbose runs but not blocking CI.
79
+
### `VERSION` - meta-repo release version
82
80
83
-
The drift checker enforces this mapping via the `same-major-minor` signal policy (see `standards/drift-checker.config.json`). Tool repos whose `standards-version` differs from the meta-repo's `VERSION` in MAJOR or MINOR are reported as `error`; PATCH differences are `info`; tool values ahead of meta are `warn` (either an in-flight rollout or a missed meta-repo bump, both worth surfacing).
81
+
Tracks the release history of the meta-repo itself (registry additions, scaffold changes, doc updates, new CI workflows). Bumped by `release.yml` on every qualifying push to `main` using the same conventional-commit rules as tool repos. Registry additions (`feat:`) force a MINOR bump here. This number appears in GitHub Releases and the release changelog but has no direct meaning to tool repos.
82
+
83
+
### `STANDARDS_VERSION` - ecosystem standards surface version
84
+
85
+
Tracks the version of the standards that tool repos are expected to comply with. Tool repos embed this value in their `<!-- standards-version: X.Y.Z -->` markers in CLAUDE.md, AGENTS.md, and ROADMAP.md. The drift checker compares each tool repo's embedded marker against this file, not against `VERSION`.
86
+
87
+
`STANDARDS_VERSION` moves **only** when the standards surface actually changes in a way that requires tool repos to update:
88
+
89
+
-**MAJOR** (e.g., `1.x.y` to `2.0.0`) - an incompatible change to the standards themselves. New required elements, removed fields, or restructured file conventions that existing tool repos will fail to validate against without re-alignment.
90
+
-**MINOR** (e.g., `1.6.x` to `1.7.0`) - standards changed in a way that tool repos need to re-align with. Typical triggers: new required elements in agent files, changed frontmatter schemas, new required standards references, restructured validation rules, or new checks in the drift checker that introduce findings for existing tool-repo content. A fleet-wide re-stamp session is typically scheduled after a MINOR bump.
91
+
-**PATCH** (e.g., `1.7.0` to `1.7.1`) - clarifications or additions that do not change the standards surface. Tool repos with a PATCH-behind marker are reported as `info` by the drift checker - visible in verbose runs but not blocking CI.
92
+
93
+
Registry-only changes, scaffold improvements, docs additions, and other meta-repo work that does not change what tool repos are required to contain **do not** bump `STANDARDS_VERSION`, even if they bump `VERSION`.
94
+
95
+
The drift checker enforces this mapping via the `same-major-minor` signal policy (see `standards/drift-checker.config.json`). Tool repos whose `standards-version` marker differs from `STANDARDS_VERSION` in MAJOR or MINOR are reported as `error`; PATCH differences are `info`; tool values ahead of meta are `warn`.
0 commit comments