Skip to content

build/automation/approvals.mdx names the org-membership tier as owner/admin/member — sys_member.role enforces four values #131

Description

@os-elon

Found while implementing #120 (documenting the notification subscription principal selector, whose role: form resolves against sys_member.role). Out of that card's scope — #120 is one file, content/docs/configure/notifications.mdx.

content/docs/build/automation/approvals.mdx:77 and :87-88 both spell the tier as a three-value set:

| `org_membership_level` | An org-membership tier (`owner` / `admin` / `member`) |
> The org-membership tier (`sys_member.role`: `owner`/`admin`/`member`) is
> addressed as `type: 'org_membership_level'` since 16.0 …

The parenthetical describes the column's values, and the column's enforced option list has four (ADR-0108): owner, admin, delegated_admin, memberpackages/spec/src/identity/membership-role.ts:99-104 in objectstack, declared on the object at packages/platform-objects/src/identity/sys-member.object.ts:208-214 ("the framework's four roles — the WHOLE list", enforced on write). So a reader who sets someone to Delegated Admin in Setup and then looks for that tier on this page does not find it.

The related-but-separate question — whether the approver picker should offer delegated_admin at all — is objectstack-ai/objectstack#9806: APPROVER_VALUE_BINDINGS.org_membership_level sources its options from a three-value constant. If that resolves as "deliberate", the table row at :77 is correct as the picker's vocabulary and only the parenthetical at :87-88 needs the fourth value plus a note; if it resolves as drift, both need it.

Blocked-by: objectstack-ai/objectstack#9806

Note for whoever takes this: content/docs/configure/notifications.mdx now states the four tiers, under What to type in principal (added by #120), so the corpus is currently inconsistent between the two pages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions