Commit 50bc9c7
* 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>
* docs(organizations): correct the enterprise/closed-source spellings the card's pattern could not see (#16718)
The card's measurement is a case-sensitive regex over
`enterprise (@objectstack/organizations|multi-org|organizations)` plus two
`closed-source`/`cloud-private` forms. Re-running it case-INSENSITIVELY, and
widening to the neighbouring `cloud-private` / `enterprise package` spellings
inside the two files the card names as its worst sites, turns up nine more
population-1 statements. All nine are in files the previous commit already
corrects; every one is a comment.
- `cli/src/commands/serve.ts` (×5)
· the host-importer docblock used `@objectstack/organizations` as THE example
of "a cloud-private package the framework cannot see" — the same reasoning
#16539 already applied to the dogfood probe: it is no longer a name this
repo can use as an example of something a host root does not have. The
example is now framed on what actually decides resolution (the host app's
declaration), with ADR-0132's two-packages fact named.
· the cloud#1013 narrative said the load "never found the cloud-private
package" — true of 2026-07, asserted in the present tense. Now
"then-cloud-private": the history is kept, the present claim is dropped.
· the live Stage-1 mount comment said "This package is cloud-private" in the
boot path itself. Now APP-DECLARED, citing ADR-0132 D3 — which build of the
name a deployment gets is the host manifest's call, not `serve`'s.
· the ADR-0093 D5 fail-fast comment said "the enterprise package can't
provide tenant isolation".
- `plugin-dev/src/dev-plugin.ts` — `ENTERPRISE @objectstack/organizations`, in
capitals. The card's pattern is case-sensitive, so this hit was invisible to
the 65-occurrence count while sitting two lines above one that was counted.
- `plugin-auth/src/auth-plugin.ts` — "so the enterprise package needs no change
to light it up", on the `org-scoping` presence probe.
- `qa/dogfood/test/enterprise-organizations.ts` — the doc heading on
`ORGANIZATIONS_PKG` still opened "The enterprise multi-org package", directly
contradicted by the ⚠️ #16539 note two lines below it.
- `qa/dogfood/test/rls-multitenant.dogfood.test.ts` — "moved to the ENTERPRISE
package ... not part of this open workspace". Both halves false since #16215.
The skip is unchanged and its real reason is now stated: the gate needs the
runtime resolvable FROM THE APP UNDER TEST, which is what
`organizationsAvailable` probes.
⛔ No behaviour change: every hunk is a comment. Populations 2 and 3 are
untouched — see the PR body for the per-site accounting.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* chore(changeset): operator-facing organizations text is no longer enterprise-only (#16718)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent eb7406c commit 50bc9c7
41 files changed
Lines changed: 241 additions & 138 deletions
File tree
- .changeset
- packages
- cli
- src
- commands
- utils
- test
- core/src/security
- mcp/src
- platform-objects/src/apps
- plugins
- plugin-auth/src
- plugin-dev/src
- plugin-security
- src
- plugin-sharing/src
- qa/dogfood/test
- runtime/src
- services
- service-datasource/src
- service-settings/src
- service-storage/src
- types/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
Lines changed: 14 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
170 | | - | |
| 170 | + | |
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
187 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
188 | 196 | | |
189 | 197 | | |
190 | 198 | | |
| |||
233 | 241 | | |
234 | 242 | | |
235 | 243 | | |
236 | | - | |
| 244 | + | |
237 | 245 | | |
238 | 246 | | |
239 | | - | |
| 247 | + | |
240 | 248 | | |
241 | 249 | | |
242 | 250 | | |
243 | | - | |
| 251 | + | |
244 | 252 | | |
245 | 253 | | |
246 | 254 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
Lines changed: 28 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
69 | 91 | | |
70 | 92 | | |
71 | 93 | | |
| |||
152 | 174 | | |
153 | 175 | | |
154 | 176 | | |
155 | | - | |
| 177 | + | |
156 | 178 | | |
157 | 179 | | |
158 | 180 | | |
| |||
164 | 186 | | |
165 | 187 | | |
166 | 188 | | |
167 | | - | |
| 189 | + | |
168 | 190 | | |
169 | 191 | | |
170 | 192 | | |
| |||
264 | 286 | | |
265 | 287 | | |
266 | 288 | | |
267 | | - | |
| 289 | + | |
268 | 290 | | |
269 | 291 | | |
270 | 292 | | |
| |||
301 | 323 | | |
302 | 324 | | |
303 | 325 | | |
304 | | - | |
305 | | - | |
306 | | - | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
307 | 329 | | |
308 | 330 | | |
309 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
797 | 799 | | |
798 | 800 | | |
799 | 801 | | |
| |||
815 | 817 | | |
816 | 818 | | |
817 | 819 | | |
818 | | - | |
| 820 | + | |
819 | 821 | | |
820 | 822 | | |
821 | 823 | | |
| |||
3677 | 3679 | | |
3678 | 3680 | | |
3679 | 3681 | | |
3680 | | - | |
3681 | | - | |
| 3682 | + | |
| 3683 | + | |
3682 | 3684 | | |
3683 | | - | |
3684 | | - | |
3685 | | - | |
3686 | | - | |
3687 | | - | |
| 3685 | + | |
| 3686 | + | |
| 3687 | + | |
| 3688 | + | |
| 3689 | + | |
3688 | 3690 | | |
3689 | 3691 | | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
3690 | 3699 | | |
3691 | 3700 | | |
3692 | 3701 | | |
| |||
3724 | 3733 | | |
3725 | 3734 | | |
3726 | 3735 | | |
3727 | | - | |
3728 | | - | |
3729 | | - | |
3730 | | - | |
3731 | | - | |
3732 | | - | |
3733 | | - | |
3734 | | - | |
| 3736 | + | |
| 3737 | + | |
| 3738 | + | |
| 3739 | + | |
| 3740 | + | |
| 3741 | + | |
| 3742 | + | |
| 3743 | + | |
| 3744 | + | |
| 3745 | + | |
3735 | 3746 | | |
3736 | 3747 | | |
3737 | 3748 | | |
3738 | | - | |
| 3749 | + | |
3739 | 3750 | | |
3740 | 3751 | | |
3741 | 3752 | | |
| |||
4076 | 4087 | | |
4077 | 4088 | | |
4078 | 4089 | | |
4079 | | - | |
| 4090 | + | |
4080 | 4091 | | |
4081 | 4092 | | |
4082 | 4093 | | |
| |||
5441 | 5452 | | |
5442 | 5453 | | |
5443 | 5454 | | |
5444 | | - | |
| 5455 | + | |
5445 | 5456 | | |
5446 | 5457 | | |
5447 | 5458 | | |
5448 | 5459 | | |
5449 | | - | |
5450 | | - | |
5451 | | - | |
| 5460 | + | |
| 5461 | + | |
| 5462 | + | |
| 5463 | + | |
5452 | 5464 | | |
5453 | 5465 | | |
5454 | 5466 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
140 | 140 | | |
141 | 141 | | |
Lines changed: 8 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
| |||
0 commit comments