#4535 第二批。基线行:`TenantPlan(+Schema) — [./cloud] ≠ [./system]`。 **已裁决路线(维护者 2026-08-03 批复前锋判定):B —— 删 system 侧,cloud 保名。** 裁决依据:system 侧 provisioning 家族(`TenantProvisioningRequest/Result` + `IProvisioningService` + `ITenantRouter`)三仓**零实现零调用**(declared-only),确认已被 cloud 的 `Provision*` 家族取代。 **前锋证据摘要**(详见 [#4535 前锋评论](https://github.com/objectstack-ai/objectstack/issues/4535#issuecomment-5161308046)):cloud 侧经 `EnvironmentSchema`/`TenantContext`/`ProvisionTenantRequest` 活着,cloud 仓 service-tenant 消费;system 侧 5 值 ⊃ 3 值但两边都窄于产品现实(cloud `billing.ts` 实际用 8 值词表)。 **实施要点**: - 删 `system/provisioning.zod.ts` 的 enum def(整 def 消失走 manifest ratchet 路径,#4650 门禁响亮打印)+ `contracts/provisioning-service.ts` / `contracts/tenant-router.ts` 处置(retire 或删除,以 spec-property-retirement 判则 + 门禁输出为准);cloud 侧预期零改动。 - major changeset 据实(删已发布导出名 + 契约文件);零元数据迁移预期,逐项验证。 - **cloud 仓跟进单**(实施时立,不塞本单):`auto-default-environment-plugin.ts:94` 手抄 5 值 plan 联合 → 改 import spec 单一真源(潜在跨仓双源)。 - **分区**:`./system` + `contracts` —— **与 C10 绝不并飞**(同区,B 线内串行);与 C7/C13+C15/C17 可并飞;入队串行协议照旧。
Activity
os-zhuang commentedon Aug 3, 2026
🔒 认领(实施 B 线;C6 #4658 → PR #4745 已验收,C13+C15 因同 automation 区候其落地,本单分区无冲突先行)
session_0176qgxgCXTJCUv4YFLtusP9claude/issue-4739-tenant-plan-dual-source./system+contracts,与在飞 RestServerConfig.openApi31(OpenApi31Extensions / Callback / OpenApiWebhookEvent)declared ≠ enforced:没有任何运行时读取它 —— ADR-0049 enforce-or-remove 候选 #4579(api 区)、队列中 feat(spec)!: 移除./automation的孤儿EventSchema—— C6 双源清账,基线 13 → 12 (#4658) #4745(automation 区)零交集;C10 不并飞mode: pre(01:15Z),agent 开工前再查Generated by Claude Code
os-zhuang commentedon Aug 3, 2026
✅ 验收通过(ACCEPT) — PR #4752 已转正并开 auto-merge。基线 12 → 10,第二批 2/7。
核对结论(本地 diff --stat + 分区边界实测 + 正文证据链):
IProvisioningService/ITenantRouter两契约文件整体退役 + 全部测试)删除,-939 行;src/cloud/*.zod.ts零变更实测成立(仅新增cloud/tenant.test.tspin 文件);api/automation/integration/data/ai 违禁区零文件。TenantProvisioningService是重名本地类、不 import spec 家族——三仓零消费者结论经此辨析后成立,未触发升级条件。contracts/index.ts/system/index.ts留 spec 双源清账 C16:TenantPlan(./cloud ≠ ./system)—— 路线 B:删 system 侧 provisioning 家族,2 条 #4739 指路注释(Four of the five declared plugin lifecycle hooks are never invoked — and the metadata-type registry docs tell plugins to use one of them #4212/discovery 的 workflow / graphql 槽位还声明着两条无人挂载的 route —— #4318 同款,但目前"上了膛没击发" #4451 先例)。starter/custom过、solo拒)。./automation的孤儿EventSchema—— C6 双源清账,基线 13 → 12 (#4658) #4745、fix(metadata)!:sys_metadata_history.recorded_by存 NULL 而非哨兵字符串'system'(#4556) #4742)已 rebase + 重生成 + 重验,基线起点按 12 计,算术闭合。合并后 #4535 勾 C16;B 线 system 区空出后按排程接 C10 #4740(等本单落地,同区不并飞)。
Generated by Claude Code
feat(spec)!: 删除 ./system 的 declared-only tenant-provisioning 家族 —— C1…
test(spec): the last system/ file group's test titles state each cite…