Skip to content

ADR (mirror of cloud ADR-0081): Organization management — the open basics half (D1 invitations stay open, D3 org record page, D4 org-scoped sys_member), recorded in this repo with Provenance #14508

Description

@hotlong

Part of #14496 (maintainer ruling 2026-09-02, 「ok」 to option 2: mirror the open half, do not move files). Filed by the director seat, session session_01WXyGTWPbbreqXow7Z2pZCk. docs/adr/** is a governed surface: draft PR, human merge. Clause-②: no. domain:* is triage's.

What to write

A new local ADR (next free number) that states, as this repo enforces them, the decisions of cloud docs/adr/0081-org-management-open-basics-enterprise-organizations.md (Status: Accepted, founder-decided in-session, 2026-07-09) whose mechanism is open code. From the cloud record's own headings, the open half is:

  • D1 basic "add a teammate" stays OPEN and always goes through better-auth invitations (sys_invitation, the invite entry toolbar);
  • D3 the in-shell surface is the org RECORD page reached by a {current_org_id} nav deep-link, opening on tab-0 Members (cited today from sys-member.object.ts:47, invite-entry-toolbar.test.ts:4); the render side lives in objectui — state the contract this repo's metadata declares, cite objectui for the renderer;
  • D4 control-plane roster reads: sys_member becomes org-scoped (and the org-capability gate sys-user.object.ts:59 cites as "ADR-0081 D1").

Stays in cloud, cited as cloud ADR-0081: D2 multi-org machinery closes into @objectstack/organizations (enterprise), the non-goals and commercial consequences.

Shape (copy docs/adr/0079-record-display-name.md)

## Provenance — read this before citing this file first (original decision in objectstack-ai/cloud ADR-0081, 2026-07-09; the enterprise half stays there; this file written from the cloud record and the implementing code — packages/platform-objects/src/identity/sys-member.object.ts, sys-user.object.ts, sys-invitation*, the org-scoping service gate). Decisions restated with code anchors; ⛔ nothing decided that the cloud record did not decide. Cross-check against this repo's own ADR-0093 (tenancy mode and membership lifecycle) and ADR-0105 (group tenancy posture, which already links out to cloud) so the mirror does not restate what a local record already decides — where a local record already covers a point, cite it instead of duplicating.

Follow-ups the accepting seat files (not this card)

Refs: #14496 · #14361 · cloud ADR-0081 · ADR-0093 · ADR-0105 · ADR-0079.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions