@metaobjectsdev/sdk 0.15.1-rc.1 → 0.15.2-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -25,6 +25,7 @@ Actual cutovers run through the existing skills mapped per finding tier (§ Brid
|
|
|
25
25
|
- [ ] **Owned-generators check:** does the project own generators at `codegen/generators/*`
|
|
26
26
|
(scaffold-and-own via `meta init`), or still import the **deprecated** package export
|
|
27
27
|
(`@metaobjectsdev/codegen-ts/generators`)? Not owning is itself a finding.
|
|
28
|
+
- [ ] **Cross-language version consistency (silent-drift check).** If the project uses MetaObjects in more than one language (e.g. a TS web client + a Java/Python/C# backend), enumerate EVERY MetaObjects package across ALL ecosystems (npm `@metaobjectsdev/*`, Maven `com.metaobjects:*`, PyPI `metaobjects`, NuGet `MetaObjects.*`) and record each version. **The version-number LINES differ by ecosystem (npm/PyPI/NuGet `0.x`/`1.x` vs Maven `7.x`/`8.x`), so you CANNOT eyeball drift** — a `0.12` next to a `7.7` looks fine but can be badly out of sync. Compare the **`metamodelVersion`** each port reports (the shared spec version on the registry manifest): a mismatch is real cross-language drift and a **finding** — the ports disagree on vocabulary/wire behavior. Also flag any port not on the latest release for its ecosystem. (This is a known real-world failure mode: newest backend, stale client, invisible because the numbers differ.)
|
|
28
29
|
- [ ] Classify: **Greenfield** (none/minimal) · **Partial** · **Deep** → choose path below.
|
|
29
30
|
|
|
30
31
|
---
|
|
@@ -347,7 +348,7 @@ The audit never edits code. Pattern: **dry-run → review the diff → apply**.
|
|
|
347
348
|
- **Cut subtypes** — `field.byte` / `field.short` / `field.class` are removed; never recommend them.
|
|
348
349
|
- **TS/web-only** — `view.*` widget subtypes exist only for TS/web consumers; only `view.base` / `view.currency` are cross-port-gated.
|
|
349
350
|
- **Planned, not shipped** — `api.*` / `operation.*` / `binding.*` (FR-024) and MCP exposure of declared prompts/tools are not yet in the registry; their absence is not an adopter defect.
|
|
350
|
-
- **Cross-port version skew is by design** — TS/C#/Python `0.x` vs Java/Kotlin `7.x` Maven is correct; never flag
|
|
351
|
+
- **Cross-port version-NUMBER skew is by design** — TS/C#/Python `0.x` vs Java/Kotlin `7.x` Maven is correct; never flag the *number lines* differing. But that is exactly why you can't eyeball cross-language drift: compare **`metamodelVersion`** (Phase 0 cross-language consistency item), not the package numbers. A `metamodelVersion` MISMATCH across ports *is* a finding; so is a port lagging its ecosystem's latest release. Also flag *intra-port* drift (mixed versions within one port, or a runtime package in `devDependencies`).
|
|
351
352
|
- **Stale upstream prose** — "hand-write the Spring controller" (Java/Kotlin) is out of date; trust `meta gen --list`, not stale prose.
|
|
352
353
|
|
|
353
354
|
---
|
|
@@ -96,6 +96,9 @@ All `@metaobjectsdev/*` packages publish in lockstep. A mixed resolved version
|
|
|
96
96
|
(e.g. `codegen-ts@0.12.0` alongside `metadata@0.11.9`) is an intra-port skew
|
|
97
97
|
finding. A runtime package (`@metaobjectsdev/runtime-ts`) in `devDependencies`
|
|
98
98
|
rather than `dependencies` is also a finding — it ships to the deployed app.
|
|
99
|
+
This intra-port skew is npm-vs-npm; **cross-language** skew (a stale npm line next to
|
|
100
|
+
a newer Maven/PyPI/NuGet line) is invisible in the package numbers and must be checked
|
|
101
|
+
via `metamodelVersion` (see the Phase 0 cross-language consistency item).
|
|
99
102
|
|
|
100
103
|
---
|
|
101
104
|
|
|
@@ -17,6 +17,9 @@ spine; generated code is the disposable artifact. Regenerate with `{{codegenComm
|
|
|
17
17
|
- An inline `@maxLength: 50` equals an `attr` child of the same name — never write both.
|
|
18
18
|
- Package paths use `::` (`acme::common::id`).
|
|
19
19
|
|
|
20
|
+
## Keep all MetaObjects ports in sync
|
|
21
|
+
MetaObjects ships as separate packages per language on DIFFERENT version lines (npm/PyPI/NuGet `0.x`/`1.x`, Maven Central `7.x`/`8.x`). Because the numbers differ by ecosystem, a stale port is INVISIBLE — an old TS client next to a new Java backend *looks* fine. Ports are only truly in sync when every one implements the same **Metamodel spec version** (`metamodelVersion`, on the registry manifest). Upgrade ALL ports together and confirm they land on the same Metamodel version; a lagging port silently disagrees on vocabulary + wire behavior.
|
|
22
|
+
|
|
20
23
|
## Going deeper (Claude Code)
|
|
21
24
|
For authoring, codegen, runtime/UI, prompts, verify, or adoption-audit work, use the
|
|
22
25
|
matching `metaobjects-*` skill — its body links the `references/<lang>.md` fragment
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/sdk",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2-rc.1",
|
|
4
4
|
"description": "Workspace helpers and agent-docs utilities for MetaObjects projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@metaobjectsdev/metadata": "0.15.
|
|
59
|
+
"@metaobjectsdev/metadata": "0.15.2-rc.1",
|
|
60
60
|
"zod": "^3.23.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|