Uh oh!
There was an error while loading. Please reload this page.
docs(adr-0057): addendum — org-structure surfacing & edition tiering - #2141
Merged
Conversation
Settle how sys_organization / sys_business_unit / sys_team are surfaced in the Setup app and tiered across editions (floor=teams / ceiling=BU / tenant=org). Adds D9-D12: edition tiering; capability-driven nav (ADR-0029 K2) with the objects staying registered open; drop the kind='team' collision with sys_team; and sys_user.primary_business_unit_id (mirroring manager_id) to make "pick people by BU" a config-only filter. Docs-only, no behaviour change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Jun 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Appends an addendum to ADR-0057 settling how the three org-shaped objects are surfaced in the Setup app and tiered across editions — a gap ADR-0057 left open (it settled the authorization model, not the UI surfacing). Docs-only, no behaviour change.
Why
sys_organization(tenant),sys_business_unit(partition tree), andsys_team(flat collaboration) currently land flat in the Setupgroup_people_orgmenu and read as three competing "organisation" concepts — worst in single-tenant, wheresys_organizationis a single un-creatable row.Decisions (D9–D12)
floor=teams(all editions) /ceiling=BU(enterprise) /tenant=org(multi-org only). Teams is the auth-native flat primitive with no structural substitute; BU's distinguishing rollup is paid; the tenant container is degenerate in single-tenant.nav_business_unitsto the hierarchy-security capability (today'srequiresObjectgate is inert — the object is registered unconditionally); gatenav_organizations/nav_invitationsonmultiOrgEnabled. Flags thatNavigationItemneeds avisible/requiresFeaturepredicate first (ADR-0049: gated or not claimed).teamfromsys_business_unit.kind(0 repo usages, no migration) — removes the head-on collision with the first-classsys_team.sys_user.primary_business_unit_id(mirrorsmanager_id, feat(platform-objects): add sys_user.manager_id to back the own_and_reports scope (ADR-0057) #2133), maintained fromsys_business_unit_member.is_primary, so "pick people by BU" becomes a config-onlylookupFiltersfilter with zero query-engine change (lookups filter only target-object fields; the junction can't be traversed in one filter today).Plus: a forward note on
feat/slim-remove-multitenant-runtimecompatibility (why themultiOrgEnabledgate is kept), surfacing-conformance proofs (extends D8), and phasing PS-1/2/3.Scope
Documentation only. Implementation lands in follow-up PRs (PS-1: D11 + org gate; PS-2: BU nav relocation; PS-3:
primary_business_unit_id).🤖 Generated with Claude Code