@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.
- package/AGENTS.md +157 -157
- package/CHANGELOG.md +73 -301
- package/README.md +338 -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/docs/README.md +105 -104
- package/docs/agent-dag-recovery-playbook.md +195 -195
- package/docs/agent-dag-runner.md +67 -67
- 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/cursor-prompt-sidecar.md +36 -36
- package/docs/decisions/README.md +18 -18
- package/docs/design/README.md +167 -167
- package/docs/development-principles.md +73 -73
- package/docs/exec-plans/README.md +6 -6
- package/docs/exec-plans/active/README.md +2 -1
- package/docs/exec-plans/completed/README.md +105 -104
- package/docs/feature-workflow.md +414 -414
- 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 +307 -307
- package/docs/loop-agent-harness.md +142 -142
- package/docs/production-readiness.md +96 -96
- package/docs/progress/README.md +59 -58
- package/docs/reports/README.md +123 -119
- 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/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/docs/verification-matrix.md +70 -70
- 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 +88 -52
- package/scripts/check-product-line-docs.sh +29 -29
- package/scripts/check-task-pool-root.sh +32 -32
- package/scripts/kb-bootstrap-init-skeleton.sh +240 -240
- package/scripts/kb-graph-incremental-prepare.mjs +386 -386
- package/scripts/kb-graph-incremental-prepare.sh +5 -5
- package/scripts/kb-graph-materialize.mjs +105 -105
- package/scripts/kb-graph-materialize.sh +4 -4
- package/scripts/kb-graph-promote.mjs +164 -164
- package/scripts/kb-graph-promote.sh +4 -4
- package/scripts/kb-query.mjs +554 -554
- package/scripts/kb-query.sh +5 -5
- 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 +58 -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 +59 -59
- package/skills/frontend-review/references/review-findings.md +47 -47
- package/skills/frontend-verification/SKILL.md +53 -53
- package/skills/frontend-verification/references/verification-checklist.md +68 -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
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# Feature Spec 模板
|
|
2
|
-
|
|
3
|
-
## 标题
|
|
4
|
-
|
|
5
|
-
## 状态
|
|
6
|
-
|
|
7
|
-
- draft / active / completed
|
|
8
|
-
|
|
9
|
-
## 背景(Background)
|
|
10
|
-
|
|
11
|
-
- 问题背景:
|
|
12
|
-
- 用户/协作者痛点:
|
|
13
|
-
- 与现有系统的关系:
|
|
14
|
-
|
|
15
|
-
## 目标(Goal)
|
|
16
|
-
|
|
17
|
-
- 本 feature 要实现什么:
|
|
18
|
-
|
|
19
|
-
## 非目标(Non-goals)
|
|
20
|
-
|
|
21
|
-
- 明确本轮不做什么:
|
|
22
|
-
|
|
23
|
-
## 关键场景 / 用户路径
|
|
24
|
-
|
|
25
|
-
1.
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
|
|
29
|
-
## Feature List
|
|
30
|
-
|
|
31
|
-
| ID | Feature | Priority | Status | Acceptance | Notes |
|
|
32
|
-
|----|---------|----------|--------|------------|-------|
|
|
33
|
-
| F1 | | High | todo | | |
|
|
34
|
-
|
|
35
|
-
## 依赖(Dependencies)
|
|
36
|
-
|
|
37
|
-
- 上游依赖:
|
|
38
|
-
- 下游影响:
|
|
39
|
-
- 文档/契约依赖:
|
|
40
|
-
|
|
41
|
-
## 风险(Risks)
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
## 验证说明(Verification Notes)
|
|
46
|
-
|
|
47
|
-
- 最低建议验证:
|
|
48
|
-
- 加强验证:
|
|
49
|
-
- 关键手工路径:
|
|
50
|
-
|
|
51
|
-
## Open Questions
|
|
52
|
-
|
|
53
|
-
-
|
|
1
|
+
# Feature Spec 模板
|
|
2
|
+
|
|
3
|
+
## 标题
|
|
4
|
+
|
|
5
|
+
## 状态
|
|
6
|
+
|
|
7
|
+
- draft / active / completed
|
|
8
|
+
|
|
9
|
+
## 背景(Background)
|
|
10
|
+
|
|
11
|
+
- 问题背景:
|
|
12
|
+
- 用户/协作者痛点:
|
|
13
|
+
- 与现有系统的关系:
|
|
14
|
+
|
|
15
|
+
## 目标(Goal)
|
|
16
|
+
|
|
17
|
+
- 本 feature 要实现什么:
|
|
18
|
+
|
|
19
|
+
## 非目标(Non-goals)
|
|
20
|
+
|
|
21
|
+
- 明确本轮不做什么:
|
|
22
|
+
|
|
23
|
+
## 关键场景 / 用户路径
|
|
24
|
+
|
|
25
|
+
1.
|
|
26
|
+
2.
|
|
27
|
+
3.
|
|
28
|
+
|
|
29
|
+
## Feature List
|
|
30
|
+
|
|
31
|
+
| ID | Feature | Priority | Status | Acceptance | Notes |
|
|
32
|
+
|----|---------|----------|--------|------------|-------|
|
|
33
|
+
| F1 | | High | todo | | |
|
|
34
|
+
|
|
35
|
+
## 依赖(Dependencies)
|
|
36
|
+
|
|
37
|
+
- 上游依赖:
|
|
38
|
+
- 下游影响:
|
|
39
|
+
- 文档/契约依赖:
|
|
40
|
+
|
|
41
|
+
## 风险(Risks)
|
|
42
|
+
|
|
43
|
+
-
|
|
44
|
+
|
|
45
|
+
## 验证说明(Verification Notes)
|
|
46
|
+
|
|
47
|
+
- 最低建议验证:
|
|
48
|
+
- 加强验证:
|
|
49
|
+
- 关键手工路径:
|
|
50
|
+
|
|
51
|
+
## Open Questions
|
|
52
|
+
|
|
53
|
+
-
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# 前端设计契约模板
|
|
2
|
-
|
|
3
|
-
## 页面目标
|
|
4
|
-
|
|
5
|
-
TODO
|
|
6
|
-
|
|
7
|
-
## 信息结构
|
|
8
|
-
|
|
9
|
-
TODO
|
|
10
|
-
|
|
11
|
-
## 组件拆分
|
|
12
|
-
|
|
13
|
-
TODO
|
|
14
|
-
|
|
15
|
-
## 交互规则
|
|
16
|
-
|
|
17
|
-
TODO
|
|
18
|
-
|
|
19
|
-
## UI 状态
|
|
20
|
-
|
|
21
|
-
TODO
|
|
22
|
-
|
|
23
|
-
## Mock / API 策略
|
|
24
|
-
|
|
25
|
-
- 接口文档或 schema:TODO
|
|
26
|
-
- 策略:`native | browser-intercept | request-adapter | not-needed | blocked`
|
|
27
|
-
- endpoint / fixture / UI 状态映射:TODO
|
|
28
|
-
- 显式启用方式与 production 默认关闭边界:TODO
|
|
29
|
-
- DAG 已固化的验证入口:TODO
|
|
30
|
-
- Real Integration Gap 与后端就绪后的复验:TODO
|
|
31
|
-
|
|
32
|
-
## 样式与设计系统映射
|
|
33
|
-
|
|
34
|
-
TODO
|
|
35
|
-
|
|
36
|
-
## 响应式范围
|
|
37
|
-
|
|
38
|
-
TODO
|
|
39
|
-
|
|
40
|
-
## 风险与非目标
|
|
41
|
-
|
|
42
|
-
TODO
|
|
1
|
+
# 前端设计契约模板
|
|
2
|
+
|
|
3
|
+
## 页面目标
|
|
4
|
+
|
|
5
|
+
TODO
|
|
6
|
+
|
|
7
|
+
## 信息结构
|
|
8
|
+
|
|
9
|
+
TODO
|
|
10
|
+
|
|
11
|
+
## 组件拆分
|
|
12
|
+
|
|
13
|
+
TODO
|
|
14
|
+
|
|
15
|
+
## 交互规则
|
|
16
|
+
|
|
17
|
+
TODO
|
|
18
|
+
|
|
19
|
+
## UI 状态
|
|
20
|
+
|
|
21
|
+
TODO
|
|
22
|
+
|
|
23
|
+
## Mock / API 策略
|
|
24
|
+
|
|
25
|
+
- 接口文档或 schema:TODO
|
|
26
|
+
- 策略:`native | browser-intercept | request-adapter | not-needed | blocked`
|
|
27
|
+
- endpoint / fixture / UI 状态映射:TODO
|
|
28
|
+
- 显式启用方式与 production 默认关闭边界:TODO
|
|
29
|
+
- DAG 已固化的验证入口:TODO
|
|
30
|
+
- Real Integration Gap 与后端就绪后的复验:TODO
|
|
31
|
+
|
|
32
|
+
## 样式与设计系统映射
|
|
33
|
+
|
|
34
|
+
TODO
|
|
35
|
+
|
|
36
|
+
## 响应式范围
|
|
37
|
+
|
|
38
|
+
TODO
|
|
39
|
+
|
|
40
|
+
## 风险与非目标
|
|
41
|
+
|
|
42
|
+
TODO
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
# Failure fixture: type / build error
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-type-build-error`
|
|
4
|
-
- **triggerSignal**: `frontend-static-verify-shell` 非零(tsc 或 build 失败)
|
|
5
|
-
- **expectedGateBehavior**: static 失败阻断 behavior/review 成功路径;不得 closeout pass
|
|
6
|
-
- **repairable (M3 预标注)**: `repairable`(局部类型/导入修复)
|
|
7
|
-
- **Browser**: 不得宣称 Browser 证据
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
Writer 引入错误 prop 类型或缺失导出,导致 typecheck/build 失败。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- 新鲜 stdout/stderr 归档
|
|
16
|
-
- review 不得在 static 失败时 VERDICT: pass
|
|
17
|
-
- M3:可进入 bounded repair;M0 仅记录
|
|
1
|
+
# Failure fixture: type / build error
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-type-build-error`
|
|
4
|
+
- **triggerSignal**: `frontend-static-verify-shell` 非零(tsc 或 build 失败)
|
|
5
|
+
- **expectedGateBehavior**: static 失败阻断 behavior/review 成功路径;不得 closeout pass
|
|
6
|
+
- **repairable (M3 预标注)**: `repairable`(局部类型/导入修复)
|
|
7
|
+
- **Browser**: 不得宣称 Browser 证据
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
Writer 引入错误 prop 类型或缺失导出,导致 typecheck/build 失败。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- 新鲜 stdout/stderr 归档
|
|
16
|
+
- review 不得在 static 失败时 VERDICT: pass
|
|
17
|
+
- M3:可进入 bounded repair;M0 仅记录
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Failure fixture: unit/component test fail
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-unit-component-test`
|
|
4
|
-
- **triggerSignal**: `frontend-behavior-verify-shell` 非零(vitest 断言失败)
|
|
5
|
-
- **expectedGateBehavior**: behavior 失败 → review 不得 pass;closeout 阻断
|
|
6
|
-
- **repairable (M3 预标注)**: `repairable`
|
|
7
|
-
- **Browser**: not-run;不得用「应在浏览器正常」抵消
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
组件测试期望文案/状态与实现不一致。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- 失败命令为生成期冻结入口
|
|
16
|
-
- 禁止删测 / `.skip` 伪装通过(review 应标 Important)
|
|
1
|
+
# Failure fixture: unit/component test fail
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-unit-component-test`
|
|
4
|
+
- **triggerSignal**: `frontend-behavior-verify-shell` 非零(vitest 断言失败)
|
|
5
|
+
- **expectedGateBehavior**: behavior 失败 → review 不得 pass;closeout 阻断
|
|
6
|
+
- **repairable (M3 预标注)**: `repairable`
|
|
7
|
+
- **Browser**: not-run;不得用「应在浏览器正常」抵消
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
组件测试期望文案/状态与实现不一致。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- 失败命令为生成期冻结入口
|
|
16
|
+
- 禁止删测 / `.skip` 伪装通过(review 应标 Important)
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Failure fixture: fixture schema drift vs API contract
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-fixture-schema-drift`
|
|
4
|
-
- **triggerSignal**: Mock fixture 字段与接口文档冲突;design gate 或 review 发现;或 mock 专项测试失败
|
|
5
|
-
- **expectedGateBehavior**: design request-revision 或 review request-revision;不得发明字段硬通过
|
|
6
|
-
- **repairable (M3 预标注)**: `non-repairable` 若根因是 spec 冲突未裁决;局部拼写且 contract 已明确时可为 repairable
|
|
7
|
-
- **Browser**: not-run
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
Handler 返回 `userName` 而契约为 `name`。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- Mock assess / design 要求 contract-aligned
|
|
16
|
-
- closeout 不得宣称真实联调成功
|
|
1
|
+
# Failure fixture: fixture schema drift vs API contract
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-fixture-schema-drift`
|
|
4
|
+
- **triggerSignal**: Mock fixture 字段与接口文档冲突;design gate 或 review 发现;或 mock 专项测试失败
|
|
5
|
+
- **expectedGateBehavior**: design request-revision 或 review request-revision;不得发明字段硬通过
|
|
6
|
+
- **repairable (M3 预标注)**: `non-repairable` 若根因是 spec 冲突未裁决;局部拼写且 contract 已明确时可为 repairable
|
|
7
|
+
- **Browser**: not-run
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
Handler 返回 `userName` 而契约为 `name`。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- Mock assess / design 要求 contract-aligned
|
|
16
|
+
- closeout 不得宣称真实联调成功
|
package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Failure fixture: missing loading/empty/error state
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-missing-ui-states`
|
|
4
|
-
- **triggerSignal**: plan/design 或 review 发现 applicable 异步列表缺少 loading/empty/error
|
|
5
|
-
- **expectedGateBehavior**: first/final design 应 request-revision;若漏到实现则 review request-revision
|
|
6
|
-
- **repairable (M3 预标注)**: `repairable`(补状态 UI + 测试)
|
|
7
|
-
- **Browser**: not-run
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
仅实现 success 列表渲染。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- design checklist 含 UI States
|
|
16
|
-
- M1 合同将强制 applicable states 映射
|
|
1
|
+
# Failure fixture: missing loading/empty/error state
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-missing-ui-states`
|
|
4
|
+
- **triggerSignal**: plan/design 或 review 发现 applicable 异步列表缺少 loading/empty/error
|
|
5
|
+
- **expectedGateBehavior**: first/final design 应 request-revision;若漏到实现则 review request-revision
|
|
6
|
+
- **repairable (M3 预标注)**: `repairable`(补状态 UI + 测试)
|
|
7
|
+
- **Browser**: not-run
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
仅实现 success 列表渲染。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- design checklist 含 UI States
|
|
16
|
+
- M1 合同将强制 applicable states 映射
|
package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Failure fixture: forbidden write / writeSet expansion attempt
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-forbidden-write`
|
|
4
|
-
- **triggerSignal**: writer 试图修改 writeSet 外路径或 forbiddenPaths(如 `src/**` 任务写入 `package.json`)
|
|
5
|
-
- **expectedGateBehavior**: write-guard 拒绝;run 失败或 NeedsAction;不得当成功 closeout
|
|
6
|
-
- **repairable (M3 预标注)**: `non-repairable`(路径/authority;不得靠 repair 扩大 writeSet)
|
|
7
|
-
- **Browser**: not-run
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
实现中「顺手」改根配置或越界文档。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- exclusive writeSet 强制
|
|
16
|
-
- M0 eval 计入 `forbidden_write_count`
|
|
1
|
+
# Failure fixture: forbidden write / writeSet expansion attempt
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-forbidden-write`
|
|
4
|
+
- **triggerSignal**: writer 试图修改 writeSet 外路径或 forbiddenPaths(如 `src/**` 任务写入 `package.json`)
|
|
5
|
+
- **expectedGateBehavior**: write-guard 拒绝;run 失败或 NeedsAction;不得当成功 closeout
|
|
6
|
+
- **repairable (M3 预标注)**: `non-repairable`(路径/authority;不得靠 repair 扩大 writeSet)
|
|
7
|
+
- **Browser**: not-run
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
实现中「顺手」改根配置或越界文档。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- exclusive writeSet 强制
|
|
16
|
+
- M0 eval 计入 `forbidden_write_count`
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Failure fixture: unapproved dependency add
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-unapproved-dependency`
|
|
4
|
-
- **triggerSignal**: diff 出现未授权 `package.json` / lockfile 依赖新增
|
|
5
|
-
- **expectedGateBehavior**: design 应预先拒绝;若发生则 review Important + request-revision;任务 forbidden 含 package 时 write-guard 阻断
|
|
6
|
-
- **repairable (M3 预标注)**: `non-repairable`(依赖策略/人工批准)
|
|
7
|
-
- **Browser**: not-run
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
为方便引入大型 UI 库未在计划 Dependency Policy 批准。
|
|
12
|
-
|
|
13
|
-
## 期望
|
|
14
|
-
|
|
15
|
-
- 计入 `unapproved_dependency_count`
|
|
16
|
-
- 不得以 build 通过单独放行
|
|
1
|
+
# Failure fixture: unapproved dependency add
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-unapproved-dependency`
|
|
4
|
+
- **triggerSignal**: diff 出现未授权 `package.json` / lockfile 依赖新增
|
|
5
|
+
- **expectedGateBehavior**: design 应预先拒绝;若发生则 review Important + request-revision;任务 forbidden 含 package 时 write-guard 阻断
|
|
6
|
+
- **repairable (M3 预标注)**: `non-repairable`(依赖策略/人工批准)
|
|
7
|
+
- **Browser**: not-run
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
为方便引入大型 UI 库未在计划 Dependency Policy 批准。
|
|
12
|
+
|
|
13
|
+
## 期望
|
|
14
|
+
|
|
15
|
+
- 计入 `unapproved_dependency_count`
|
|
16
|
+
- 不得以 build 通过单独放行
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Failure fixture: Mock production-on / real-request commented out
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-fail-mock-production-on`
|
|
4
|
-
- **triggerSignal**: 生产入口默认启用 Mock、注释真实请求、或 production import test mocks
|
|
5
|
-
- **expectedGateBehavior**: design/review 至少 Important → request-revision;static production/default-real-path 检查应失败或 review 阻断
|
|
6
|
-
- **repairable (M3 预标注)**: `repairable` 若仅激活边界错误;`non-repairable` 若故意绕过合同
|
|
7
|
-
- **Browser**: not-run;Mock UI 观感不得当真实联调
|
|
8
|
-
|
|
9
|
-
## 场景
|
|
10
|
-
|
|
11
|
-
```ts
|
|
12
|
-
// fetch('/api/users')
|
|
13
|
-
return mockUsers;
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
或 `mock.enable()` 无 dev/test 守卫。
|
|
17
|
-
|
|
18
|
-
## 期望
|
|
19
|
-
|
|
20
|
-
- 计入潜在 `mock_real_integration_false_claim` 若 closeout 美化
|
|
21
|
-
- 与 mock workflow 生产默认真实路径规则一致
|
|
1
|
+
# Failure fixture: Mock production-on / real-request commented out
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-fail-mock-production-on`
|
|
4
|
+
- **triggerSignal**: 生产入口默认启用 Mock、注释真实请求、或 production import test mocks
|
|
5
|
+
- **expectedGateBehavior**: design/review 至少 Important → request-revision;static production/default-real-path 检查应失败或 review 阻断
|
|
6
|
+
- **repairable (M3 预标注)**: `repairable` 若仅激活边界错误;`non-repairable` 若故意绕过合同
|
|
7
|
+
- **Browser**: not-run;Mock UI 观感不得当真实联调
|
|
8
|
+
|
|
9
|
+
## 场景
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
// fetch('/api/users')
|
|
13
|
+
return mockUsers;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
或 `mock.enable()` 无 dev/test 守卫。
|
|
17
|
+
|
|
18
|
+
## 期望
|
|
19
|
+
|
|
20
|
+
- 计入潜在 `mock_real_integration_false_claim` 若 closeout 美化
|
|
21
|
+
- 与 mock workflow 生产默认真实路径规则一致
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# Functional fixture: simple component / style
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-func-simple-component-style`
|
|
4
|
-
- **taskTitle**: 调整 Button 次要样式以匹配设计 token
|
|
5
|
-
- **expectedRoute**: `frontend-implementation`
|
|
6
|
-
- **expectedRiskLevel**: `small`(M4 前仅标注)
|
|
7
|
-
- **expectedGateIntensity**: standard dual design + mock assess;无 API 时倾向 `not-needed`
|
|
8
|
-
- **expectedMockStrategy**: `not-needed`(无远程数据)
|
|
9
|
-
- **Browser**: **out-of-scope / not-run**
|
|
10
|
-
|
|
11
|
-
## 需求要点
|
|
12
|
-
|
|
13
|
-
- 修改既有展示型组件 className / CSS module / token 引用。
|
|
14
|
-
- 不改变公共 props API。
|
|
15
|
-
- 覆盖 hover/disabled 若设计要求;无 loading/empty 则 N/A 并说明。
|
|
16
|
-
|
|
17
|
-
## allowedPaths 建议
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
src/components/Button/**
|
|
21
|
-
src/styles/**
|
|
22
|
-
test/components/Button/**
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## expected verification 形态
|
|
26
|
-
|
|
27
|
-
- Static: `typecheck` + `build`(fallback 可接受)
|
|
28
|
-
- Behavior: 组件单测或 style snapshot 类 vitest(无浏览器)
|
|
29
|
-
- 无 `frontend-mock-verify-shell`
|
|
1
|
+
# Functional fixture: simple component / style
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-func-simple-component-style`
|
|
4
|
+
- **taskTitle**: 调整 Button 次要样式以匹配设计 token
|
|
5
|
+
- **expectedRoute**: `frontend-implementation`
|
|
6
|
+
- **expectedRiskLevel**: `small`(M4 前仅标注)
|
|
7
|
+
- **expectedGateIntensity**: standard dual design + mock assess;无 API 时倾向 `not-needed`
|
|
8
|
+
- **expectedMockStrategy**: `not-needed`(无远程数据)
|
|
9
|
+
- **Browser**: **out-of-scope / not-run**
|
|
10
|
+
|
|
11
|
+
## 需求要点
|
|
12
|
+
|
|
13
|
+
- 修改既有展示型组件 className / CSS module / token 引用。
|
|
14
|
+
- 不改变公共 props API。
|
|
15
|
+
- 覆盖 hover/disabled 若设计要求;无 loading/empty 则 N/A 并说明。
|
|
16
|
+
|
|
17
|
+
## allowedPaths 建议
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
src/components/Button/**
|
|
21
|
+
src/styles/**
|
|
22
|
+
test/components/Button/**
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## expected verification 形态
|
|
26
|
+
|
|
27
|
+
- Static: `typecheck` + `build`(fallback 可接受)
|
|
28
|
+
- Behavior: 组件单测或 style snapshot 类 vitest(无浏览器)
|
|
29
|
+
- 无 `frontend-mock-verify-shell`
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# Functional fixture: form validation
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-func-form-validation`
|
|
4
|
-
- **taskTitle**: 实现登录表单客户端校验与错误提示
|
|
5
|
-
- **expectedRoute**: `frontend-implementation`
|
|
6
|
-
- **expectedRiskLevel**: `standard`
|
|
7
|
-
- **expectedGateIntensity**: dual design;UI states 含 error/empty 输入
|
|
8
|
-
- **expectedMockStrategy**: `not-needed` 若仅客户端校验;若提交到 API 则为 native/request-adapter
|
|
9
|
-
- **Browser**: **out-of-scope / not-run**
|
|
10
|
-
|
|
11
|
-
## 需求要点
|
|
12
|
-
|
|
13
|
-
- 必填、格式、确认字段一致性。
|
|
14
|
-
- 提交中 loading、校验失败 error message、成功 success 反馈。
|
|
15
|
-
- 不得默认 Mock 掉真实提交路径。
|
|
16
|
-
|
|
17
|
-
## allowedPaths 建议
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
src/components/LoginForm/**
|
|
21
|
-
src/pages/login/**
|
|
22
|
-
test/components/LoginForm/**
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## expected verification 形态
|
|
26
|
-
|
|
27
|
-
- Static: typecheck/build
|
|
28
|
-
- Behavior: 组件/单元测试覆盖 invalid/valid 路径
|
|
1
|
+
# Functional fixture: form validation
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-func-form-validation`
|
|
4
|
+
- **taskTitle**: 实现登录表单客户端校验与错误提示
|
|
5
|
+
- **expectedRoute**: `frontend-implementation`
|
|
6
|
+
- **expectedRiskLevel**: `standard`
|
|
7
|
+
- **expectedGateIntensity**: dual design;UI states 含 error/empty 输入
|
|
8
|
+
- **expectedMockStrategy**: `not-needed` 若仅客户端校验;若提交到 API 则为 native/request-adapter
|
|
9
|
+
- **Browser**: **out-of-scope / not-run**
|
|
10
|
+
|
|
11
|
+
## 需求要点
|
|
12
|
+
|
|
13
|
+
- 必填、格式、确认字段一致性。
|
|
14
|
+
- 提交中 loading、校验失败 error message、成功 success 反馈。
|
|
15
|
+
- 不得默认 Mock 掉真实提交路径。
|
|
16
|
+
|
|
17
|
+
## allowedPaths 建议
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
src/components/LoginForm/**
|
|
21
|
+
src/pages/login/**
|
|
22
|
+
test/components/LoginForm/**
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## expected verification 形态
|
|
26
|
+
|
|
27
|
+
- Static: typecheck/build
|
|
28
|
+
- Behavior: 组件/单元测试覆盖 invalid/valid 路径
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# Functional fixture: list/detail page
|
|
2
|
-
|
|
3
|
-
- **fixtureId**: `fe-func-list-detail-page`
|
|
4
|
-
- **taskTitle**: 实现订单列表与详情路由页面
|
|
5
|
-
- **expectedRoute**: `frontend-implementation`
|
|
6
|
-
- **expectedRiskLevel**: `standard`
|
|
7
|
-
- **expectedGateIntensity**: dual design + 状态覆盖(loading/empty/error/success)
|
|
8
|
-
- **expectedMockStrategy**: 有 API 时 `native` 或 `request-adapter`;policy=auto
|
|
9
|
-
- **Browser**: **out-of-scope / not-run**
|
|
10
|
-
|
|
11
|
-
## 需求要点
|
|
12
|
-
|
|
13
|
-
- 列表分页或筛选;详情根据 id 加载。
|
|
14
|
-
- loading / empty / error / success 四态可测。
|
|
15
|
-
- Real Integration Gap 在 closeout 保留(若仅 Mock)。
|
|
16
|
-
|
|
17
|
-
## allowedPaths 建议
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
src/pages/orders/**
|
|
21
|
-
src/components/orders/**
|
|
22
|
-
src/api/orders/**
|
|
23
|
-
test/pages/orders/**
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## expected verification 形态
|
|
27
|
-
|
|
28
|
-
- Static + behavior(路由/组件测试,非 e2e 浏览器)
|
|
1
|
+
# Functional fixture: list/detail page
|
|
2
|
+
|
|
3
|
+
- **fixtureId**: `fe-func-list-detail-page`
|
|
4
|
+
- **taskTitle**: 实现订单列表与详情路由页面
|
|
5
|
+
- **expectedRoute**: `frontend-implementation`
|
|
6
|
+
- **expectedRiskLevel**: `standard`
|
|
7
|
+
- **expectedGateIntensity**: dual design + 状态覆盖(loading/empty/error/success)
|
|
8
|
+
- **expectedMockStrategy**: 有 API 时 `native` 或 `request-adapter`;policy=auto
|
|
9
|
+
- **Browser**: **out-of-scope / not-run**
|
|
10
|
+
|
|
11
|
+
## 需求要点
|
|
12
|
+
|
|
13
|
+
- 列表分页或筛选;详情根据 id 加载。
|
|
14
|
+
- loading / empty / error / success 四态可测。
|
|
15
|
+
- Real Integration Gap 在 closeout 保留(若仅 Mock)。
|
|
16
|
+
|
|
17
|
+
## allowedPaths 建议
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
src/pages/orders/**
|
|
21
|
+
src/components/orders/**
|
|
22
|
+
src/api/orders/**
|
|
23
|
+
test/pages/orders/**
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## expected verification 形态
|
|
27
|
+
|
|
28
|
+
- Static + behavior(路由/组件测试,非 e2e 浏览器)
|