# tag 与 risk 维护或用户问套件/安全级别时读本文件。两套词对所有项目相同,不要自造名字。命名理由见 [concepts.md](concepts.md)。 ## tag:跑哪一批 只表示耗时和依赖,不表示危不危险。危不危险看 `risk`。 业界常见还有 sanity(窄回归,和 smoke 重叠)、regression(≈本 skill 的 full)、acceptance、nightly。本 skill **不采用** sanity/acceptance:和 smoke/full 分不清,且已有 category、id、risk 三层筛选。 固定三个词: | 值 | 何时用 | |----|--------| | `smoke` | 最短路径证明系统还活着。必须快、少依赖、**`risk` 只能是 `readonly`**。 | | `full` | 日常回归里其余自动化用例。说「跑 full」仍受风险上限约束。 | | `slow` | 太慢或环境太重,不进日常 full:真实焊接、付费 API、要工件/账号、跑很久。 | 口诀: 1. 只回答「活着吗、主入口能不能用」→ `smoke`。 2. 要特殊现场/很久才能跑完 → `slow`。 3. 其余自动化 → `full`。 4. 拿不准 → `full`。不要把会动真机或会删数据的放进 `smoke`。 未指定 tag 时只跑 `smoke`。`跑 full` 不含 `slow`。 ## risk:副作用有多大 三个词,网站 / App / 机器人共用,单调升级。`catalog.yaml` 的 `risks` 必须按此顺序,且以 `readonly` 开头: | 值 | 含义 | 网站 | App | 机器人 | |----|------|------|-----|--------| | `readonly` | 只看,不留下变化 | 打开页、只读 API | 打开界面 | 读位姿、查状态 | | `mutating` | 会改状态,一般可补救 | 提交表单、改配置 | 发消息、保存 | 点动、使能、开盖扫描 | | `destructive` | 难恢复或伤人/伤钱/伤环境 | 删库、真实扣费 | 清数据、内购 | 急停、断电、真焊 | 默认只跑 `readonly`。项目细分闸(点动 vs 焊接)用可选 `gate`,不要再发明 risk 名。 `tag=smoke` 且 `risk!=readonly` 为非法。 不想跑某一档时,`authorize.` 指向的环境变量保持 false 即可——该档用例记 `skipped`,不是 `not-run`。