@lark-apaas/coding-miaoda-sandbox-skills 0.1.32 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,17 +16,25 @@ gate-tools:
16
16
  ## 决策规则
17
17
 
18
18
  ```
19
- 用户想确认应用是否正常
19
+ 改完代码或用户想确认应用是否正常
20
20
  ├─ 明确要求验证后端接口 / API / 请求响应 → api_request
21
- ├─ 只检查静态视觉结果(白屏、布局、样式、文案、图片)→ visual_check
22
- └─ 交互 / 业务流程 / 数据 / 网络 → Task(subagent_type="E2E")
21
+ ├─ 满足下方「派 E2E 的条件」任一条 → Task(subagent_type="E2E")
22
+ └─ 其他情况(默认)→ 只对改动涉及的路由调用 visual_check,全部通过即交付
23
23
  ```
24
24
 
25
25
  - **静态视觉检查**:调用 `visual_check`,一条路由一次调用;互不依赖的路由可同时发起。它只检查指定路由的最终静态画面,不用来点击、填写、提交或验证接口。
26
- - **功能验收**:交互 / 业务流程 / 数据 / 网络都派 `Task(subagent_type="E2E")`。E2E 一律按标准语义执行,调用时不要额外指定运行方式。
26
+ - **功能验收**:派 `Task(subagent_type="E2E")` 时一律按标准语义执行,调用时不要额外指定运行方式。
27
27
  - **接口验收**:只在用户明确要检查接口、API、请求或响应时调用 `api_request`;完成浏览器验收后不追加接口调用。
28
28
  - **E2E 不可用时(Legacy)**:Task 的 `subagent_type` 没有 E2E 选项时,交互、业务、数据和网络验收改用 `api_request`、读代码和读运行时日志;不要尝试派 E2E。静态视觉仍使用 `visual_check`。
29
29
 
30
+ ### 派 E2E 的条件
31
+
32
+ 满足以下任一条件时派 E2E:
33
+
34
+ - 用户在本轮明确要求验证某个功能或流程;
35
+ - 本轮改了提交、保存、删除这类写操作,或改了权限逻辑;
36
+ - visual_check 发现了视觉以外的问题,例如数据为空或出现报错弹窗。
37
+
30
38
  ## 调用方式
31
39
 
32
40
  ```js
@@ -141,16 +149,26 @@ Task({
141
149
 
142
150
  1. **先看已有的**:`glob .spark/e2e-test/<mode>/*.json` → **读**可能覆盖本需求的那份(没读过不要传)
143
151
  2. **改还是新建**:同需求用例有变化 → 编辑那份;换了功能 / 页面 → 新建一份
152
+ {%- if e2eStructuredCases %}
153
+ 3. **派发**:standard 卷跑哪些用例只认结构化字段,写在 `prompt` 里的自然语言范围不生效:刚写好或刚改过的卷首次验收带 `agent_options.retest_all: true`,跑全部用例;修复后复验带 `agent_options.retest_case_ids: [1, 2]`,只列失败或受这次修复影响的用例(编号取计划文件里的 `id`,必须是正整数,不是 `"case-1"` 这类字符串)。lite 卷不带这两个字段,`prompt` 只说跑哪些(`跑 Case 1、2` / `测试全部用例`),不点名默认只跑 p0
154
+
155
+ 格式(一条用例一行,优先级小写,每卷 ≤10 条):
156
+ {%- else %}
144
157
  3. **派发**:`prompt` 只说跑哪些(`跑 Case 1、2` / `复测 p0 和 p1` / `测试全部用例`),**不点名默认只跑 p0**;一轮点名 ≤5 条
145
158
 
146
159
  格式(一条用例一行,优先级小写,每卷 ≤10 条;一轮只跑其中 ≤5 条):
160
+ {%- endif %}
147
161
 
148
162
  ```json
149
163
  {"cases":[{"id":1,"priority":"p0","description":"打开首页,预期工单列表渲染出至少 1 行"}]}
150
164
  ```
151
165
 
152
166
  - **用例正文只写在计划文件里**:本模式下 `prompt` 不写 `## 测试用例`(下面示例里的用例正文改为写进卷),只留应用结构与本次范围——两处都写会让计划外用例一条不跑、报告却全绿
167
+ {%- if e2eStructuredCases %}
168
+ - **复测只选编号、不删用例**:「只传 failed + 未完成的 Case」指 standard 用 `retest_case_ids` 列出这些编号(lite 在 `prompt` 里点名),不是从卷里删掉已通过的用例
169
+ {%- else %}
153
170
  - **复测只点名、不删用例**:「只传 failed + 未完成的 Case」指在 `prompt` 里点名,不是从卷里删掉已通过的用例
171
+ {%- endif %}
154
172
  {% endif %}
155
173
 
156
174
  ### 调用结构
@@ -158,7 +176,11 @@ Task({
158
176
  ```js
159
177
  task({
160
178
  subagent_type: "E2E",
179
+ {%- if e2eSemanticPlan and e2eStructuredCases %}
180
+ agent_options: { mode: "standard", test_plan_file_path: ".spark/e2e-test/standard/<语义名>.json", retest_all: true }, // 首次验收;lite 卷改 mode: "lite" + lite 目录,不带 retest_*
181
+ {%- else %}
161
182
  agent_options: { mode: "standard" }, // standard=可点击/输入,lite=只截图
183
+ {%- endif %}
162
184
  description: "验收创作工具", // 一句话任务名
163
185
  prompt: `
164
186
  对<被测应用一句话描述>进行端到端验收测试。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/coding-miaoda-sandbox-skills",
3
- "version": "0.1.32",
3
+ "version": "0.1.33",
4
4
  "description": "Miaoda 合并沙箱 skills 包(包含原 miaoda-skills 的 miaoda / miaoda-modern / miaoda-design / shared 四条业务线);发布公网 npm,随沙箱运行时经 update-skills 同步到 .agent/skills/",
5
5
  "type": "module",
6
6
  "files": [