diff --git a/.changeset/27277-plugin-driver-floor.md b/.changeset/27277-plugin-driver-floor.md index b658820fef0..3c50221edb2 100644 --- a/.changeset/27277-plugin-driver-floor.md +++ b/.changeset/27277-plugin-driver-floor.md @@ -5,7 +5,7 @@ fix(objectql)!: a plugin driver on an external datasource answers every read correctly or refuses: the engine applies the whole query to the rows the driver returns, up to 1000 of them (#27277) -Clause-②: yes (two codes join ERROR_CODE_LEDGER under `@objectstack/objectql`: `EXTERNAL_WRITE_REFUSED` and `EXTERNAL_ROW_CAP_EXCEEDED`, both 422) +Clause-②: yes (narrowing) — two codes join ERROR_CODE_LEDGER under `@objectstack/objectql` (`EXTERNAL_WRITE_REFUSED` and `EXTERNAL_ROW_CAP_EXCEEDED`, both 422), and on a plugin-driver external datasource the accepted reads and writes narrow as described below Metadata-protocol: none diff --git a/.changeset/27425-phantom-owner-anchor-fails-closed.md b/.changeset/27425-phantom-owner-anchor-fails-closed.md index 4f57d359fc5..bafabd44571 100644 --- a/.changeset/27425-phantom-owner-anchor-fails-closed.md +++ b/.changeset/27425-phantom-owner-anchor-fails-closed.md @@ -5,7 +5,7 @@ fix(plugin-sharing)!: on a federated object whose `owner_id` is the platform's injected anchor, the read and bulk-write scopes narrow below `org` instead of going unscoped (#27425) -Clause-②: no (narrowing) — `SharingService.buildReadFilter` and `buildWriteFilter` answer a deny-all scope, where they answered `null` (no scope), for a caller below `org` depth on an ADR-0015 federated object that neither declares `owner_id` in `fields` nor maps a remote column onto it; on `private` such an object's refused edit answers 404 where it answered 403. Nothing is widened and no key is added, removed or renamed. +Clause-②: yes (narrowing) — `SharingService.buildReadFilter` and `buildWriteFilter` answer a deny-all scope, where they answered `null` (no scope), for a caller below `org` depth on an ADR-0015 federated object that neither declares `owner_id` in `fields` nor maps a remote column onto it; on `private` such an object's refused edit answers 404 where it answered 403. One accept set widens: `SharingService.grant()` on a federated object that maps a remote column onto `owner_id` through `external.columnMap` (without declaring it) is no longer refused as inert, because that object's share rows are now read. No key is added, removed or renamed. Metadata-protocol: none