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
{{ message }}
Repository navigation
Commit 60b84a6
Browse filesBrowse the repository at this point in the historyBrowse files
chore(changeset): state the FROM/TO as request answers, not a section label
The change prescribes no rewrite of metadata or code, so the disposition is
no-migration-prescription and the body says FROM/TO in bullets, as other
accept-set narrowings do.
Claude-Session: https://claude.ai/code/session_0121ooBYRmS8ziFXm9ai5YHm
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .changeset/23416-runtime-owner-overlay-refusal.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,16 +14,12 @@ An object has exactly one registry entry, so it has exactly one owning package (
14
14
15
15
`saveMetaItem` now refuses that save before any write, with the refusal and the prescription that the code-owner case gives.
16
16
17
-
## FROM → TO
17
+
What changes for you, where package `P`'s runtime-authored row owns object `NAME` and `Q` is any other package:
18
18
19
-
Package `P`'s runtime-authored row owns object `NAME`; `Q` is any other package.
20
-
21
-
| request | FROM | TO |
22
-
|:--|:--|:--|
23
-
|`PUT /api/v1/meta/object/NAME?package=Q` (`saveMetaItem({ type: 'object', name: NAME, packageId: Q, … })`) |`200` "Saved object … package=Q"; a `Q`-bound row stored; the registry kept `P`'s schema and logged `registerObject failed … already owned by package "P"`|`422 OBJECT_OVERLAY_PACKAGE_MISMATCH`, nothing stored for `Q`: "Cannot layer object 'NAME': the overlay is bound to package 'Q', but the object is owned by package 'P'. …" |
24
-
| the same save with `?mode=draft`| success; a `Q`-bound draft row stored | the same `422`; no draft row |
25
-
|`duplicatePackage` from `P` to `Q`, for an object whose name does not carry `P`'s namespace prefix (so the copy keeps `NAME`) | the object listed in `copied`; a `Q`-bound row stored that the registry never held | the object listed in `failed` with the refusal's text; nothing stored for it |
26
-
| the same save naming `P`, or naming no package |`200`|`200`, unchanged |
19
+
- FROM `PUT /api/v1/meta/object/NAME?package=Q` (`saveMetaItem({ type: 'object', name: NAME, packageId: Q, … })`) answering `200` "Saved object … package=Q", with a `Q`-bound row stored while the registry kept `P`'s schema and logged `registerObject failed … already owned by package "P"`, TO `422 OBJECT_OVERLAY_PACKAGE_MISMATCH` with nothing stored for `Q`: "Cannot layer object 'NAME': the overlay is bound to package 'Q', but the object is owned by package 'P'. …"
20
+
- FROM the same save with `?mode=draft` storing a `Q`-bound draft row, TO the same `422` with no draft row.
21
+
- FROM `duplicatePackage` from `P` to `Q` listing in `copied` an object whose name does not carry `P`'s namespace prefix (so the copy keeps `NAME`), with a `Q`-bound row stored that the registry never held, TO that object listed in `failed` with the refusal's text and nothing stored for it.
22
+
- The same save naming `P`, or naming no package, answers `200` as before.
27
23
28
24
**Remedy, in one line.** Save the object with `?package=P` (or with no package, which addresses `P`'s row), or give `Q`'s object its own name. A `Q`-bound row stored before this change is removed with `DELETE /api/v1/meta/object/NAME?package=Q`.
0 commit comments