Skip to content

Commit e278915

Browse files
dmealingclaude
andcommitted
feat(1.0)!: freeze the metadata contract at Metamodel 1.0
`metamodelVersion` 0.14 → 1.0 in all five byte-gated sites, via `scripts/check-metamodel-version.mjs --set 1.0`. This is the METADATA axis, which ADR-0035 Amendment 2 keeps separate from the package axis: the number promises the registered vocabulary, the canonical/interchange format and the wire contract, and from here a change to any of them is a MAJOR on that axis alone. The registry manifest itself is unchanged since v0.25.0 — the gate reports "none change … declared 1.0 (0.14 → 1.0)". That is the point of the cut: the vocabulary that ships is the vocabulary 1.0 covers, which is what `docs/1.0-readiness.md` G3a declared. Package versions do not move here. The npm publish set is bumped transiently at RC and release time and never committed (scripts/check-no-prerelease-versions.sh). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3v6M6uqECZ2Sb5eUv6YY
1 parent c82e836 commit e278915

5 files changed

Lines changed: 5 additions & 5 deletions

File tree

fixtures/registry-conformance/expected-registry.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"metamodelVersion": "0.14",
2+
"metamodelVersion": "1.0",
33
"types": [
44
{
55
"type": "attr",

server/csharp/MetaObjects/RegistryManifest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ private static ManifestType ToManifestType(TypeDefinition def) =>
374374
/// unstable (semver major-0). The 1.0 cut flips this to <c>"1.0"</c>.
375375
/// Emitted as the FIRST top-level key in the registry manifest (C4).
376376
/// </summary>
377-
public const string MetamodelVersion = "0.14";
377+
public const string MetamodelVersion = "1.0";
378378

379379
/// <summary>
380380
/// Emit the canonical registry manifest as a byte-stable JSON string.

server/java/metadata/src/main/java/com/metaobjects/registry/RegistryManifest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ public static List<MetaDataTypeProvider> metamodelProviders() {
274274
* the 1.0 cut will flip it to {@code "1.0"}. Mirrors the TS reference's
275275
* {@code METAMODEL_VERSION} constant.
276276
*/
277-
public static final String METAMODEL_VERSION = "0.14";
277+
public static final String METAMODEL_VERSION = "1.0";
278278

279279
// ------------------------------------------------------------------
280280
// SP-G Phase1 Units2-3 — manifest emitter exclusions (documented, uniform

server/python/src/metaobjects/registry_manifest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ def _sorted_children(definition: TypeDefinition) -> list[dict[str, object]]:
255255
return children
256256

257257

258-
METAMODEL_VERSION = "0.14"
258+
METAMODEL_VERSION = "1.0"
259259
"""Rolled-up spec-version for the cross-port registry manifest.
260260
261261
``"0"`` = pre-1.0 / unstable (semver major-0). Flips to ``"1.0"`` at the

server/typescript/packages/metadata/src/registry-manifest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ export interface ManifestType {
112112
* constant read `"0.10"`). Bump with that script — never by hand — so the manifest and
113113
* all four port constants move together.
114114
*/
115-
export const METAMODEL_VERSION = "0.14";
115+
export const METAMODEL_VERSION = "1.0";
116116

117117
/** The full canonical manifest. All collections are sorted for byte-stability. */
118118
interface RegistryManifest {

0 commit comments

Comments
 (0)