Skip to content

Commit b8e0baa

Browse files
committed
docs(changeset): the hatch reopens every sharing_rule write, creates included; unset it after the removal
Claude-Session: https://claude.ai/code/session_013BWJEDZYcJKmZYj6ApCCa7 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9bf8837 commit b8e0baa

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎.changeset/24550-sharing-rule-meta-door-closed.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ A sharing rule has two sources: a package declares it (the stack's `sharingRules
1818
- `PUT /api/v1/meta/sharing_rule/:name`, with a name nothing declares, in publish or `?mode=draft` — FROM `200`, with an environment-wide item stored and served by `GET /api/v1/sharing/rules`, TO `403 NOT_CREATABLE`, nothing stored. With a declared rule's name — TO `403 NOT_OVERRIDABLE`.
1919
- `GET /api/v1/meta/types` — FROM `sharing_rule` advertised `allowRuntimeCreate: true`, TO `allowRuntimeCreate: false` and `allowEnvironmentOverlay: false`.
2020

21-
**The fix:** author an organization rule, or clone the declared one. `POST /api/v1/sharing/rules` (Setup > Sharing Rules) creates an organization rule. To customize a declared rule, copy it to an organization rule under a new name, then switch the declared one off with `POST /api/v1/security/_activation/sharing_rule/:name`, body `{ "enabled": false }`. A package declares its rules in the stack's `sharingRules`, as before. An item stored through the old door is still served until you remove it with `DELETE /api/v1/meta/sharing_rule/:name`. On an environment kernel, set `OS_METADATA_WRITABLE=sharing_rule` for that removal only. That hatch is an explicit operator act, not an authoring route: it opens `sharing_rule` the way it opens every code-only type, and no refusal names it.
21+
**The fix:** author an organization rule, or clone the declared one. `POST /api/v1/sharing/rules` (Setup > Sharing Rules) creates an organization rule. To customize a declared rule, copy it to an organization rule under a new name, then switch the declared one off with `POST /api/v1/security/_activation/sharing_rule/:name`, body `{ "enabled": false }`. A package declares its rules in the stack's `sharingRules`, as before. An item stored through the old door is still served until you remove it with `DELETE /api/v1/meta/sharing_rule/:name`. On an environment kernel, removing it needs `OS_METADATA_WRITABLE=sharing_rule`. That hatch is an explicit operator opt-in, not an authoring route: as for any code-only type, it reopens every write on the type, including creates of new names, and a sharing rule grants access. Unset it after the removal.
2222

2323
Also in this change:
2424

0 commit comments

Comments
 (0)