@tea-agent/loop-agent 0.13.0 → 0.14.0

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.
Files changed (270) hide show
  1. package/AGENTS.md +157 -157
  2. package/CHANGELOG.md +73 -301
  3. package/README.md +338 -334
  4. package/bin/agent-worker.js +22 -22
  5. package/bin/loop-agent.js +21 -21
  6. package/dist/commands/cursor-prompt.js +6 -6
  7. package/dist/commands/init.js +505 -505
  8. package/dist/commands/loop-benchmark.js +11 -11
  9. package/dist/commands/pi-reuse-benchmark.js +16 -16
  10. package/dist/executors/pi-event-serializer.js +33 -11
  11. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  12. package/dist/task/runtime.js +27 -27
  13. package/dist/worker/observe/spec-evidence.js +19 -10
  14. package/dist/worker/observe/static/api.js +46 -46
  15. package/dist/worker/observe/static/app.js +151 -150
  16. package/dist/worker/observe/static/constants.js +156 -148
  17. package/dist/worker/observe/static/copy.js +67 -67
  18. package/dist/worker/observe/static/dag-helpers.js +201 -172
  19. package/dist/worker/observe/static/dag-layout.d.ts +31 -31
  20. package/dist/worker/observe/static/dag-layout.js +83 -83
  21. package/dist/worker/observe/static/dag-model.js +72 -72
  22. package/dist/worker/observe/static/dom.js +122 -122
  23. package/dist/worker/observe/static/format-pool.d.ts +71 -0
  24. package/dist/worker/observe/static/format-pool.js +134 -67
  25. package/dist/worker/observe/static/format.js +317 -292
  26. package/dist/worker/observe/static/index.html +350 -308
  27. package/dist/worker/observe/static/kpi.js +100 -94
  28. package/dist/worker/observe/static/markdown-render.js +124 -0
  29. package/dist/worker/observe/static/relations.js +133 -133
  30. package/dist/worker/observe/static/router.js +93 -93
  31. package/dist/worker/observe/static/run-processing.js +148 -148
  32. package/dist/worker/observe/static/shell-chrome.js +74 -68
  33. package/dist/worker/observe/static/state.js +273 -267
  34. package/dist/worker/observe/static/styles.css +2504 -1902
  35. package/dist/worker/observe/static/views/batch.js +227 -227
  36. package/dist/worker/observe/static/views/dag-graph.js +172 -172
  37. package/dist/worker/observe/static/views/dag-inspector.js +530 -627
  38. package/dist/worker/observe/static/views/dag.js +371 -371
  39. package/dist/worker/observe/static/views/dashboard.js +86 -100
  40. package/dist/worker/observe/static/views/failures.js +143 -143
  41. package/dist/worker/observe/static/views/feature.js +492 -492
  42. package/dist/worker/observe/static/views/pool.js +708 -350
  43. package/dist/worker/observe/static/views/run.js +453 -453
  44. package/dist/worker/observe/static/views/session-timeline.js +771 -219
  45. package/dist/worker/observe/static/views/shell.js +7 -7
  46. package/dist/worker/observe/static/views/task.js +314 -314
  47. package/dist/worker/observe/static/views/timeline.js +163 -163
  48. package/dist/workflows/dag/canvas-observer.js +275 -275
  49. package/docs/README.md +105 -104
  50. package/docs/agent-dag-recovery-playbook.md +195 -195
  51. package/docs/agent-dag-runner.md +67 -67
  52. package/docs/architecture/README.md +26 -26
  53. package/docs/architecture/dag-execution.md +140 -140
  54. package/docs/architecture/evolution.md +54 -54
  55. package/docs/architecture/facts-and-state.md +71 -71
  56. package/docs/architecture/runtime-boundaries.md +191 -191
  57. package/docs/architecture/system-overview.md +93 -93
  58. package/docs/architecture/worker-and-feature.md +85 -85
  59. package/docs/cursor-prompt-sidecar.md +36 -36
  60. package/docs/decisions/README.md +18 -18
  61. package/docs/design/README.md +167 -167
  62. package/docs/development-principles.md +73 -73
  63. package/docs/exec-plans/README.md +6 -6
  64. package/docs/exec-plans/active/README.md +2 -1
  65. package/docs/exec-plans/completed/README.md +105 -104
  66. package/docs/feature-workflow.md +414 -414
  67. package/docs/harness-methodology-debugging.md +153 -153
  68. package/docs/harness-methodology-tdd.md +130 -130
  69. package/docs/harness-methodology-verification.md +27 -27
  70. package/docs/init-surface.manifest.json +307 -307
  71. package/docs/loop-agent-harness.md +142 -142
  72. package/docs/production-readiness.md +96 -96
  73. package/docs/progress/README.md +59 -58
  74. package/docs/reports/README.md +123 -119
  75. package/docs/skills/README.md +7 -7
  76. package/docs/skills/vetted-skill-registry.md +29 -29
  77. package/docs/templates/adr.md +60 -60
  78. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  79. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  80. package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
  81. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  82. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  83. package/docs/templates/agent-dag-report.schema.json +473 -473
  84. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  85. package/docs/templates/agent-dag.base.json +190 -190
  86. package/docs/templates/agent-dag.final-verification.json +185 -185
  87. package/docs/templates/agent-dag.schema.json +411 -411
  88. package/docs/templates/agent-dag.supervised-implementation.json +620 -620
  89. package/docs/templates/backend-test-analysis.schema.json +44 -44
  90. package/docs/templates/backend-test-case-manifest.schema.json +190 -190
  91. package/docs/templates/backend-test-dag.classify.prompt.md +75 -75
  92. package/docs/templates/backend-test-dag.generate-pytest.prompt.md +204 -204
  93. package/docs/templates/backend-test-dag.json +559 -559
  94. package/docs/templates/backend-test-dag.retrospect.prompt.md +139 -139
  95. package/docs/templates/backend-test-dag.review-cases.prompt.md +83 -83
  96. package/docs/templates/backend-test-execution.schema.json +133 -133
  97. package/docs/templates/backend-test-result.schema.json +99 -99
  98. package/docs/templates/exec-plan.md +64 -64
  99. package/docs/templates/feature-spec.md +53 -53
  100. package/docs/templates/frontend-design-contract.md +42 -42
  101. package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -17
  102. package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -16
  103. package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -16
  104. package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -16
  105. package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -16
  106. package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -16
  107. package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -21
  108. package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -29
  109. package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -28
  110. package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -28
  111. package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -29
  112. package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -27
  113. package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -28
  114. package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -28
  115. package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -27
  116. package/docs/templates/frontend-eval/metrics.md +138 -138
  117. package/docs/templates/frontend-eval/smoke-targets.md +53 -53
  118. package/docs/templates/frontend-implementation-contract.schema.json +27 -27
  119. package/docs/templates/frontend-task-constraints.md +35 -35
  120. package/docs/templates/frontend-task-requirement.md +70 -70
  121. package/docs/templates/frontend-test-dag.generate-cases.prompt.md +5 -5
  122. package/docs/templates/frontend-test-dag.json +23 -23
  123. package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +3 -3
  124. package/docs/templates/frontend-test-dag.retrospect.prompt.md +3 -3
  125. package/docs/templates/frontend-test-dag.review-cases.prompt.md +3 -3
  126. package/docs/templates/frontend-test-dag.review-execution.prompt.md +3 -3
  127. package/docs/templates/harness.schema.json +221 -221
  128. package/docs/templates/hybrid-dag.json +188 -188
  129. package/docs/templates/init-evolution-review.md +35 -35
  130. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  131. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -118
  132. package/docs/templates/knowledge-sync-dag.json +178 -178
  133. package/docs/templates/knowledge-sync-draft.schema.json +71 -71
  134. package/docs/templates/product-line/AGENTS.md +8 -8
  135. package/docs/templates/product-line/README.md +9 -9
  136. package/docs/templates/product-line/acceptance.yaml +14 -14
  137. package/docs/templates/product-line/closeout.yaml +9 -9
  138. package/docs/templates/product-line/design.md +13 -13
  139. package/docs/templates/product-line/links.md +10 -10
  140. package/docs/templates/product-line/requirement.md +17 -17
  141. package/docs/templates/product-line/task-graph.yaml +15 -15
  142. package/docs/templates/product-line/task.yaml +64 -64
  143. package/docs/templates/product-line/test-plan.md +7 -7
  144. package/docs/templates/production-readiness-checklist.md +57 -57
  145. package/docs/templates/progress-log.md +17 -17
  146. package/docs/templates/project-start-checklist.md +9 -9
  147. package/docs/templates/qa-report.md +48 -48
  148. package/docs/templates/sprint-contract.md +29 -29
  149. package/docs/templates/worker-dogfood-evidence.md +80 -80
  150. package/docs/templates/worker-dogfood-setup.md +68 -68
  151. package/docs/verification-matrix.md +70 -70
  152. package/examples/decision-gate-agent-dag.json +173 -173
  153. package/examples/example-dag.json +46 -46
  154. package/examples/hybrid-loop-agent-dag.json +188 -188
  155. package/harness.json +66 -66
  156. package/package.json +88 -52
  157. package/scripts/check-product-line-docs.sh +29 -29
  158. package/scripts/check-task-pool-root.sh +32 -32
  159. package/scripts/kb-bootstrap-init-skeleton.sh +240 -240
  160. package/scripts/kb-graph-incremental-prepare.mjs +386 -386
  161. package/scripts/kb-graph-incremental-prepare.sh +5 -5
  162. package/scripts/kb-graph-materialize.mjs +105 -105
  163. package/scripts/kb-graph-materialize.sh +4 -4
  164. package/scripts/kb-graph-promote.mjs +164 -164
  165. package/scripts/kb-graph-promote.sh +4 -4
  166. package/scripts/kb-query.mjs +554 -554
  167. package/scripts/kb-query.sh +5 -5
  168. package/skills/agent-worker/SKILL.md +39 -39
  169. package/skills/agent-worker/references/agent-worker-operator.md +60 -60
  170. package/skills/ai-engineering-context/SKILL.md +48 -48
  171. package/skills/analyze-product-dependencies/SKILL.md +67 -67
  172. package/skills/analyze-product-dependencies/agents/openai.yaml +4 -4
  173. package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -30
  174. package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -28
  175. package/skills/analyze-product-dependencies/references/example.md +76 -76
  176. package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -35
  177. package/skills/analyze-product-dependencies/references/input-contract.md +11 -11
  178. package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -61
  179. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -267
  180. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -101
  181. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -142
  182. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -76
  183. package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -146
  184. package/skills/analyze-product-requirements/SKILL.md +90 -90
  185. package/skills/analyze-product-requirements/agents/openai.yaml +4 -4
  186. package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -91
  187. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -56
  188. package/skills/analyze-product-requirements/references/example.md +86 -86
  189. package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -66
  190. package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -32
  191. package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -33
  192. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -35
  193. package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -193
  194. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -69
  195. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -97
  196. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -98
  197. package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -156
  198. package/skills/browser-tools/SKILL.md +196 -196
  199. package/skills/browser-tools/browser-content.js +103 -103
  200. package/skills/browser-tools/browser-cookies.js +35 -35
  201. package/skills/browser-tools/browser-eval.js +53 -53
  202. package/skills/browser-tools/browser-hn-scraper.js +108 -108
  203. package/skills/browser-tools/browser-nav.js +44 -44
  204. package/skills/browser-tools/browser-pick.js +162 -162
  205. package/skills/browser-tools/browser-screenshot.js +34 -34
  206. package/skills/browser-tools/browser-start.js +86 -86
  207. package/skills/browser-tools/package-lock.json +2556 -2556
  208. package/skills/browser-tools/package.json +19 -19
  209. package/skills/code-review-core/SKILL.md +20 -20
  210. package/skills/codebase-scout/SKILL.md +19 -19
  211. package/skills/frontend-design-review/SKILL.md +66 -66
  212. package/skills/frontend-design-review/references/review-checklist.md +58 -58
  213. package/skills/frontend-implementation/SKILL.md +49 -49
  214. package/skills/frontend-implementation/references/code-standards.md +32 -32
  215. package/skills/frontend-implementation/references/design-spec.md +46 -46
  216. package/skills/frontend-implementation/references/node-contracts.md +27 -27
  217. package/skills/frontend-review/SKILL.md +59 -59
  218. package/skills/frontend-review/references/review-findings.md +47 -47
  219. package/skills/frontend-verification/SKILL.md +53 -53
  220. package/skills/frontend-verification/references/verification-checklist.md +68 -68
  221. package/skills/grill-me/SKILL.md +10 -10
  222. package/skills/grill-with-docs/SKILL.md +88 -88
  223. package/skills/grill-with-docs/adr-format.md +47 -47
  224. package/skills/grill-with-docs/context-format.md +60 -60
  225. package/skills/init-capability-evolution/SKILL.md +70 -70
  226. package/skills/loop-agent/SKILL.md +151 -151
  227. package/skills/loop-agent/references/README.md +67 -67
  228. package/skills/loop-agent/references/command-reference.md +527 -527
  229. package/skills/loop-agent/references/docs-converge.md +126 -126
  230. package/skills/loop-agent/references/harness-policy.md +263 -263
  231. package/skills/loop-agent/references/hybrid-dag.md +243 -243
  232. package/skills/loop-agent/references/learned/README.md +21 -21
  233. package/skills/loop-agent/references/long-running-loop.md +57 -57
  234. package/skills/loop-agent/references/model-routing.md +36 -36
  235. package/skills/loop-agent/references/multi-worktree.md +54 -54
  236. package/skills/loop-agent/references/one-shot-runs.md +85 -85
  237. package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
  238. package/skills/loop-agent/references/pi-prompt.md +23 -23
  239. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  240. package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
  241. package/skills/loop-agent/references/task-workflow.md +89 -89
  242. package/skills/loop-agent/references/verification-and-failure-handling.md +141 -141
  243. package/skills/playwright-cli/SKILL.md +420 -420
  244. package/skills/playwright-cli/references/element-attributes.md +23 -23
  245. package/skills/playwright-cli/references/playwright-tests.md +39 -39
  246. package/skills/playwright-cli/references/request-mocking.md +87 -87
  247. package/skills/playwright-cli/references/running-code.md +241 -241
  248. package/skills/playwright-cli/references/session-management.md +225 -225
  249. package/skills/playwright-cli/references/storage-state.md +275 -275
  250. package/skills/playwright-cli/references/test-generation.md +433 -433
  251. package/skills/playwright-cli/references/tracing.md +139 -139
  252. package/skills/playwright-cli/references/video-recording.md +143 -143
  253. package/skills/playwright-cli-case-generator/SKILL.md +74 -74
  254. package/skills/requesting-code-review/SKILL.md +101 -101
  255. package/skills/requesting-code-review/code-reviewer.md +168 -168
  256. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  257. package/skills/systematic-debugging/SKILL.md +296 -296
  258. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  259. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  260. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  261. package/skills/systematic-debugging/find-polluter.sh +63 -63
  262. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  263. package/skills/systematic-debugging/test-academic.md +14 -14
  264. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  265. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  266. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  267. package/skills/test-driven-development/SKILL.md +20 -20
  268. package/skills/using-git-worktrees/SKILL.md +215 -215
  269. package/skills/verification-before-completion/SKILL.md +154 -154
  270. package/skills/webapp-testing/SKILL.md +19 -19
