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
Commit aaee264
Browse filesBrowse the repository at this point in the historyBrowse files
docs(organizations): stop calling the open multi-org runtime enterprise/closed-source (#16718)
ADR-0132 moved the `org-scoping` registrar into open core:
`packages/plugins/organizations` is Apache-2.0, carries no licence check of
any kind, and declares `['group','isolated']` as its own constant. #16137's
acceptance proved an open-only composition raises the `isolated` wall with no
licence check reachable. The prose did not follow — 65 occurrences across 45
files still described that package as enterprise / closed-source /
cloud-private.
Prose only. Every non-comment hunk is a string literal (an operator message, a
flag description, a conformance-matrix note, a test expectation); no control
flow, no identifier and no behaviour changes anywhere.
Corrected (population 1), led by the two sites the card names:
- `plugin-auth/src/tenancy-service.ts` — open core's own authority for
resolving the posture. Its header said both walled postures require the
*enterprise* package and that multi-org operation is *a commercial
capability*; `isolationActive` argued "ENABLING a multi-organization posture
is an entitlement". Rewritten around ADR-0132 D2/D3/D4: the mechanism (both
postures probe the same registrar) is unchanged, the answer to "can an open
install run isolated?" is now yes, and the `probeEntitledPostures` seam is
explained as existing for the commercial subclass rather than as a tier.
- `cli/src/commands/serve.ts` — the mount block no longer says the runtime
"lives in the closed-source package", and the operator-facing install remedy
no longer ends "this runtime is closed-source and is NOT on the public npm
registry ... Without one this bullet is not followable". That sentence told
an open-source operator the remedy they had just been given was unusable.
- `cli/src/utils/tenancy-posture-hints.ts` — the `isolated` hint both
`os serve` and `os doctor` render. Not in the card's count: its regex cannot
see `the enterprise ${ORGANIZATIONS_RUNTIME_PKG}`.
- `plugin-dev/src/dev-plugin.ts` — two more operator-facing strings (the
degraded-tenancy warning and the stage-2 mount refusal).
Because one name now denotes two packages (ADR-0132 D3), every rewritten site
names which one it means; where a site was load-bearing on ADR-0105 D12 the
citation is repointed at D12-as-amended rather than deleted.
Pin tests updated deliberately, with the reason recorded in each file:
`serve-organizations-message-spelling.test.ts` (5 hits) and
`doctor-organizations-message-spelling.test.ts`. The pins were not relaxed —
they still compare whole rendered lines built from
`Serve.ORGANIZATIONS_RUNTIME_PKG`, and both CONTROL blocks still differ from
their expectation only in spacing. The doctor roster assertion still pins
`edition: 'enterprise'`, which stays true: the roster records the ENTITLED
variant.
Left alone on purpose, and why, in the PR body: 2 hits that describe the
genuinely commercial same-named package, and 15 that state the package is
absent/not installable in this workspace as the reason a fixture fakes or
skips a proof — the live capability question the card dispatches as
report-only.
Refs ADR-0132, ADR-0105 D12 (as amended), #16130, #16137, PR #16215.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
description: 'Boot org-scoped (register the enterprise @objectstack/organizations plugin) so tenant-isolation RLS policies apply (also honors a walled $OS_TENANCY_POSTURE, and the legacy $OS_MULTI_ORG_ENABLED it falls back to)',
90
+
description: 'Boot org-scoped (register the @objectstack/organizations plugin) so tenant-isolation RLS policies apply (also honors a walled $OS_TENANCY_POSTURE, and the legacy $OS_MULTI_ORG_ENABLED it falls back to)',
91
91
default: false,
92
92
}),
93
93
json: Flags.boolean({description: 'Emit the structured report as JSON',default: false}),
0 commit comments