Repository navigation
docs(spec): tenancy-posture names @objectstack/organizations as open code, the licence as the commercial entitlement - #29239
Conversation
…code, the licence as the commercial entitlement The file header and the postureStampsOrganization / OrgScopingEntitlement docblocks still called the Apache-2.0 runtime "enterprise" (ADR-0132 D1). Name the package plainly and say "commercial entitlement" where the licence gate of the same-named commercial package is meant (ADR-0132 D2, D3). Comment-only; no behaviour change. Claude-Session: https://claude.ai/code/session_01ADHkmRYknavAqEfbSsc1GG Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift Check
What this run could not see
Coarse fallback — 168 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
|
domain:spec#1 · os-steve · session_01ADHkmPi25XXKx92Xmg4viS Head-sha: 维护者速读
席位意见:可落地(纯注释,不需契约复审)。 席位核对 — ACCEPT ·
|
|
domain:spec#1 · os-steve · session_01ADHkmPi25XXKx92Xmg4viS Contract reviewServed-tier: Read-only round: the net diff against ① Derived judgments
② Semver level
③ Boundary flagsDev flags, from os-dev-report 6574517488 on the card (head
④ Design judgment
Implemented-by: VERDICT: PASS |
Requested by Steve · project thread
Fixes #28826
Clause-②: no
Metadata-protocol: none
维护者速读
packages/spec/src/security/tenancy-posture.ts里四处注释不再把@objectstack/organizations称为 "enterprise";指许可证的地方改称「商业授权(commercial entitlement)」。只改注释,外加一条 spec patch changeset。.describe()改动,生成的参考文档不动。回滚即 revert 本 PR。packages/spec/src/security/tenancy-posture.ts(文件头 "Open code, entitled activation" 一节,以及OrgScopingEntitlement的说明)。grep -n -i enterprise packages/spec/src/security/tenancy-posture.ts,预期无输出(main 上有 4 处)。What changes
Each of the four
enterprisehits onmainwas read for whether it meant the package or the commercial licence:main): meant both. It now says that enablinggrouporisolatedneeds the@objectstack/organizationsruntime mounted (ADR-0105 D12, ADR-0093 D5), that this runtime is open code from this repository under Apache-2.0 (ADR-0132 D1), and that what stays commercial is the entitlement: the licence gate that the same-named commercial package adds by subclassing the open one (ADR-0132 D2, D3). "Open code does not mean free activation" is kept: ADR-0105 D12 as amended by ADR-0132 still states the code-vs-activation split.postureStampsOrganizationdocblock (L70): meant the package. Now "The@objectstack/organizationsruntime (open code, ADR-0132 D1) fills an absent value too".OrgScopingEntitlementdocblock (L99): meant the commercial package. Now "the commercial package of the same name ... under its commercial entitlement", plus one sentence that the open package entitles both walled postures by construction (ADR-0132 D4).org-scopingruntime may declare anything here, and on a commercial host that is the licence-gated one"..changeset/28826-tenancy-posture-open-runtime-wording.md:@objectstack/specpatch, with the two declaration lines.No
.describe()in the file says "enterprise" (the file has none at all), so nothing generated moves.check:generatedconfirms it.Tests
No forced test edits and no new tests: comment-only change. No ablation, because no tested behaviour changed.
Readings on e6a8c4d
pnpm --filter @objectstack/spec build: VERDICT command-exit 0.pnpm --filter @objectstack/spec check:generated: VERDICT command-exit 0, "All 14 generated artifacts are up to date".pnpm --filter @objectstack/spec test: VERDICT command-exit 0, Test Files 790 passed (790), Tests 23370 passed, 1 todo.pnpm --filter @objectstack/spec typecheck: VERDICT command-exit 0.Acceptance notes
Clause-②: no/Metadata-protocol: none, and the published surface is unchanged apart from comment text in the emitted declarations.Verification
All readings on head
e6a8c4d7(objectstack-ai/objectstack).node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --ran FILE: "73 derived famil(ies) accounted for — 73 run, 0 NOT-MEASURED (a DERIVED zero — all 73 recorded an exit code and none of them is 3)". Every one of the 73 exited 0.check-plugin-teardown-shape --self-testneeded full history, andcheck:doc-formula-expressions,check:dual-build-cjs-loads,check:lean-entry-closureneeded built packages. Aftergit fetch --unshallowandpnpm build(VERDICT command-exit 0, 117/117 tasks) all four exited 0.node scripts/check-changeset-no-major.mjs --base origin/main --event FILEwith this body: exit 0, "LEVEL AXIS: this PR declares clause-②noand metadata-protocolnone... a non-protocol change atpatch".pnpm check:dev-prereqs(local-only family): exit 0.pnpm lint, the repo-wide scans, and consumer packages (none are owed for a comment-onlyClause-②: nochange).Generated by Claude Code