@@ -1,74 +1,74 @@
1
- ---
2
- name: playwright-cli-case-generator
3
- description: 根据 FE-test RAG 知识包生成可由 playwright-cli 串行执行的前端功能测试用例、索引和 case manifest。
4
- ---
5
-
6
- # Playwright Test Generator
7
-
8
- 仅用于 FE-test DAG 的 `generate-frontend-functional-cases-pi`。本 skill
9
- 生成中文 Markdown 测试用例和 `manifest.json`,不执行浏览器、不生成
10
- Playwright/Pytest 源码,也不修改被测应用。
11
-
12
- ## 输入与边界
13
-
14
- - 只读取 `testcase/frontend/rag/context.md`、`coverage-map.md` 与已有
15
- `testcase/frontend/cases/`。
16
- - 只写 `testcase/frontend/cases/**`;不得回读 PRD、读取 `.harness/`,或写
17
- `testcase/frontend/evidence/**`。
18
- - 所有 API、字段限制、状态流转、数据来源、SLA、URL 与账号要求必须能在
19
- RAG 知识包中追溯。缺失信息标记 `blocked` 或“需人工确认”,不得猜测。
20
-
21
- ## 输出
22
-
23
- - 写 `index.md`、`manifest.json` 与独立 case 文件
24
- `FE-<FEATURE>-<NNN>-<dimension>.md`;`dimension` 仅为 `core`、`boundary`、
25
- `flow` 或 `backend`。
26
- - `manifest.json` 使用 `schemaVersion: 1`,每项只含 `caseId`、`casePath`、
27
- `dimension`、`acIds`、`evidenceDir`。所有 ID、路径和 evidenceDir 必须唯一,
28
- 并位于 `testcase/frontend/` 内。
29
- - `index.md` 按功能点列出 case、维度、AC、数据依赖、API 映射和预期执行状态。
30
-
31
- 每个 case 必须包含:
32
-
33
- 1. 元信息:功能、CRUD 分类、维度、关联 AC、RAG 来源、API 映射状态与数据策略。
34
- 2. 前置条件:独立 `-s=<case-id>` session、登录状态、fixture/存量数据、清理责任。
35
- 3. 可独立执行的命令序列:`open --browser=chrome --headed <base-url>`、按需登录/数据准备、
36
- `snapshot` 后优先使用元素引用、操作、UI 断言、可选 API 断言、cleanup、`close`。
37
- 4. 明确的 UI/API 预期与数据清理结果;无法满足的环境或数据依赖必须写为 `blocked`。
38
-
39
- 所有 snapshot、screenshot、trace 和 video 命令必须指向执行节点提供的
40
- `testcase/frontend/evidence/<case-id>/` 工作目录。命令必须使用现有
41
- `playwright-cli` skill 已声明的接口;不要生成 `requests --clear`、
42
- `request-body` 或 `response-body`。
43
-
44
- ## 覆盖矩阵
45
-
46
- | CRUD 类型 | 必选 | 条件 |
47
- | --- | --- | --- |
48
- | C-新增 | `core`、`boundary` | 有状态流转时 `flow`;有 API 映射时 `backend` |
49
- | R-查询 | `core` | 有搜索/筛选输入时 `boundary`;有 API 映射时 `backend` |
50
- | U-修改 | `core`、`boundary` | 有状态流转时 `flow`;有 API 映射时 `backend` |
51
- | D-删除 | `core` | 有 API 映射时 `backend` |
52
-
53
- - `boundary` 只从已知必填、长度、范围、精度、枚举或字符规则推导;无约束时
54
- 不伪造边界值。
55
- - `flow` 是自包含的多步状态旅程;每个关键步骤都有 UI 与已知数据一致性断言,
56
- 不依赖其他 case 创建的数据。
57
- - `backend` 只在 API 映射存在时使用 `requests` / `request <id>`,或在精确时序
58
- 下使用 `run-code`。错误、空态或超时使用 `route`,并在 cleanup 中 `unroute`。
59
- 响应字段和性能阈值必须来自 RAG。
60
-
61
- ## 数据策略
62
-
63
- - C-新增优先使用需求中给出的测试数据;仅在已授权 API 映射存在时才描述临时构造
64
- 与清理。
65
- - R/U/D 优先使用知识包登记的 fixture 或 test-data;不足时只能使用已授权的
66
- 测试环境 API 注入并清理。
67
- - 禁止使用生产 URL、真实用户凭据或不可清理的数据写入。无法证明隔离与清理时,
68
- case 必须为 `blocked`。
69
-
70
- ## 交接
71
-
72
- 生成结束时仅返回紧凑 JSON 摘要:case 总数、各维度数量、manifest 相对路径、
73
- blocked case ID 与原因。详细内容保留在 case 文件,供后续 manifest/map 子节点
74
- 逐 case 读取,避免把完整用例塞进上游上下文。
1
+ ---
2
+ name: playwright-cli-case-generator
3
+ description: 根据 FE-test RAG 知识包生成可由 playwright-cli 串行执行的前端功能测试用例、索引和 case manifest。
4
+ ---
5
+
6
+ # Playwright Test Generator
7
+
8
+ 仅用于 FE-test DAG 的 `generate-frontend-functional-cases-pi`。本 skill
9
+ 生成中文 Markdown 测试用例和 `manifest.json`,不执行浏览器、不生成
10
+ Playwright/Pytest 源码,也不修改被测应用。
11
+
12
+ ## 输入与边界
13
+
14
+ - 只读取 `testcase/frontend/rag/context.md`、`coverage-map.md` 与已有
15
+ `testcase/frontend/cases/`。
16
+ - 只写 `testcase/frontend/cases/**`;不得回读 PRD、读取 `.harness/`,或写
17
+ `testcase/frontend/evidence/**`。
18
+ - 所有 API、字段限制、状态流转、数据来源、SLA、URL 与账号要求必须能在
19
+ RAG 知识包中追溯。缺失信息标记 `blocked` 或“需人工确认”,不得猜测。
20
+
21
+ ## 输出
22
+
23
+ - 写 `index.md`、`manifest.json` 与独立 case 文件
24
+ `FE-<FEATURE>-<NNN>-<dimension>.md`;`dimension` 仅为 `core`、`boundary`、
25
+ `flow` 或 `backend`。
26
+ - `manifest.json` 使用 `schemaVersion: 1`,每项只含 `caseId`、`casePath`、
27
+ `dimension`、`acIds`、`evidenceDir`。所有 ID、路径和 evidenceDir 必须唯一,
28
+ 并位于 `testcase/frontend/` 内。
29
+ - `index.md` 按功能点列出 case、维度、AC、数据依赖、API 映射和预期执行状态。
30
+
31
+ 每个 case 必须包含:
32
+
33
+ 1. 元信息:功能、CRUD 分类、维度、关联 AC、RAG 来源、API 映射状态与数据策略。
34
+ 2. 前置条件:独立 `-s=<case-id>` session、登录状态、fixture/存量数据、清理责任。
35
+ 3. 可独立执行的命令序列:`open --browser=chrome --headed <base-url>`、按需登录/数据准备、
36
+ `snapshot` 后优先使用元素引用、操作、UI 断言、可选 API 断言、cleanup、`close`。
37
+ 4. 明确的 UI/API 预期与数据清理结果;无法满足的环境或数据依赖必须写为 `blocked`。
38
+
39
+ 所有 snapshot、screenshot、trace 和 video 命令必须指向执行节点提供的
40
+ `testcase/frontend/evidence/<case-id>/` 工作目录。命令必须使用现有
41
+ `playwright-cli` skill 已声明的接口;不要生成 `requests --clear`、
42
+ `request-body` 或 `response-body`。
43
+
44
+ ## 覆盖矩阵
45
+
46
+ | CRUD 类型 | 必选 | 条件 |
47
+ | --- | --- | --- |
48
+ | C-新增 | `core`、`boundary` | 有状态流转时 `flow`;有 API 映射时 `backend` |
49
+ | R-查询 | `core` | 有搜索/筛选输入时 `boundary`;有 API 映射时 `backend` |
50
+ | U-修改 | `core`、`boundary` | 有状态流转时 `flow`;有 API 映射时 `backend` |
51
+ | D-删除 | `core` | 有 API 映射时 `backend` |
52
+
53
+ - `boundary` 只从已知必填、长度、范围、精度、枚举或字符规则推导;无约束时
54
+ 不伪造边界值。
55
+ - `flow` 是自包含的多步状态旅程;每个关键步骤都有 UI 与已知数据一致性断言,
56
+ 不依赖其他 case 创建的数据。
57
+ - `backend` 只在 API 映射存在时使用 `requests` / `request <id>`,或在精确时序
58
+ 下使用 `run-code`。错误、空态或超时使用 `route`,并在 cleanup 中 `unroute`。
59
+ 响应字段和性能阈值必须来自 RAG。
60
+
61
+ ## 数据策略
62
+
63
+ - C-新增优先使用需求中给出的测试数据;仅在已授权 API 映射存在时才描述临时构造
64
+ 与清理。
65
+ - R/U/D 优先使用知识包登记的 fixture 或 test-data;不足时只能使用已授权的
66
+ 测试环境 API 注入并清理。
67
+ - 禁止使用生产 URL、真实用户凭据或不可清理的数据写入。无法证明隔离与清理时,
68
+ case 必须为 `blocked`。
69
+
70
+ ## 交接
71
+
72
+ 生成结束时仅返回紧凑 JSON 摘要:case 总数、各维度数量、manifest 相对路径、
73
+ blocked case ID 与原因。详细内容保留在 case 文件,供后续 manifest/map 子节点
74
+ 逐 case 读取,避免把完整用例塞进上游上下文。
@@ -1,101 +1,101 @@
1
- ---
2
- name: requesting-code-review
3
- description: 在完成任务、实现 major features,或 merge 前验证 work 是否满足 requirements 时使用
4
- ---
5
-
6
- # Requesting Code Review
7
-
8
- Dispatch code reviewer subagent,在问题级联前捕获 issue。Reviewer 获得精确 crafted 的 evaluation context — 绝不是你的 session history。这使 reviewer 聚焦 work product,而非你的 thought process,并保留你自己的 context 以继续工作。
9
-
10
- **Core principle:** Review early, review often.
11
-
12
- ## When to Request Review
13
-
14
- **Mandatory:**
15
- - subagent-driven development 中每个 task 之后
16
- - 完成 major feature 之后
17
- - merge 到 main 之前
18
-
19
- **Optional but valuable:**
20
- - 卡住时(fresh perspective)
21
- - refactoring 前(baseline check)
22
- - 修复 complex bug 之后
23
-
24
- ## How to Request
25
-
26
- **1. Get git SHAs:**
27
- ```bash
28
- BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
29
- HEAD_SHA=$(git rev-parse HEAD)
30
- ```
31
-
32
- **2. Use the code reviewer template**(本 skill 目录下的 `code-reviewer.md`):
33
-
34
- **Placeholders:**
35
- - `{DESCRIPTION}` — 简要 summary of what you built
36
- - `{PLAN_OR_REQUIREMENTS}` — 它应做什么(contract、exec plan 或 requirements)
37
- - `{BASE_SHA}` — Starting commit
38
- - `{HEAD_SHA}` — Ending commit
39
-
40
- **3. Act on feedback:**
41
- - Critical issues 立即修复
42
- - Important issues 在继续前修复
43
- - Minor issues 稍后处理
44
- - Reviewer 有误时 push back(附 reasoning)
45
-
46
- ## Example
47
-
48
- ```
49
- [Just completed Task 2: Add verification function]
50
-
51
- You: Let me request code review before proceeding.
52
-
53
- BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
54
- HEAD_SHA=$(git rev-parse HEAD)
55
-
56
- [Dispatch code reviewer subagent]
57
- DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
58
- PLAN_OR_REQUIREMENTS: Task 2 from ai_workspace/loop-agent/exec-plans/active/deployment-plan.md
59
- BASE_SHA: a7981ec
60
- HEAD_SHA: 3df7661
61
-
62
- [Subagent returns]:
63
- Strengths: Clean architecture, real tests
64
- Issues:
65
- Important: Missing progress indicators
66
- Minor: Magic number (100) for reporting interval
67
- Assessment: Ready to proceed
68
-
69
- You: [Fix progress indicators]
70
- [Continue to Task 3]
71
- ```
72
-
73
- ## Integration with Harness Workflow
74
-
75
- **每个 work chunk 之后(Plan → Contract → Implement → Verify → Handoff):**
76
- - Implement 之后、Verify 之前 review
77
- - 在问题 compound 前捕获
78
- - 进入 next task 前修复
79
-
80
- **Before merge / Handoff:**
81
- - 宣称 complete 前 review
82
- - 对照 contract acceptance criteria 验证
83
-
84
- **Ad-Hoc Development:**
85
- - merge 前 review
86
- - 卡住时 review
87
-
88
- ## Red Flags
89
-
90
- **Never:**
91
- - 因 "it's simple" 跳过 review
92
- - 忽略 Critical issues
93
- - 带着未修复的 Important issues 继续
94
- - 与 valid technical feedback 争辩
95
-
96
- **If reviewer wrong:**
97
- - 用 technical reasoning push back
98
- - 展示证明其有效的 code/tests
99
- - 请求 clarification
100
-
101
- Template 见:requesting-code-review/code-reviewer.md
1
+ ---
2
+ name: requesting-code-review
3
+ description: 在完成任务、实现 major features,或 merge 前验证 work 是否满足 requirements 时使用
4
+ ---
5
+
6
+ # Requesting Code Review
7
+
8
+ Dispatch code reviewer subagent,在问题级联前捕获 issue。Reviewer 获得精确 crafted 的 evaluation context — 绝不是你的 session history。这使 reviewer 聚焦 work product,而非你的 thought process,并保留你自己的 context 以继续工作。
9
+
10
+ **Core principle:** Review early, review often.
11
+
12
+ ## When to Request Review
13
+
14
+ **Mandatory:**
15
+ - subagent-driven development 中每个 task 之后
16
+ - 完成 major feature 之后
17
+ - merge 到 main 之前
18
+
19
+ **Optional but valuable:**
20
+ - 卡住时(fresh perspective)
21
+ - refactoring 前(baseline check)
22
+ - 修复 complex bug 之后
23
+
24
+ ## How to Request
25
+
26
+ **1. Get git SHAs:**
27
+ ```bash
28
+ BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
29
+ HEAD_SHA=$(git rev-parse HEAD)
30
+ ```
31
+
32
+ **2. Use the code reviewer template**(本 skill 目录下的 `code-reviewer.md`):
33
+
34
+ **Placeholders:**
35
+ - `{DESCRIPTION}` — 简要 summary of what you built
36
+ - `{PLAN_OR_REQUIREMENTS}` — 它应做什么(contract、exec plan 或 requirements)
37
+ - `{BASE_SHA}` — Starting commit
38
+ - `{HEAD_SHA}` — Ending commit
39
+
40
+ **3. Act on feedback:**
41
+ - Critical issues 立即修复
42
+ - Important issues 在继续前修复
43
+ - Minor issues 稍后处理
44
+ - Reviewer 有误时 push back(附 reasoning)
45
+
46
+ ## Example
47
+
48
+ ```
49
+ [Just completed Task 2: Add verification function]
50
+
51
+ You: Let me request code review before proceeding.
52
+
53
+ BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
54
+ HEAD_SHA=$(git rev-parse HEAD)
55
+
56
+ [Dispatch code reviewer subagent]
57
+ DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
58
+ PLAN_OR_REQUIREMENTS: Task 2 from ai_workspace/loop-agent/exec-plans/active/deployment-plan.md
59
+ BASE_SHA: a7981ec
60
+ HEAD_SHA: 3df7661
61
+
62
+ [Subagent returns]:
63
+ Strengths: Clean architecture, real tests
64
+ Issues:
65
+ Important: Missing progress indicators
66
+ Minor: Magic number (100) for reporting interval
67
+ Assessment: Ready to proceed
68
+
69
+ You: [Fix progress indicators]
70
+ [Continue to Task 3]
71
+ ```
72
+
73
+ ## Integration with Harness Workflow
74
+
75
+ **每个 work chunk 之后(Plan → Contract → Implement → Verify → Handoff):**
76
+ - Implement 之后、Verify 之前 review
77
+ - 在问题 compound 前捕获
78
+ - 进入 next task 前修复
79
+
80
+ **Before merge / Handoff:**
81
+ - 宣称 complete 前 review
82
+ - 对照 contract acceptance criteria 验证
83
+
84
+ **Ad-Hoc Development:**
85
+ - merge 前 review
86
+ - 卡住时 review
87
+
88
+ ## Red Flags
89
+
90
+ **Never:**
91
+ - 因 "it's simple" 跳过 review
92
+ - 忽略 Critical issues
93
+ - 带着未修复的 Important issues 继续
94
+ - 与 valid technical feedback 争辩
95
+
96
+ **If reviewer wrong:**
97
+ - 用 technical reasoning push back
98
+ - 展示证明其有效的 code/tests
99
+ - 请求 clarification
100
+
101
+ Template 见:requesting-code-review/code-reviewer.md