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
[ADR-0150 D4] The read naming no package withholds a package-less customization row of a key whose every holder is disabled #33401
Parent: #32814. Filed by area E1 under the seat ruling on #32814 (#32814 (comment), 2026-11-14T18:47Z). Area-lease pilot #33059, lease:E1.
Premise
PR #33383 withholds a customization pair's row on the read naming no package when every holder of the name is disabled. It deliberately leaves the package-less row alone (isHoldersPairRow excludes it): measured on main e540baf8 and on the PR head, with the only holder of email_template welcome disabled, the bare read at a member still serves a package-less row of that key.
Environment's own item → serve. No installed package holds its key (bucket 4, D3 (a)), including a row that only shares a name with a disabled holder's item on another object.
Member grain is not part of the key: a package-less locale the holder never shipped is still its customization.
Fix shape
packages/metadata-protocol/src/protocol-meta-item-face.ts: extend the disabled-only-holder judgment on the read naming no package to a package-less row whose key a (disabled) holder holds.
Check that getEnvironmentScopedItem / overlaySlotBinding (packages/objectql/src/registry.ts) still bind such a row to the disabled holder.
Acceptance
Bare read (served and execution faces) and /layers: a package-less row of a held key, every holder disabled → answered as if no row were stored; declared FROM→TO with its Clause-② arm.
Pins in both registration orders; a package-less locale the holder never shipped is withheld too.
CONTROLs: an enabled holder (unchanged); the environment's own item with no holder at its key (still served), including a same-name item on another object; re-enable returns the row.
Activity