Skip to content

fix(metadata-protocol): one collision predicate at the save door — a stored view container never takes a name already served from elsewhere (#21639, #21638) #30680

fix(metadata-protocol): one collision predicate at the save door — a stored view container never takes a name already served from elsewhere (#21639, #21638)

fix(metadata-protocol): one collision predicate at the save door — a stored view container never takes a name already served from elsewhere (#21639, #21638) #30680

Triggered via pull request October 3, 2026 23:59
Status Success
Total duration 1m 13s
Artifacts –

pr-automation.yml

on: pull_request
Check PR Size
21s
Check PR Size
Check Changeset
1m 8s
Check Changeset
Auto Label
9s
Auto Label
Fit to window
Zoom out
Zoom in

Annotations

4 notices
Check PR Size
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Auto Label
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Check Changeset: .changeset/21639-view-container-name-collision.md#L0
ADR-0087 exemption (no-migration-prescription): A validity narrowing at one runtime write door over existing keys: no key of `ViewSchema` or of any other metadata schema is removed, renamed or re-shaped, so there is no tombstone and nothing mechanical for `objectstack migrate meta` to rewrite. Whether a refused container was meant as a member of the container that already serves the name, as a view item of that name, or as a member under a key of its own is authoring intent no conversion entry can decide. New saves are refused with the remedy; a row stored before this change keeps its bytes, and no stored row is re-saved. The census, taken first over the set the ruling names, found no writer that saves a second container of one object, a container under a name another container expands, or a container under the name of a view item a package ships on purpose: the platform checklist's live view-authoring item saves one container per object (`qa_repair_asset_views` on `repair_asset`); the save door's own name rulings (P2, P2b) save one container; a container on another package's object expands under its own name; and Studio at the objectui pin creates view items (the metadata-admin create body, `createView`, `setViewConfig`) and re-saves a stored body under the name it carries. Package duplication can copy a container whose object is outside the copied package into a second container of that object: before this change the copy silently took the source package's view, and it is now reported as a failed item. The source registrars never reach this door, and the example apps seed no `sys_metadata` view rows; hosted tenants and the cloud AI author were not measured. The other categories are closed on facts: the package publishes (not unpublished); no ADR-0087 id covers this rule and this diff adds none (not registered / already-registered); and the change narrows what a runtime write door accepts, not a runtime interface or a type surface alone (not runtime-interface-only / type-surface-only).
Check Changeset
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"