cc9af04a40
字段改名(每项取舍的理由见新增的 references/concepts.md):
- 用例 status -> lifecycle, suite -> tag, surface -> driver,
cleanup -> teardown, skip_unless -> assume;删除 requires
- risk 取值 safe/act/harm -> readonly/mutating/destructive(单调三级,
与 gate 正交)
- catalog auth_env -> authorize;授权变量统一为
AUTHORIZE_MUTATING / AUTHORIZE_DESTRUCTIVE
新增用例字段 automation(automated/assisted/manual),默认 automated,
并在 validate 里机器校验:manual 禁用 driver 与 how.run 且必须有
how.steps;assisted 至少一步以 [人工] 开头。select 新增 --automation。
结果词新增 not-run,区分「主动不跑」(skipped:retired/pending/超风险
上限/未授权/assume 不成立)与「没轮到」(失败即停后、被分类前置挡住整组、
需人工而无人值守)。
status_probe 定为分类级前置条件:catalog 顶层为默认,categories[] 同名键
覆盖(缺省继承 / false 关闭 / mapping 整体替换)。select 按分类返回生效值,
并把 probe.url 用 vars 展开(solve Agent 无法自行解析 ${VAR} 的问题),
同批返回 vars 供 how 里的 ${...} 替换。
新增 references/concepts.md:术语表(每词一句唯一定义 + 业界锚点 +
反例)、v1->v2 映射、以及 risk/automation/not-run/status_probe 的设计理由。
其余文档(SKILL/README/schema/levels/run/maintain)与三个脚本(catalog、
generate_cases_csv、generate_run_csv)同步更新。
33 lines
707 B
YAML
33 lines
707 B
YAML
version: 2
|
|
updatedAt: "1970-01-01T00:00:00+00:00"
|
|
project:
|
|
name: ""
|
|
id_pattern: "^[A-Z]+-[A-Za-z0-9-]+$"
|
|
categories: []
|
|
risks:
|
|
- readonly
|
|
- mutating
|
|
- destructive
|
|
default_max_risk: readonly
|
|
vars: {}
|
|
authorize:
|
|
mutating: AUTHORIZE_MUTATING
|
|
destructive: AUTHORIZE_DESTRUCTIVE
|
|
gates: {}
|
|
sessions:
|
|
browser:
|
|
kind: browser
|
|
reuse: run
|
|
init: "打开目标页面"
|
|
mobile:
|
|
kind: mobile
|
|
reuse: persist
|
|
probe: ""
|
|
init: ""
|
|
# 分类级前置条件(可选)。顶层为默认值,categories[].status_probe 可覆盖:
|
|
# 缺省继承 / false 关闭 / mapping 整体替换。
|
|
# status_probe:
|
|
# url: "${STATUS_BASE}/api/v1/status"
|
|
# stop_if:
|
|
# robot_fsm_state: [1, 2]
|