@tea-agent/loop-agent 0.13.0 → 0.15.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.
- package/AGENTS.md +157 -157
- package/CHANGELOG.md +116 -305
- package/README.md +357 -334
- package/bin/agent-worker.js +22 -22
- package/bin/loop-agent.js +21 -21
- package/dist/commands/cursor-prompt.js +6 -6
- package/dist/commands/init.js +505 -505
- package/dist/commands/loop-benchmark.js +11 -11
- package/dist/commands/pi-reuse-benchmark.js +16 -16
- package/dist/executors/pi-event-serializer.js +33 -11
- package/dist/sidecars/cursor-prompt/executor.js +1 -1
- package/dist/task/runtime.js +27 -27
- package/dist/worker/observe/spec-evidence.js +19 -10
- package/dist/worker/observe/static/api.js +46 -46
- package/dist/worker/observe/static/app.js +151 -150
- package/dist/worker/observe/static/constants.js +156 -148
- package/dist/worker/observe/static/copy.js +67 -67
- package/dist/worker/observe/static/dag-helpers.js +201 -172
- package/dist/worker/observe/static/dag-layout.d.ts +31 -31
- package/dist/worker/observe/static/dag-layout.js +83 -83
- package/dist/worker/observe/static/dag-model.js +72 -72
- package/dist/worker/observe/static/dom.js +122 -122
- package/dist/worker/observe/static/format-pool.d.ts +71 -0
- package/dist/worker/observe/static/format-pool.js +134 -67
- package/dist/worker/observe/static/format.js +317 -292
- package/dist/worker/observe/static/index.html +350 -308
- package/dist/worker/observe/static/kpi.js +100 -94
- package/dist/worker/observe/static/markdown-render.js +124 -0
- package/dist/worker/observe/static/relations.js +133 -133
- package/dist/worker/observe/static/router.js +93 -93
- package/dist/worker/observe/static/run-processing.js +148 -148
- package/dist/worker/observe/static/shell-chrome.js +74 -68
- package/dist/worker/observe/static/state.js +273 -267
- package/dist/worker/observe/static/styles.css +2504 -1902
- package/dist/worker/observe/static/views/batch.js +227 -227
- package/dist/worker/observe/static/views/dag-graph.js +172 -172
- package/dist/worker/observe/static/views/dag-inspector.js +530 -627
- package/dist/worker/observe/static/views/dag.js +371 -371
- package/dist/worker/observe/static/views/dashboard.js +86 -100
- package/dist/worker/observe/static/views/failures.js +143 -143
- package/dist/worker/observe/static/views/feature.js +492 -492
- package/dist/worker/observe/static/views/pool.js +708 -350
- package/dist/worker/observe/static/views/run.js +453 -453
- package/dist/worker/observe/static/views/session-timeline.js +771 -219
- package/dist/worker/observe/static/views/shell.js +7 -7
- package/dist/worker/observe/static/views/task.js +314 -314
- package/dist/worker/observe/static/views/timeline.js +163 -163
- package/dist/workflows/dag/canvas-observer.js +275 -275
- package/dist/workflows/dag/init-hybrid.js +27 -11
- package/docs/README.md +106 -104
- package/docs/architecture/README.md +26 -26
- package/docs/architecture/dag-execution.md +140 -140
- package/docs/architecture/evolution.md +54 -54
- package/docs/architecture/facts-and-state.md +71 -71
- package/docs/architecture/runtime-boundaries.md +191 -191
- package/docs/architecture/system-overview.md +93 -93
- package/docs/architecture/worker-and-feature.md +85 -85
- package/docs/harness-methodology-debugging.md +153 -153
- package/docs/harness-methodology-tdd.md +130 -130
- package/docs/harness-methodology-verification.md +27 -27
- package/docs/init-surface.manifest.json +304 -307
- package/docs/skills/README.md +7 -7
- package/docs/skills/vetted-skill-registry.md +29 -29
- package/docs/templates/adr.md +60 -60
- package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
- package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
- package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
- package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
- package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
- package/docs/templates/agent-dag-report.schema.json +473 -473
- package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
- package/docs/templates/agent-dag.base.json +190 -190
- package/docs/templates/agent-dag.final-verification.json +185 -185
- package/docs/templates/agent-dag.schema.json +411 -411
- package/docs/templates/agent-dag.supervised-implementation.json +620 -620
- package/docs/templates/backend-test-analysis.schema.json +44 -44
- package/docs/templates/backend-test-case-manifest.schema.json +190 -190
- package/docs/templates/backend-test-dag.classify.prompt.md +75 -75
- package/docs/templates/backend-test-dag.generate-pytest.prompt.md +204 -204
- package/docs/templates/backend-test-dag.json +559 -559
- package/docs/templates/backend-test-dag.retrospect.prompt.md +139 -139
- package/docs/templates/backend-test-dag.review-cases.prompt.md +83 -83
- package/docs/templates/backend-test-execution.schema.json +133 -133
- package/docs/templates/backend-test-result.schema.json +99 -99
- package/docs/templates/branch-merge-report.md +0 -1
- package/docs/templates/exec-plan.md +64 -64
- package/docs/templates/feature-spec.md +53 -53
- package/docs/templates/frontend-design-contract.md +42 -42
- package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -17
- package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -16
- package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -16
- package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -16
- package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -16
- package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -16
- package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -21
- package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -29
- package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -28
- package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -28
- package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -29
- package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -27
- package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -28
- package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -28
- package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -27
- package/docs/templates/frontend-eval/metrics.md +138 -138
- package/docs/templates/frontend-eval/smoke-targets.md +53 -53
- package/docs/templates/frontend-implementation-contract.schema.json +27 -27
- package/docs/templates/frontend-task-constraints.md +35 -35
- package/docs/templates/frontend-task-requirement.md +70 -70
- package/docs/templates/frontend-test-dag.generate-cases.prompt.md +5 -5
- package/docs/templates/frontend-test-dag.json +23 -23
- package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +3 -3
- package/docs/templates/frontend-test-dag.retrospect.prompt.md +3 -3
- package/docs/templates/frontend-test-dag.review-cases.prompt.md +3 -3
- package/docs/templates/frontend-test-dag.review-execution.prompt.md +3 -3
- package/docs/templates/harness.schema.json +221 -221
- package/docs/templates/hybrid-dag.json +188 -188
- package/docs/templates/init-evolution-review.md +35 -35
- package/docs/templates/interactive-ui-round2-experiment.md +66 -66
- package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -118
- package/docs/templates/knowledge-sync-dag.json +178 -178
- package/docs/templates/knowledge-sync-draft.schema.json +71 -71
- package/docs/templates/product-line/AGENTS.md +8 -8
- package/docs/templates/product-line/README.md +9 -9
- package/docs/templates/product-line/acceptance.yaml +14 -14
- package/docs/templates/product-line/closeout.yaml +9 -9
- package/docs/templates/product-line/design.md +13 -13
- package/docs/templates/product-line/links.md +10 -10
- package/docs/templates/product-line/requirement.md +17 -17
- package/docs/templates/product-line/task-graph.yaml +15 -15
- package/docs/templates/product-line/task.yaml +64 -64
- package/docs/templates/product-line/test-plan.md +7 -7
- package/docs/templates/production-readiness-checklist.md +57 -57
- package/docs/templates/progress-log.md +17 -17
- package/docs/templates/project-start-checklist.md +9 -9
- package/docs/templates/qa-report.md +48 -48
- package/docs/templates/sprint-contract.md +29 -29
- package/docs/templates/worker-dogfood-evidence.md +80 -80
- package/docs/templates/worker-dogfood-setup.md +68 -68
- package/examples/decision-gate-agent-dag.json +173 -173
- package/examples/example-dag.json +46 -46
- package/examples/hybrid-loop-agent-dag.json +188 -188
- package/harness.json +66 -66
- package/package.json +78 -52
- package/scripts/kb-bootstrap-init-skeleton.sh +240 -240
- package/scripts/kb-graph-incremental-prepare.mjs +386 -386
- package/scripts/kb-graph-materialize.mjs +105 -105
- package/scripts/kb-graph-promote.mjs +164 -164
- package/scripts/kb-query.mjs +554 -554
- package/skills/agent-worker/SKILL.md +39 -39
- package/skills/agent-worker/references/agent-worker-operator.md +60 -60
- package/skills/ai-engineering-context/SKILL.md +48 -48
- package/skills/analyze-product-dependencies/SKILL.md +67 -67
- package/skills/analyze-product-dependencies/agents/openai.yaml +4 -4
- package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -30
- package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -28
- package/skills/analyze-product-dependencies/references/example.md +76 -76
- package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -35
- package/skills/analyze-product-dependencies/references/input-contract.md +11 -11
- package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -61
- package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -267
- package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -101
- package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -142
- package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -76
- package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -146
- package/skills/analyze-product-requirements/SKILL.md +90 -90
- package/skills/analyze-product-requirements/agents/openai.yaml +4 -4
- package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -91
- package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -56
- package/skills/analyze-product-requirements/references/example.md +86 -86
- package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -66
- package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -32
- package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -33
- package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -35
- package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -193
- package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -69
- package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -97
- package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -98
- package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -156
- package/skills/browser-tools/SKILL.md +196 -196
- package/skills/browser-tools/browser-content.js +103 -103
- package/skills/browser-tools/browser-cookies.js +35 -35
- package/skills/browser-tools/browser-eval.js +53 -53
- package/skills/browser-tools/browser-hn-scraper.js +108 -108
- package/skills/browser-tools/browser-nav.js +44 -44
- package/skills/browser-tools/browser-pick.js +162 -162
- package/skills/browser-tools/browser-screenshot.js +34 -34
- package/skills/browser-tools/browser-start.js +86 -86
- package/skills/browser-tools/package-lock.json +2556 -2556
- package/skills/browser-tools/package.json +19 -19
- package/skills/code-review-core/SKILL.md +20 -20
- package/skills/codebase-scout/SKILL.md +19 -19
- package/skills/frontend-design-review/SKILL.md +66 -66
- package/skills/frontend-design-review/references/review-checklist.md +40 -58
- package/skills/frontend-implementation/SKILL.md +49 -49
- package/skills/frontend-implementation/references/code-standards.md +32 -32
- package/skills/frontend-implementation/references/design-spec.md +46 -46
- package/skills/frontend-implementation/references/node-contracts.md +27 -27
- package/skills/frontend-review/SKILL.md +61 -59
- package/skills/frontend-review/references/review-findings.md +48 -47
- package/skills/frontend-verification/SKILL.md +55 -53
- package/skills/frontend-verification/references/verification-checklist.md +59 -68
- package/skills/grill-me/SKILL.md +10 -10
- package/skills/grill-with-docs/SKILL.md +88 -88
- package/skills/grill-with-docs/adr-format.md +47 -47
- package/skills/grill-with-docs/context-format.md +60 -60
- package/skills/init-capability-evolution/SKILL.md +70 -70
- package/skills/loop-agent/SKILL.md +151 -151
- package/skills/loop-agent/references/README.md +67 -67
- package/skills/loop-agent/references/command-reference.md +527 -527
- package/skills/loop-agent/references/docs-converge.md +126 -126
- package/skills/loop-agent/references/harness-policy.md +263 -263
- package/skills/loop-agent/references/hybrid-dag.md +243 -243
- package/skills/loop-agent/references/learned/README.md +21 -21
- package/skills/loop-agent/references/long-running-loop.md +57 -57
- package/skills/loop-agent/references/model-routing.md +36 -36
- package/skills/loop-agent/references/multi-worktree.md +54 -54
- package/skills/loop-agent/references/one-shot-runs.md +85 -85
- package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
- package/skills/loop-agent/references/pi-prompt.md +23 -23
- package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
- package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
- package/skills/loop-agent/references/task-workflow.md +89 -89
- package/skills/loop-agent/references/verification-and-failure-handling.md +141 -141
- package/skills/playwright-cli/SKILL.md +420 -420
- package/skills/playwright-cli/references/element-attributes.md +23 -23
- package/skills/playwright-cli/references/playwright-tests.md +39 -39
- package/skills/playwright-cli/references/request-mocking.md +87 -87
- package/skills/playwright-cli/references/running-code.md +241 -241
- package/skills/playwright-cli/references/session-management.md +225 -225
- package/skills/playwright-cli/references/storage-state.md +275 -275
- package/skills/playwright-cli/references/test-generation.md +433 -433
- package/skills/playwright-cli/references/tracing.md +139 -139
- package/skills/playwright-cli/references/video-recording.md +143 -143
- package/skills/playwright-cli-case-generator/SKILL.md +74 -74
- package/skills/requesting-code-review/SKILL.md +101 -101
- package/skills/requesting-code-review/code-reviewer.md +168 -168
- package/skills/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/systematic-debugging/SKILL.md +296 -296
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/systematic-debugging/find-polluter.sh +63 -63
- package/skills/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/systematic-debugging/test-academic.md +14 -14
- package/skills/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/test-driven-development/SKILL.md +20 -20
- package/skills/using-git-worktrees/SKILL.md +215 -215
- package/skills/verification-before-completion/SKILL.md +154 -154
- package/skills/webapp-testing/SKILL.md +19 -19
- package/docs/agent-dag-recovery-playbook.md +0 -195
- package/docs/agent-dag-runner.md +0 -67
- package/docs/cursor-prompt-sidecar.md +0 -36
- package/docs/decisions/README.md +0 -18
- package/docs/design/README.md +0 -167
- package/docs/development-principles.md +0 -73
- package/docs/exec-plans/README.md +0 -6
- package/docs/exec-plans/active/README.md +0 -12
- package/docs/exec-plans/completed/README.md +0 -107
- package/docs/feature-workflow.md +0 -414
- package/docs/loop-agent-harness.md +0 -142
- package/docs/production-readiness.md +0 -96
- package/docs/progress/README.md +0 -80
- package/docs/reports/README.md +0 -159
- package/docs/verification-matrix.md +0 -70
- package/scripts/check-product-line-docs.sh +0 -29
- package/scripts/check-task-pool-root.sh +0 -32
- package/scripts/kb-graph-incremental-prepare.sh +0 -5
- package/scripts/kb-graph-materialize.sh +0 -4
- package/scripts/kb-graph-promote.sh +0 -4
- package/scripts/kb-query.sh +0 -5
|
@@ -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
|