Skip to content

Commit dd87202

Browse files
committed
chore(spec): regenerate spec-changes.json for the 15→16 registry updates
`spec-changes.json` is a generated artifact (ADR-0087 D4) — a pure projection of the D2 conversion table + D3 migration chain, enforced in CI by `check:spec-changes` (the "Check Generated Artifacts" gate). The committed manifest went stale on `main`: the dashboard-widget `.strict()` migration (`dashboard-widget-strict-unknown-keys`, changeset `dashboard-widget-strict-3251`) landed and moved the protocol major to 16, but the manifest was never regenerated. As a result `check:spec-changes` fails on every open PR, not just this one. Regenerated with `pnpm --filter @objectstack/spec gen:spec-changes`. Pure re-projection of already-merged registries — no source or behaviour change: - protocolVersion 15.0.0 → 16.0.0 - aggregate to: 15 → 16 - new 15→16 migrated record: dashboard-widget-strict-unknown-keys No new changeset: the underlying migration already shipped its own (`dashboard-widget-strict-3251`); this is a generated-artifact re-sync only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011iJLjqToxNv1aYP3syQtRp
1 parent 9d897b3 commit dd87202

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

packages/spec/spec-changes.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"$comment": "GENERATED (ADR-0087 D4) — do not edit. Regenerate with: pnpm --filter @objectstack/spec gen:spec-changes. A projection of the D2 conversion table + D3 migration chain; the upgrade guide and the MCP spec_changes tool derive from this same data.",
3-
"protocolVersion": "15.0.0",
3+
"protocolVersion": "16.0.0",
44
"supportFloor": 10,
55
"migrateCommand": "objectstack migrate meta --from <N> (N >= 10)",
66
"aggregate": {
77
"from": 10,
8-
"to": 15,
8+
"to": 16,
99
"added": [],
1010
"converted": [
1111
{
@@ -132,6 +132,13 @@
132132
"migrationId": "ui-schemas-strict-unknown-keys",
133133
"toMajor": 15,
134134
"rationale": "The `.strict()` flip (ADR-0089 D3a) turns a previously silently-stripped unknown key into a parse error. There is no mapping target for an arbitrary unknown key — auto-deleting it would be exactly the silent data loss ADR-0078 bans — so each occurrence needs the author to decide: fix the typo, move it to the right layer, or delete dead metadata."
135+
},
136+
{
137+
"surface": "dashboard widgets (undeclared top-level keys — legacy inline analytics, objectui-internal `component`/`data`, or typos)",
138+
"replacement": "declared keys only (`dataset` + `dimensions` + `values` for analytics; `options` for renderer-specific extras)",
139+
"migrationId": "dashboard-widget-strict-unknown-keys",
140+
"toMajor": 16,
141+
"rationale": "The `.strict()` flip turns a previously silently-stripped unknown key into a parse error. There is no mapping target for an arbitrary unknown key — auto-deleting it would be exactly the silent data loss ADR-0078 bans — so each occurrence needs the author to decide: bind a `dataset` and select `dimensions`/`values`, move a renderer setting under `options`, or delete the dead key."
135142
}
136143
],
137144
"removed": []
@@ -307,6 +314,22 @@
307314
}
308315
],
309316
"removed": []
317+
},
318+
{
319+
"from": 15,
320+
"to": 16,
321+
"added": [],
322+
"converted": [],
323+
"migrated": [
324+
{
325+
"surface": "dashboard widgets (undeclared top-level keys — legacy inline analytics, objectui-internal `component`/`data`, or typos)",
326+
"replacement": "declared keys only (`dataset` + `dimensions` + `values` for analytics; `options` for renderer-specific extras)",
327+
"migrationId": "dashboard-widget-strict-unknown-keys",
328+
"toMajor": 16,
329+
"rationale": "The `.strict()` flip turns a previously silently-stripped unknown key into a parse error. There is no mapping target for an arbitrary unknown key — auto-deleting it would be exactly the silent data loss ADR-0078 bans — so each occurrence needs the author to decide: bind a `dataset` and select `dimensions`/`values`, move a renderer setting under `options`, or delete the dead key."
330+
}
331+
],
332+
"removed": []
310333
}
311334
]
312335
}

0 commit comments

Comments
 (0)