From 84e7526a46f812c749023e24ec5a40f2c6707793 Mon Sep 17 00:00:00 2001 From: os-sam Date: Mon, 7 Sep 2026 10:16:15 +0000 Subject: [PATCH] =?UTF-8?q?docs(design):=20=C2=A703=20records=20that=20obj?= =?UTF-8?q?ectstack#16215=20landed,=20leaving=20#16137=20as=20the=20sole?= =?UTF-8?q?=20gate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DESIGN.md §03 stated the employer self-onboarding expiry condition as "#16215 + #16137". objectstack#16215 merged on 2026-09-07: @objectstack/organizations is now an Apache-2.0 package and the org-scoping registrar is in the open core. That satisfies one of the two conditions, so record which one and what is left. #16137 is still open, pm:blocked and has no PR, and #16215's own PR body explicitly declines to claim the bootable-open-wall acceptance: objectstack serve still resolves the runtime from the served app's own declaration and is not wired to mount the package off the posture. The operative conclusion is unchanged -- employers still cannot self-register -- but the reason is now narrower, and a future re-check only has to look at #16137 rather than re-derive the whole question. Documentation only; no metadata changed, so validate/lint/typecheck cannot be affected and were not run. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PbJ5Cy9KDAzeQHo8bsMadG --- DESIGN.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/DESIGN.md b/DESIGN.md index 5b2852d..6ff8683 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -134,7 +134,7 @@ Layer 0 墙不是全有全无的。`plugin-security/src/security-plugin.ts:2940` - **今天(`single` posture,墙惰性)** —— 划分成立,求职者靠本人级规则访问自己的数据(这类规则不依赖 `accessible_org_ids`,**今天就能工作**)。 -- **墙立起来之后**(objectstack #16215 开源多组织包 + #16137 接通 serve 挂载)—— **同一套划分不用改**。 +- **墙立起来之后**(objectstack #16215 开源多组织包 **已于 2026-09-07 合并**;仍待 #16137 接通 serve 挂载)—— **同一套划分不用改**。 进墙的对象额外获得引擎级隔离(强于 RLS),出墙的对象继续可被求职者访问。 ⛔ 因此**不要**为了让种子写入通过而发明一个「平台组织」来持有候选人等行。那在今天只是个语义谎言, @@ -154,9 +154,17 @@ Layer 0 墙不是全有全无的。`plugin-security/src/security-plugin.ts:2940` 理由是在没有墙的部署上创建组织等于铸造一个无人守卫的边界。 所以当前每个雇主组织只能由种子或运维带外创建。 -**到期条件**:这是暂时的,不是永久约束。#16215 + #16137 落地后开源部署能带墙启动, +**到期条件(两项,已满足一项)**:这是暂时的,不是永久约束。#16215 + #16137 落地后开源部署能带墙启动, `multiOrgPostureEffective()` 为真,雇主自助注册随之打通 —— 届时 F1 机构资质审核才能接上真实的入驻流程。 +- ✅ **objectstack#16215 已合并(2026-09-07)** —— `@objectstack/organizations` 现为 Apache-2.0 开源包, + `org-scoping` 注册器进入开源核心。**这解除了「多组织运行时是闭源的」这一条**。 +- ⬜ **objectstack#16137 仍未落地**(open,`pm:blocked`,无 PR)。#16215 的 PR 正文**明确不认领**「开源部署能带墙启动」 + 这条验收:`objectstack serve` 仍从被服务应用自己的声明解析运行时,**没有按 posture 挂载这个包**。 + +⇒ 所以今天的结论**不变**:雇主仍无法自助注册。变的是原因 —— 不再是「包是闭源的」,而只剩「serve 没接上挂载」。 +下一次复核只需看 #16137。 + ### 角色与权限矩阵 五个 position ↔ 五个 permission set。R 读 · C 建 · U 改 · D 删;括号内为行级作用域。