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
docs: refresh version markers to the current release lines
npm 0.15.18 (was 0.15.6 in the llms/ports docs; CLAUDE.md was 0.15.17) with a note on the
npm-only 0.15.18 patch; Maven 7.7.8, NuGet 0.15.8, PyPI 0.15.10; TS npm package count 13 -> 14.
The llms/ports docs were stale at the 0.15.6 line (only the current-version markers are bumped
here — a fuller content refresh of those files is a separate pass).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FaRaYFjvWVV8D6h33ejj1m
Copy file name to clipboardExpand all lines: CLAUDE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Equal weight — all four ship per-language today across the five ports (TS / C#
19
19
20
20
_Last refreshed 2026-07-04._
21
21
22
-
**TypeScript reference implementation** is **published to npm at `0.15.17`** (14 `@metaobjectsdev/*` publish candidates on the `latest` tag, full lockstep; the two `angular` packages are on their own `0.6.x` line). C# at `0.15.8` (NuGet); Python at `0.15.10` (PyPI — stays a patch ahead on the same line); Java / Kotlin at `7.7.8` (Maven Central). The `0.15.17` line is a coordinated release across all four registries: (1) **BREAKING — `origin.passthrough` is type-preserving** (a passthrough field must match its `@from` source's `field.<subType>` + array-ness or fail load with `ERR_PASSTHROUGH_TYPE_MISMATCH`; opt out with `@convert: true`; retires the narrow `ERR_PARAMETER_REF_PASSTHROUGH_TYPE_MISMATCH`) (#185/#186); (2) **typed value-object jsonb columns end-to-end all ports** — single + `@isArray` array-of-VO round-trip through every port's write/read codec; Kotlin codegen moved off kotlinx `@Serializable` to a generated per-package Jackson `MetaJsonbMapper` (no serialization compiler plugin), C#/Java/Python array-of-VO codecs fixed (#187); (3) **load-order-independent super-resolution** — a dotted `extends: Owner.member` to an inherited member now resolves regardless of file load order (was a Node-vs-Bun `readdir` build-portability bug) via on-demand memoized resolution (#188/#189). The `0.15.6` line is a coordinated cross-port loader-ordering fix (all four registries bumped together): an overlay-only file could be merged *before* the base file declaring the entity it re-opens, so an `object.projection` overlay re-open (and any overlay reaching a not-yet-loaded `extends`/`origin` target) failed super-resolution with spurious `ERR_INVALID_ORIGIN` / `ERR_UNRESOLVED_SUPER` / `ERR_MISSING_REQUIRED_ATTR` — surfacing as a TS-vs-Python divergence but latent in every port. Each loader now stable-partitions overlay-only sources/roots to merge last, deterministically, cross-port conformance-gated (`projection-overlay-abstract-identity`) (#160). The prior `0.15.5` / PyPI `0.15.6` line shipped two consumer-provider CLI fixes (offline `meta migrate` now threads `metaobjects.config.ts` providers #157; a Python `metaobjects … --provider module:symbol` hook #158). The `0.15.4` line fixes cross-package same-name root nodes being wrongly merged by the TS/C#/Python loaders (#155). 2500+ tests passing across the workspace. (The `0.15.1` / `7.7.1` line shipped the **`index.*` type + `identity.secondary` key-purity** [ADR-0040]: `identity.secondary` is now a *unique* alternate key with `@unique` **removed** — a legacy `@unique` fails load with `ERR_UNKNOWN_ATTR` — and a new **`index.lookup`** subtype carries *non-unique* retrieval [`@fields` required; `@using`/`@expr`/`@where`/`@orders` are RDB-physical escapes], cross-port conformance-gated; **breaking**, migration in `docs/features/migrations/identity-secondary-to-index-lookup.md`. This is on top of the `0.15.0` metamodel-1.0 vocabulary program + the ADR-0039 own-accessor fix.)
22
+
**TypeScript reference implementation** is **published to npm at `0.15.18`** (14 `@metaobjectsdev/*` publish candidates on the `latest` tag, full lockstep; the two `angular` packages are on their own `0.6.x` line). C# at `0.15.8` (NuGet); Python at `0.15.10` (PyPI — stays a patch ahead on the same line); Java / Kotlin at `7.7.8` (Maven Central). **npm `0.15.18` is an npm-only, non-breaking patch on top of the coordinated `0.15.17` line** (PyPI/NuGet/Maven unchanged — TS-only fixes; advances the 1.0 quiet period): the `codegen-ts` `promptRender` **FQN `@objectRef` fix** (a prompt payload value-object nesting an `@objectRef` to another value-object emitted invalid `pkg::Name` TypeScript — now package-stripped to the bare name, matching `entityFile`) plus a batch of **agent-context skills fixes** (four of six `metaobjects-*` skills had invalid YAML front-matter so they never intent-triggered; wrong C# reference flags; the reference-fragment install reverted from deploy-all to stack-scoped; deprecated `codegen-ts/generators` imports + singular tanstack paths; ADR-0040 `index.lookup` vocabulary; and a stale Kotlin fixture that had left `agent-context-conformance` red on `main`). A cross-port hunt confirmed the `promptRender` FQN leak was **TS-only** (Java/C#/Kotlin/Python payload codegen already strip); PR #190 added the missing Python + Kotlin regression tests. The `0.15.17` line is a coordinated release across all four registries: (1) **BREAKING — `origin.passthrough` is type-preserving** (a passthrough field must match its `@from` source's `field.<subType>` + array-ness or fail load with `ERR_PASSTHROUGH_TYPE_MISMATCH`; opt out with `@convert: true`; retires the narrow `ERR_PARAMETER_REF_PASSTHROUGH_TYPE_MISMATCH`) (#185/#186); (2) **typed value-object jsonb columns end-to-end all ports** — single + `@isArray` array-of-VO round-trip through every port's write/read codec; Kotlin codegen moved off kotlinx `@Serializable` to a generated per-package Jackson `MetaJsonbMapper` (no serialization compiler plugin), C#/Java/Python array-of-VO codecs fixed (#187); (3) **load-order-independent super-resolution** — a dotted `extends: Owner.member` to an inherited member now resolves regardless of file load order (was a Node-vs-Bun `readdir` build-portability bug) via on-demand memoized resolution (#188/#189). The `0.15.6` line is a coordinated cross-port loader-ordering fix (all four registries bumped together): an overlay-only file could be merged *before* the base file declaring the entity it re-opens, so an `object.projection` overlay re-open (and any overlay reaching a not-yet-loaded `extends`/`origin` target) failed super-resolution with spurious `ERR_INVALID_ORIGIN` / `ERR_UNRESOLVED_SUPER` / `ERR_MISSING_REQUIRED_ATTR` — surfacing as a TS-vs-Python divergence but latent in every port. Each loader now stable-partitions overlay-only sources/roots to merge last, deterministically, cross-port conformance-gated (`projection-overlay-abstract-identity`) (#160). The prior `0.15.5` / PyPI `0.15.6` line shipped two consumer-provider CLI fixes (offline `meta migrate` now threads `metaobjects.config.ts` providers #157; a Python `metaobjects … --provider module:symbol` hook #158). The `0.15.4` line fixes cross-package same-name root nodes being wrongly merged by the TS/C#/Python loaders (#155). 2500+ tests passing across the workspace. (The `0.15.1` / `7.7.1` line shipped the **`index.*` type + `identity.secondary` key-purity** [ADR-0040]: `identity.secondary` is now a *unique* alternate key with `@unique` **removed** — a legacy `@unique` fails load with `ERR_UNKNOWN_ATTR` — and a new **`index.lookup`** subtype carries *non-unique* retrieval [`@fields` required; `@using`/`@expr`/`@where`/`@orders` are RDB-physical escapes], cross-port conformance-gated; **breaking**, migration in `docs/features/migrations/identity-secondary-to-index-lookup.md`. This is on top of the `0.15.0` metamodel-1.0 vocabulary program + the ADR-0039 own-accessor fix.)
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ working code.
37
37
38
38
| Language | Status | Quickstart | Source |
39
39
|---|---|---|---|
40
-
| TypeScript | Published to npm at `0.15.6` (the `@metaobjectsdev/*` packages) |[`docs/ports/typescript.md`](docs/ports/typescript.md)|[`server/typescript/`](server/typescript/) · [`client/web/`](client/web/)|
40
+
| TypeScript | Published to npm at `0.15.18` (the `@metaobjectsdev/*` packages) |[`docs/ports/typescript.md`](docs/ports/typescript.md)|[`server/typescript/`](server/typescript/) · [`client/web/`](client/web/)|
41
41
| Java | Loader + OMDB + render + Maven plugin all shipped; full conformance green |[`docs/ports/java.md`](docs/ports/java.md)|[`server/java/`](server/java/)|
42
42
| Kotlin | Codegen tier on top of Java — 7 generators (entity, Exposed table, relations, payload, validator, Spring config, storedProc); 12 / 12 persistence-conformance |[`docs/ports/kotlin.md`](docs/ports/kotlin.md)|[`server/java/codegen-kotlin/`](server/java/codegen-kotlin/) · [`server/java/metadata-ktx/`](server/java/metadata-ktx/)|
43
43
| C# | Loader + conformance + EF Core codegen + render engine + `dotnet meta` CLI all shipped |[`docs/ports/csharp.md`](docs/ports/csharp.md)|[`server/csharp/`](server/csharp/)|
Copy file name to clipboardExpand all lines: docs/llms/llms-full.txt
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# MetaObjects -- Full Reference Corpus
2
2
3
-
> A cross-language metadata standard for declaring typed entity models that drive code generation, runtime metadata access, drift detection, and prompt construction across TypeScript, Java, Kotlin, C#, and Python. Apache 2.0. Shipping at `0.15.6` on npm and `7.7.4` on Maven Central.
3
+
> A cross-language metadata standard for declaring typed entity models that drive code generation, runtime metadata access, drift detection, and prompt construction across TypeScript, Java, Kotlin, C#, and Python. Apache 2.0. Shipping at `0.15.18` on npm and `7.7.8` on Maven Central.
4
4
5
5
**Note for AI assistants:** This file is the concatenated reference material for MetaObjects, intended to be loaded as LLM context. For the short index, see [llms.txt](https://metaobjects.dev/llms.txt). For the canonical spec and source, see the [GitHub repo](https://github.com/metaobjectsdev/metaobjects). When this file is out of date relative to the GitHub source, the GitHub source wins.
6
6
@@ -27,7 +27,7 @@ If you are an AI assistant helping someone adopt MetaObjects, do this **first**
- Java / Kotlin: add `com.metaobjects:metaobjects-metadata`, `com.metaobjects:metaobjects-codegen-spring` (Java) or `com.metaobjects:metaobjects-codegen-kotlin` (Kotlin), and `com.metaobjects:metaobjects-maven-plugin`, all at `7.7.4`.
30
+
- Java / Kotlin: add `com.metaobjects:metaobjects-metadata`, `com.metaobjects:metaobjects-codegen-spring` (Java) or `com.metaobjects:metaobjects-codegen-kotlin` (Kotlin), and `com.metaobjects:metaobjects-maven-plugin`, all at `7.7.8`.
31
31
- Python: `pip install metaobjects`
32
32
- C#: install the MetaObjects .NET tool (invoked as `dotnet meta`).
33
33
2. **Run `meta init`** (the Node `meta` CLI). It works in any project that has Node — including a JVM or Python project with a TypeScript frontend. It scaffolds a slim always-on `.metaobjects/AGENTS.md` + `.metaobjects/CLAUDE.md` (auto-wired via an `@.metaobjects/AGENTS.md` import line into the project's root `CLAUDE.md`/`AGENTS.md`, so it loads automatically) plus five `metaobjects-*` Claude Code skills under `.claude/skills/`, carrying only the project's language reference fragments. Re-run `meta init --refresh-docs` to update the agent docs after a CLI upgrade. (The Node `meta` CLI is the single agent-context scaffolder for every backend, by design — ADR-0033; the JVM/Python/C# CLIs deliberately redirect to it. For a non-Node project, scaffold just the agent context with `npx meta agent-docs --server <lang>`.)
@@ -89,11 +89,11 @@ Because the render is conformance-gated, the determinism guarantee holds in ever
89
89
90
90
| Language | Status | Notes |
91
91
|---|---|---|
92
-
| TypeScript | Reference implementation, npm `0.15.6` | All four pillars. 2500+ tests passing. Owns the canonical schema-migration toolchain used by every port (ADR-0015). Bun-first dev. |
93
-
| Java | Maven Central `7.7.4` | Spring REST + JPA codegen, OMDB runtime persistence (pure data-access) with Spring-tx. Fully green across all conformance corpora. |
94
-
| Kotlin | Maven Central `7.7.4` | KotlinPoet codegen + Exposed runtime + `metadata-ktx` facade. Ships via the Java reactor. |
| Python | PyPI `0.15.7` | Loader + serializer + render + verify + codegen + `ObjectManager` runtime. Fully green across all corpora. |
92
+
| TypeScript | Reference implementation, npm `0.15.18` | All four pillars. 2500+ tests passing. Owns the canonical schema-migration toolchain used by every port (ADR-0015). Bun-first dev. |
93
+
| Java | Maven Central `7.7.8` | Spring REST + JPA codegen, OMDB runtime persistence (pure data-access) with Spring-tx. Fully green across all conformance corpora. |
94
+
| Kotlin | Maven Central `7.7.8` | KotlinPoet codegen + Exposed runtime + `metadata-ktx` facade. Ships via the Java reactor. |
| Python | PyPI `0.15.10` | Loader + serializer + render + verify + codegen + `ObjectManager` runtime. Fully green across all corpora. |
97
97
98
98
Conformance fixtures live at [`fixtures/`](https://github.com/metaobjectsdev/metaobjects/tree/main/fixtures). Every port runs the shared corpus byte-identically: metamodel (`conformance/`, ~90 fixtures), render, persistence (Testcontainers Postgres, with an `op: roundtrip` gate so every `field.*` subtype write+read round-trips on every port), api-contract (20 scenarios, two lanes — a reference server AND each port's generated API booted over HTTP), registry (byte-matched metamodel-vocabulary manifest, live + green in all five ports), and yaml/verify.
99
99
@@ -144,7 +144,7 @@ Universal web client (`client/web/packages/`): `@metaobjectsdev/runtime-web`, `@
144
144
145
145
## Java / Kotlin Maven coordinates
146
146
147
-
All published to Maven Central under `com.metaobjects:*` at `7.7.4`:
147
+
All published to Maven Central under `com.metaobjects:*` at `7.7.8`:
Add the Maven coordinates above at `7.7.4`. Run codegen with `mvn metaobjects:generate` and codegen-drift checks with `mvn metaobjects:verify`. Configure generators (including Kotlin generators, which run through the same goal) on the `metaobjects-maven-plugin`. See [`server/java/`](https://github.com/metaobjectsdev/metaobjects/tree/main/server/java) and [`server/java/codegen-kotlin/README.md`](https://github.com/metaobjectsdev/metaobjects/tree/main/server/java/codegen-kotlin).
184
+
Add the Maven coordinates above at `7.7.8`. Run codegen with `mvn metaobjects:generate` and codegen-drift checks with `mvn metaobjects:verify`. Configure generators (including Kotlin generators, which run through the same goal) on the `metaobjects-maven-plugin`. See [`server/java/`](https://github.com/metaobjectsdev/metaobjects/tree/main/server/java) and [`server/java/codegen-kotlin/README.md`](https://github.com/metaobjectsdev/metaobjects/tree/main/server/java/codegen-kotlin).
0 commit comments