Epic #12150 的人工验收卡。开发已全部合并 v17 主线(九个 PR,清单见 epic);本卡供同事逐项确认,**从客户视角**测,不看代码。测试人:领一项勾一项,发现与「预期」不符的,在本卡评论区记录(写清:哪一项、实际看到什么、截图/报错原文),⛔ 不要自行修改或绕过。 ## 一句话背景 客户安装应用包(Marketplace 应用)之后:**展示类**(视图/仪表盘等)可以直接改;**行为类**(包内流程、动作)锁定不许改,但可以**关掉**,流程还可以**克隆一份自己的来改**;**结构类**(包内对象)通过扩展包加自己的字段。本卡确认这套承诺真的成立。 ## 环境准备 - 拉最新 `main`(≥ `af56546a`,全部九个 PR 已含),按标准方式启动 showcase 示例应用(含自动化服务的常规组合)。 - 一个**管理员**账号 + 一个**普通用户**账号。 - 确认环境里有包内(packaged)流程和动作可测(showcase 自带)。 ## 测试项 ### A. 流程开关(Setup 页) - [ ] **A1 入口**:管理员登录 → Setup → 「Packaged automation / 打包自动化」页面存在,列出包内流程,每条显示启用/停用状态(默认全部启用)。 - [ ] **A2 停用生效**:停用一个包内流程 → 页面状态翻转;触发该流程的业务事件**不再执行**该流程。 - [ ] **A3 持久性(关键)**:停用后**重启服务** → 停用状态仍在,流程仍不执行。⛔ 若重启后悄悄恢复执行,是严重缺陷,单独标注。 - [ ] **A4 恢复**:重新启用 → 流程恢复执行。 - [ ] **A5 子流程保护**:选一个被其他包内流程当作子流程调用的流程,尝试停用 → 被**拒绝**,报错信息**点名列出调用方流程**(服务端原文,界面不加工)。 ### B. 流程克隆(Setup 页) - [ ] **B1 克隆**:对包内流程点克隆 → 必须输入**新机器名**才能完成;克隆体出现且可在 Studio 里编辑;**原件仍锁定**不可改。 - [ ] **B2 无血缘**:界面任何地方都**不显示**克隆体与原件的来源关系、差异对比、「已定制」角标——这是设计如此,不是缺陷。 ### C. 动作开关(Setup 同页动作区) - [ ] **C1 停用生效**:停用一个包内动作 → 从界面/接口调用该动作被拒绝(HTTP 409,错误码 `ACTION_DISABLED`),且拒绝发生在动作逻辑执行**之前**。 - [ ] **C2 持久 + 恢复**:重启后停用仍在;重新启用后调用恢复正常。 - [ ] **C3 无克隆**:动作区**没有**克隆按钮——设计如此(只特许了开关)。 ### D. 权限门槛 - [ ] **D1**:用**普通用户**尝试翻任何开关(流程或动作)→ 被拒绝,拒绝文案为服务端原文。 - [ ] **D2**(如具备多组织 group/isolated 形态环境):只有 `platform_admin` 职位能翻开关,普通管理员不行。 ### E. 文档承诺 - [ ] **E1**:文档页 `capabilities/integrations` 与 `build-without-code` 中关于 Marketplace 应用的表述已按三分层说话(展示类直接改/行为类停用+克隆/结构类扩展字段),不再有无条件的「装完可在 Studio 定制」。 ### F. 回归(不应发生变化的) - [ ] **F1 权限集不变**:包内权限集的锁定、停用、克隆(#11513 已有功能)行为与升级前一致——权限集**不走**新的中央开关表,这是裁定过的设计。 - [ ] **F2 定义锁定**:包内流程/动作的定义本体在 Studio 中仍不可原地编辑。 - [ ] **F3 升级平滑**:在一个升级前已有数据的环境升级到最新 main → 无需任何迁移动作,所有包内工件默认启用,已有功能无异常。 ### G. 部署形态(PR #12419 已合并 `af56546a`,可测) - [ ] **G1 无自动化组合**:在**不含自动化服务**、但有对象+动作的组合上启动 → 动作开关同样可用(修复前此处报 503)。 ## 已知边界(设计如此,勿当缺陷上报) 1. 任何地方都不展示克隆血缘/差异/「已定制」标识(裁定:§9)。 2. 动作只有开关,没有克隆(裁定:仅特许开关)。 3. **非包内**(自建)流程的开关不持久化(重启失效)——中央开关表只管包内工件,自建流程有明确的非持久警告。 4. 权限集/职位/能力沿用各自的 `active` 字段,不并入中央开关表(裁定:2026-08-26,#12159)。 Refs: Epic #12150 · ADR-0126(`docs/adr/0126-packaged-metadata-customization-model.md`)
Epic #12150 的人工验收卡。开发已全部合并 v17 主线(九个 PR,清单见 epic);本卡供同事逐项确认,从客户视角测,不看代码。测试人:领一项勾一项,发现与「预期」不符的,在本卡评论区记录(写清:哪一项、实际看到什么、截图/报错原文),⛔ 不要自行修改或绕过。
一句话背景
客户安装应用包(Marketplace 应用)之后:展示类(视图/仪表盘等)可以直接改;行为类(包内流程、动作)锁定不许改,但可以关掉,流程还可以克隆一份自己的来改;结构类(包内对象)通过扩展包加自己的字段。本卡确认这套承诺真的成立。
环境准备
main(≥af56546a,全部九个 PR 已含),按标准方式启动 showcase 示例应用(含自动化服务的常规组合)。测试项
A. 流程开关(Setup 页)
B. 流程克隆(Setup 页)
C. 动作开关(Setup 同页动作区)
ACTION_DISABLED),且拒绝发生在动作逻辑执行之前。D. 权限门槛
platform_admin职位能翻开关,普通管理员不行。E. 文档承诺
capabilities/integrations与build-without-code中关于 Marketplace 应用的表述已按三分层说话(展示类直接改/行为类停用+克隆/结构类扩展字段),不再有无条件的「装完可在 Studio 定制」。F. 回归(不应发生变化的)
G. 部署形态(PR #12419 已合并
af56546a,可测)已知边界(设计如此,勿当缺陷上报)
active字段,不并入中央开关表(裁定:2026-08-26,Ledger convergence: registration home + one store implementation + permission-set convergence (ADR-0126 §4/§8, maintainer-ruled bundle) #12159)。Refs: Epic #12150 · ADR-0126(
docs/adr/0126-packaged-metadata-customization-model.md)