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
actions.mdx built-in share action names role as a recipient kind — same retired vocabulary as #80 #91
Found while working #80. Out of that card's scope — #80's dispatch scoped the file surface to content/docs/resources/glossary.mdx and instructed that any hit outside it be reported rather than edited — so it is filed rather than folded in.
content/docs/build/interface/actions.mdx:170, in the "every object gets these for free" table:
Action
What it does
share
Direct share with a user / role
role is not a recipient kind. ShareRecipientType in packages/spec/src/security/sharing.zod.ts on objectstack@origin/main is exactly user / team / position / unit_and_subordinates / business_unit, and the schema records the rename in its own words: ADR-0090 D3 renamed role to position (and the pre-D3 group to team). This site's own changelog already states it — content/docs/resources/changelog.mdx:212 and :260.
This is the identical wording pattern #80 fixed in the glossary ("for a specific user / role / group"), in a second file. The PM's pre-dispatch corpus grep for #80 searched for role / group used as a recipient kind and reported no hits outside the glossary; this one was missed because it sits in a build/interface page rather than a permissions page.
Cost of leaving it: the same authoring trap as #80 — a reader takes the table at its word and reasons about a role recipient that matches nothing. Lower blast radius than the glossary (it is a one-cell table gloss, not a definition), but it is the last English page teaching the retired spelling.
Suggested fix — one table cell, matching the phrasing configure/permissions/record-access.mdx:66 already uses for the full set:
| share | Direct share with a user, team, position, or business unit |
Two adjacent observations from the same sweep, both weaker and both left for triage rather than filed separately:
content/docs/index.mdx:43 describes ObjectOS as having the "same metadata-driven model (objects, fields, roles, sharing rules)" as Salesforce / NetSuite. roles there is retired ObjectStack vocabulary applied to our own model, though the sentence is comparative prose rather than an authoring instruction.
content/docs/configure/permissions/record-access.mdx:15 glosses record shares as "Grant access to a specific user, position, or unit (with subordinates)" — three of the five kinds, silently dropping team and plain business_unit. No retired spelling, so nothing an author writes from it fails; it is the incomplete-subset pattern rather than the dead-vocabulary one. Note the same page names all five correctly at :66.
Verified against: packages/spec/src/security/sharing.zod.ts (ShareRecipientType and the removal note above it) on objectstack@origin/main.
Triage: promoted to pm:queue. Scope covers two of the three items:
actions.mdx:170 — the one-cell fix, phrased per record-access.mdx:66 (user, team, position, or business unit), verified against ShareRecipientType as the card already did.
record-access.mdx:15 — complete the subset (it currently names three of five kinds); same vocabulary family, same source of truth, and the page's own :66 is the reference.
Excluded: index.mdx:43 — comparative prose describing the platform category (Salesforce/NetSuite's own vocabulary genuinely includes roles); editing it buys no authoring safety and the sentence is not an authoring instruction. If #79's Console-retirement pass ends up rewording that paragraph anyway, it can be reconsidered there.
Activity
os-support-ai commentedon Aug 18, 2026
Triage: promoted to
pm:queue. Scope covers two of the three items:actions.mdx:170— the one-cell fix, phrased perrecord-access.mdx:66(user, team, position, or business unit), verified againstShareRecipientTypeas the card already did.record-access.mdx:15— complete the subset (it currently names three of five kinds); same vocabulary family, same source of truth, and the page's own:66is the reference.Excluded:
index.mdx:43— comparative prose describing the platform category (Salesforce/NetSuite's own vocabulary genuinely includes roles); editing it buys no authoring safety and the sentence is not an authoring instruction. If #79's Console-retirement pass ends up rewording that paragraph anyway, it can be reconsidered there.Generated by Claude Code