From faff1a35972d3aec52aa5b5aa57547ae6fda267a Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 14:02:42 +0000 Subject: [PATCH 1/2] fix(docs): the shipped admin sets no longer carry the export wildcard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `permission-sets.mdx` told operators that package-shipped sets are re-seeded on upgrade "so `admin_full_access` and `organization_admin` carry `allowExport: true` for you" — i.e. do nothing. True on 17.0.0; 17.1.0 withdrew that `objects['*'].allowExport` wildcard, and there is deliberately no automatic replacement. The failure is silent at both ends: nothing fails at parse time on upgrade, and this page is the one that told the operator not to act. An operator who followed it ships an upgrade in which administrators have quietly lost export on every object no app set names. Replaced with wording aligned to the ratified correction already carried by `resources/changelog.mdx`. The `### Export is its own grant` heading is unchanged, so the inbound deep links keep landing. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_016TUrhcggSFrYctvp5dsV1A --- .../configure/permissions/permission-sets.mdx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/content/docs/configure/permissions/permission-sets.mdx b/content/docs/configure/permissions/permission-sets.mdx index fc94687..dddecdc 100644 --- a/content/docs/configure/permissions/permission-sets.mdx +++ b/content/docs/configure/permissions/permission-sets.mdx @@ -70,10 +70,18 @@ objects: { Three consequences worth planning for: -- **Package-shipped sets are re-seeded on upgrade**, so - `admin_full_access` and `organization_admin` carry `allowExport: true` - for you. **Environment-authored sets are not** — edit any custom set - whose users export. +- **No shipped set carries the grant — the upgrade is what takes it + away.** Package-shipped sets are re-seeded on upgrade, and since + ObjectStack 17.1 `admin_full_access`, `organization_admin` and the + derived `organization_admin_no_bypass` no longer grant export on the + `*` wildcard. There is deliberately no automatic replacement: export + is granted per object, in an app's own permission set. Grant + `allowExport` explicitly wherever admin export is intended, in a set + you author — platform sets are not overridable. + **Environment-authored sets never carried it either** — edit any + custom set whose users export. Nothing fails at parse time, so an + upgrade that edits nothing is valid metadata whose administrators + have quietly lost export on every object no app set names. - **`member_default` deliberately does not carry the grant**, so ordinary authenticated users lose export until an admin grants it. That is the point of the flip, not an oversight. From dc33caf022ca7fcac3229a515b9b76eba7ef0636 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 14:10:54 +0000 Subject: [PATCH 2/2] fix(docs): drop the unsourced "not overridable" clause from the export bullet The clause was the one phrase in this correction with no source behind it: the ratified 17.1.0 wording says only that export is granted per object in an app's own permission set and that there is deliberately no automatic replacement -- it never says platform sets are not overridable. It also collided with the established sense of "override" in the platform tree, where `default-permission-sets.ts` uses it for precedence *within* permission evaluation ("per-object entries fully override the wildcard for that object"). Blurring the two invites the false and alarming reading that admins cannot be granted export at all. "in a set you author" already carries the intent, and the re-seed sentence already supports the point that editing the shipped set is futile, so the clause is deleted rather than reworded. The bullet's four operative facts are unchanged. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_016TUrhcggSFrYctvp5dsV1A --- content/docs/configure/permissions/permission-sets.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/docs/configure/permissions/permission-sets.mdx b/content/docs/configure/permissions/permission-sets.mdx index dddecdc..a047a5d 100644 --- a/content/docs/configure/permissions/permission-sets.mdx +++ b/content/docs/configure/permissions/permission-sets.mdx @@ -77,11 +77,11 @@ Three consequences worth planning for: `*` wildcard. There is deliberately no automatic replacement: export is granted per object, in an app's own permission set. Grant `allowExport` explicitly wherever admin export is intended, in a set - you author — platform sets are not overridable. - **Environment-authored sets never carried it either** — edit any - custom set whose users export. Nothing fails at parse time, so an - upgrade that edits nothing is valid metadata whose administrators - have quietly lost export on every object no app set names. + you author. **Environment-authored sets never carried it either** — + edit any custom set whose users export. Nothing fails at parse time, + so an upgrade that edits nothing is valid metadata whose + administrators have quietly lost export on every object no app set + names. - **`member_default` deliberately does not carry the grant**, so ordinary authenticated users lose export until an admin grants it. That is the point of the flip, not an oversight.