@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,76 +1,76 @@
|
|
|
1
|
-
# V3 输出示例
|
|
2
|
-
|
|
3
|
-
## API 索引与详情
|
|
4
|
-
|
|
5
|
-
````md
|
|
6
|
-
## 2. API 索引
|
|
7
|
-
| API | Method + Path | Operation ID | 用户故事 | AC | 变更 |
|
|
8
|
-
|---|---|---|---|---|---|
|
|
9
|
-
| API-001 | GET /api/v1/orders/{orderId}/refund-status | getRefundStatus | BE-US-001 | AC-BE-001 | 新增 |
|
|
10
|
-
|
|
11
|
-
## 3. API 详情
|
|
12
|
-
### API-001 查询退款状态
|
|
13
|
-
> `GET /api/v1/orders/{orderId}/refund-status`
|
|
14
|
-
|
|
15
|
-
#### 基本信息
|
|
16
|
-
| 字段 | 值 |
|
|
17
|
-
|---|---|
|
|
18
|
-
| Operation ID | getRefundStatus |
|
|
19
|
-
| 变更类型 | 新增 |
|
|
20
|
-
| 幂等性 | 只读请求天然幂等 |
|
|
21
|
-
|
|
22
|
-
#### Path 参数
|
|
23
|
-
| 参数 | 类型 | 必填 | 语义 |
|
|
24
|
-
|---|---|---|---|
|
|
25
|
-
| orderId | string | 是 | 订单标识 |
|
|
26
|
-
|
|
27
|
-
#### 成功响应
|
|
28
|
-
- HTTP:200
|
|
29
|
-
```json
|
|
30
|
-
{"data":{"refundStatus":"processing"}}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
#### 错误响应
|
|
34
|
-
| 状态码 | 错误码 | 条件 |
|
|
35
|
-
|---|---|---|
|
|
36
|
-
| 403 | FORBIDDEN | 资源访问被拒绝 |
|
|
37
|
-
```json
|
|
38
|
-
{"code":"FORBIDDEN","message":"forbidden"}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
````
|
|
42
|
-
|
|
43
|
-
无 Path、Query、Body 或专属 Header 时省略对应章节。
|
|
44
|
-
|
|
45
|
-
分页接口在 Query 参数中定义可选的每页条数:
|
|
46
|
-
|
|
47
|
-
```md
|
|
48
|
-
#### Query 参数
|
|
49
|
-
| 参数 | 类型 | 必填 | 允许值 | 语义 |
|
|
50
|
-
|---|---|---|---|---|
|
|
51
|
-
| pageSize | integer | 否 | 10 \| 20 \| 50 \| 100 | 每页条数 |
|
|
52
|
-
| cursor | string | 否 | - | 下一页游标 |
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
字段与 code 定义前先在内部搜索仓库共享定义,命中时直接复用;API 文档不生成“复用检查”或搜索证据。
|
|
56
|
-
|
|
57
|
-
## Dependency 影响文件与 API 映射
|
|
58
|
-
|
|
59
|
-
```md
|
|
60
|
-
### BE-US-001 查询退款状态
|
|
61
|
-
- 验收标准:AC-BE-001
|
|
62
|
-
- API 文档引用:API-001
|
|
63
|
-
- 影响文件:
|
|
64
|
-
- F1 modify `src/refund/refund.controller.ts`:增加查询入口
|
|
65
|
-
- F2 modify `src/refund/refund.service.ts`:组合退款状态
|
|
66
|
-
- 路由/入口:F1 注册退款状态路由
|
|
67
|
-
- Controller/Handler:F1 校验身份和订单 ID
|
|
68
|
-
- Service/领域逻辑:F2 组合状态
|
|
69
|
-
|
|
70
|
-
## API 实现映射
|
|
71
|
-
| API | Operation ID | 方法与路径 | 代码入口 |
|
|
72
|
-
|---|---|---|---|
|
|
73
|
-
| API-001 | getRefundStatus | GET /api/v1/orders/{orderId}/refund-status | F1 |
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
`影响文件` 是完整路径清单;其余字段使用 F 编号引用。非 API 后端故事不生成 API 文档。
|
|
1
|
+
# V3 输出示例
|
|
2
|
+
|
|
3
|
+
## API 索引与详情
|
|
4
|
+
|
|
5
|
+
````md
|
|
6
|
+
## 2. API 索引
|
|
7
|
+
| API | Method + Path | Operation ID | 用户故事 | AC | 变更 |
|
|
8
|
+
|---|---|---|---|---|---|
|
|
9
|
+
| API-001 | GET /api/v1/orders/{orderId}/refund-status | getRefundStatus | BE-US-001 | AC-BE-001 | 新增 |
|
|
10
|
+
|
|
11
|
+
## 3. API 详情
|
|
12
|
+
### API-001 查询退款状态
|
|
13
|
+
> `GET /api/v1/orders/{orderId}/refund-status`
|
|
14
|
+
|
|
15
|
+
#### 基本信息
|
|
16
|
+
| 字段 | 值 |
|
|
17
|
+
|---|---|
|
|
18
|
+
| Operation ID | getRefundStatus |
|
|
19
|
+
| 变更类型 | 新增 |
|
|
20
|
+
| 幂等性 | 只读请求天然幂等 |
|
|
21
|
+
|
|
22
|
+
#### Path 参数
|
|
23
|
+
| 参数 | 类型 | 必填 | 语义 |
|
|
24
|
+
|---|---|---|---|
|
|
25
|
+
| orderId | string | 是 | 订单标识 |
|
|
26
|
+
|
|
27
|
+
#### 成功响应
|
|
28
|
+
- HTTP:200
|
|
29
|
+
```json
|
|
30
|
+
{"data":{"refundStatus":"processing"}}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### 错误响应
|
|
34
|
+
| 状态码 | 错误码 | 条件 |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| 403 | FORBIDDEN | 资源访问被拒绝 |
|
|
37
|
+
```json
|
|
38
|
+
{"code":"FORBIDDEN","message":"forbidden"}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
````
|
|
42
|
+
|
|
43
|
+
无 Path、Query、Body 或专属 Header 时省略对应章节。
|
|
44
|
+
|
|
45
|
+
分页接口在 Query 参数中定义可选的每页条数:
|
|
46
|
+
|
|
47
|
+
```md
|
|
48
|
+
#### Query 参数
|
|
49
|
+
| 参数 | 类型 | 必填 | 允许值 | 语义 |
|
|
50
|
+
|---|---|---|---|---|
|
|
51
|
+
| pageSize | integer | 否 | 10 \| 20 \| 50 \| 100 | 每页条数 |
|
|
52
|
+
| cursor | string | 否 | - | 下一页游标 |
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
字段与 code 定义前先在内部搜索仓库共享定义,命中时直接复用;API 文档不生成“复用检查”或搜索证据。
|
|
56
|
+
|
|
57
|
+
## Dependency 影响文件与 API 映射
|
|
58
|
+
|
|
59
|
+
```md
|
|
60
|
+
### BE-US-001 查询退款状态
|
|
61
|
+
- 验收标准:AC-BE-001
|
|
62
|
+
- API 文档引用:API-001
|
|
63
|
+
- 影响文件:
|
|
64
|
+
- F1 modify `src/refund/refund.controller.ts`:增加查询入口
|
|
65
|
+
- F2 modify `src/refund/refund.service.ts`:组合退款状态
|
|
66
|
+
- 路由/入口:F1 注册退款状态路由
|
|
67
|
+
- Controller/Handler:F1 校验身份和订单 ID
|
|
68
|
+
- Service/领域逻辑:F2 组合状态
|
|
69
|
+
|
|
70
|
+
## API 实现映射
|
|
71
|
+
| API | Operation ID | 方法与路径 | 代码入口 |
|
|
72
|
+
|---|---|---|---|
|
|
73
|
+
| API-001 | getRefundStatus | GET /api/v1/orders/{orderId}/refund-status | F1 |
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`影响文件` 是完整路径清单;其余字段使用 F 编号引用。非 API 后端故事不生成 API 文档。
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Forward-Test Cases
|
|
2
|
-
|
|
3
|
-
## Case 1:缩小为 frontend
|
|
4
|
-
|
|
5
|
-
使用 complete、scope 为 both 的 Product Requirement 和真实仓库,指定 `--target frontend`。核对:只生成 `dependency-analysis.md`;`analysis_scope` 为 `frontend`;不生成空 API 文档;没有后端依赖章节、`BE-US-*` 或 API 实现映射;每个 FE 故事有文件证据和状态边界落点。
|
|
6
|
-
|
|
7
|
-
## Case 2:backend API
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
Use $analyze-product-dependencies with a complete backend Product Requirement whose BE-US-001 trigger is API, plus a repository.
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
核对:两个文件写入 Product Requirement 的同一需求目录;API 索引覆盖 API ID、Operation ID、方法路径、故事和 AC;Dependency 的 API 映射只保留 API ID、Operation ID、方法路径和代码入口;影响文件使用唯一 F 编号。
|
|
14
|
-
|
|
15
|
-
同时核对:API 文档不含认证方式、权限要求、业务规则、业务逻辑或实现逻辑及其相关内容;字段与 code 在生成前内部搜索共享定义,但 API 文档不输出“复用检查”或搜索证据。若接口分页,每页条数参数必须可选,允许值完整包含 `10/20/50/100`。
|
|
16
|
-
|
|
17
|
-
## Case 3:backend 定时任务
|
|
18
|
-
|
|
19
|
-
使用触发方式为定时任务的归档需求。核对:只生成 Dependency;`source_api_documentation: none`;API 映射写不适用;重点定位 scheduler、job、幂等、批次、数据库和恢复测试。
|
|
20
|
-
|
|
21
|
-
## Case 4:业务契约缺失
|
|
22
|
-
|
|
23
|
-
使用缺少权限范围或输出语义的 API 型 Product Requirement。核对:不得发明产品决策;生成 blocked 依赖产物并返回上游补充。
|
|
24
|
-
|
|
25
|
-
## Case 5:不存在的目标能力
|
|
26
|
-
|
|
27
|
-
代码库中没有对应实现。核对:允许结论为新增,但证据必须展示已搜索范围和邻近模式;不得虚构文件已经存在。
|
|
28
|
-
|
|
29
|
-
## Case 6:缩小分析范围
|
|
30
|
-
|
|
31
|
-
使用 scope 为 both 的 Product Requirement,并指定 `target=backend`。核对:输入门禁通过;只要求 BE 故事覆盖;Dependency 和适用的 API 文档使用 `analysis_scope: backend`,不强制生成前端详情。
|
|
32
|
-
|
|
33
|
-
## Case 7:缺少输入
|
|
34
|
-
|
|
35
|
-
分别缺少 Product Requirement 和代码仓库。核对:只生成四个固定章节的 blocked Dependency;前者使用 `source_product_requirement: none`,后者允许 `repository_root: none`;不得生成 API 文档或确定性代码位置。
|
|
1
|
+
# Forward-Test Cases
|
|
2
|
+
|
|
3
|
+
## Case 1:缩小为 frontend
|
|
4
|
+
|
|
5
|
+
使用 complete、scope 为 both 的 Product Requirement 和真实仓库,指定 `--target frontend`。核对:只生成 `dependency-analysis.md`;`analysis_scope` 为 `frontend`;不生成空 API 文档;没有后端依赖章节、`BE-US-*` 或 API 实现映射;每个 FE 故事有文件证据和状态边界落点。
|
|
6
|
+
|
|
7
|
+
## Case 2:backend API
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Use $analyze-product-dependencies with a complete backend Product Requirement whose BE-US-001 trigger is API, plus a repository.
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
核对:两个文件写入 Product Requirement 的同一需求目录;API 索引覆盖 API ID、Operation ID、方法路径、故事和 AC;Dependency 的 API 映射只保留 API ID、Operation ID、方法路径和代码入口;影响文件使用唯一 F 编号。
|
|
14
|
+
|
|
15
|
+
同时核对:API 文档不含认证方式、权限要求、业务规则、业务逻辑或实现逻辑及其相关内容;字段与 code 在生成前内部搜索共享定义,但 API 文档不输出“复用检查”或搜索证据。若接口分页,每页条数参数必须可选,允许值完整包含 `10/20/50/100`。
|
|
16
|
+
|
|
17
|
+
## Case 3:backend 定时任务
|
|
18
|
+
|
|
19
|
+
使用触发方式为定时任务的归档需求。核对:只生成 Dependency;`source_api_documentation: none`;API 映射写不适用;重点定位 scheduler、job、幂等、批次、数据库和恢复测试。
|
|
20
|
+
|
|
21
|
+
## Case 4:业务契约缺失
|
|
22
|
+
|
|
23
|
+
使用缺少权限范围或输出语义的 API 型 Product Requirement。核对:不得发明产品决策;生成 blocked 依赖产物并返回上游补充。
|
|
24
|
+
|
|
25
|
+
## Case 5:不存在的目标能力
|
|
26
|
+
|
|
27
|
+
代码库中没有对应实现。核对:允许结论为新增,但证据必须展示已搜索范围和邻近模式;不得虚构文件已经存在。
|
|
28
|
+
|
|
29
|
+
## Case 6:缩小分析范围
|
|
30
|
+
|
|
31
|
+
使用 scope 为 both 的 Product Requirement,并指定 `target=backend`。核对:输入门禁通过;只要求 BE 故事覆盖;Dependency 和适用的 API 文档使用 `analysis_scope: backend`,不强制生成前端详情。
|
|
32
|
+
|
|
33
|
+
## Case 7:缺少输入
|
|
34
|
+
|
|
35
|
+
分别缺少 Product Requirement 和代码仓库。核对:只生成四个固定章节的 blocked Dependency;前者使用 `source_product_requirement: none`,后者允许 `repository_root: none`;不得生成 API 文档或确定性代码位置。
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Product Requirement 输入契约
|
|
2
|
-
|
|
3
|
-
首选输入为 complete V3 `product-requirement.md`。迁移期允许读取 complete V2,但不修改上游产物;新产物始终使用 V3。
|
|
4
|
-
|
|
5
|
-
V3 必须包含精简用户故事、同 ID 输出规范和嵌入规范的 AC。故事与规范一一对应,故事 AC 引用与规范内 AC 完全一致。V2 继续按其原有嵌入故事的 AC 读取。
|
|
6
|
-
|
|
7
|
-
必须提供存在、可读的代码仓库。Product Requirement 位于 `<project-root>/docs/product-analysis/<requirement-id>/`;新增产物写回同目录并继承 ID。显式 target 必须是上游 scope 的子集。
|
|
8
|
-
|
|
9
|
-
任一选中后端故事的触发方式为 API 时生成 `api-documentation.md`;非 HTTP 触发不得生成空 API 文档。业务输入输出、权限、核心规则或安全边界缺失时阻断。
|
|
10
|
-
|
|
11
|
-
门禁失败时 Dependency Analysis 只包含分析范围、输入与代码基线、阻断原因、恢复条件。`blocked_on` 使用 requirement-missing、requirement-invalid、requirement-not-complete、repository-missing、repository-unreadable、scope-mismatch、missing-stories、missing-acceptance、api-business-contract-incomplete。
|
|
1
|
+
# Product Requirement 输入契约
|
|
2
|
+
|
|
3
|
+
首选输入为 complete V3 `product-requirement.md`。迁移期允许读取 complete V2,但不修改上游产物;新产物始终使用 V3。
|
|
4
|
+
|
|
5
|
+
V3 必须包含精简用户故事、同 ID 输出规范和嵌入规范的 AC。故事与规范一一对应,故事 AC 引用与规范内 AC 完全一致。V2 继续按其原有嵌入故事的 AC 读取。
|
|
6
|
+
|
|
7
|
+
必须提供存在、可读的代码仓库。Product Requirement 位于 `<project-root>/docs/product-analysis/<requirement-id>/`;新增产物写回同目录并继承 ID。显式 target 必须是上游 scope 的子集。
|
|
8
|
+
|
|
9
|
+
任一选中后端故事的触发方式为 API 时生成 `api-documentation.md`;非 HTTP 触发不得生成空 API 文档。业务输入输出、权限、核心规则或安全边界缺失时阻断。
|
|
10
|
+
|
|
11
|
+
门禁失败时 Dependency Analysis 只包含分析范围、输入与代码基线、阻断原因、恢复条件。`blocked_on` 使用 requirement-missing、requirement-invalid、requirement-not-complete、repository-missing、repository-unreadable、scope-mismatch、missing-stories、missing-acceptance、api-business-contract-incomplete。
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# 代码侦察与证据规则
|
|
2
|
-
|
|
3
|
-
## 目录
|
|
4
|
-
|
|
5
|
-
- 搜索顺序
|
|
6
|
-
- 事实与推断
|
|
7
|
-
- 前端必查项
|
|
8
|
-
- 后端必查项
|
|
9
|
-
- 未定位项
|
|
10
|
-
|
|
11
|
-
## 搜索顺序
|
|
12
|
-
|
|
13
|
-
1. 阅读仓库级指令、README、技术栈配置和相关架构文档。
|
|
14
|
-
2. 可用时优先使用 CodeGraph 定位符号、引用和调用关系。
|
|
15
|
-
3. 使用 `rg --files` 建立文件范围,使用 `rg` 搜索路由、组件、接口、字段、状态和领域术语。
|
|
16
|
-
4. 阅读入口文件、直接依赖、邻近实现和共享 helper。
|
|
17
|
-
5. 只沿与用户故事相关的引用继续扩展,避免无边界扫描。
|
|
18
|
-
|
|
19
|
-
## 事实与推断
|
|
20
|
-
|
|
21
|
-
- `confirmed`:文件存在,并有 import、调用、路由、注册、类型或配置证据。
|
|
22
|
-
- `inferred`:根据命名和邻近模式推断,但没有完整引用证据;置信度只能为 medium 或 low,证据必须分别写明已观察事实和推断链,不得使用“已确认”措辞。
|
|
23
|
-
- `unknown`:搜索后仍无法定位。
|
|
24
|
-
|
|
25
|
-
每项记录证据,例如:路由注册、组件 import、service 调用、repository 注入、类型引用或配置项。不要只凭文件名断言依赖。
|
|
26
|
-
|
|
27
|
-
## 前端必查项
|
|
28
|
-
|
|
29
|
-
- 页面入口、路由和布局。
|
|
30
|
-
- 已使用或受影响的组件及其真实文件路径。
|
|
31
|
-
- hooks、状态管理、缓存和请求层。
|
|
32
|
-
- API client、类型定义、权限控制和错误展示。
|
|
33
|
-
- normal、loading、empty、error、disabled 及输出规范中的边界处理落点。
|
|
34
|
-
|
|
35
|
-
每个 `FE-US-*` 都必须单独输出,不能只给一份页面级汇总。
|
|
36
|
-
|
|
37
|
-
## 后端必查项
|
|
38
|
-
|
|
39
|
-
- API 路由、controller/handler 和请求校验。
|
|
40
|
-
- application service、domain service 和业务规则。
|
|
41
|
-
- repository、数据模型、查询与写入路径。
|
|
42
|
-
- 鉴权、权限范围、幂等、并发和错误映射。
|
|
43
|
-
- 事件、任务、外部服务、配置、日志和审计。
|
|
44
|
-
- API 场景额外检查路由前缀、版本策略、HTTP 方法惯例、统一响应外壳、分页、时间和标识符格式,以及相似接口的 Swagger/OpenAPI 注释模式。
|
|
45
|
-
- 字段定义前搜索共享 DTO/Schema、OpenAPI components、基础响应类与分页类;命中时复用而不复制定义。搜索与复用判断只用于内部建模,不输出到 API 文档。
|
|
46
|
-
- 返回 code 定义前搜索全局错误枚举、异常到 code 的映射、错误响应外壳与相似接口;命中时复用,未命中才允许局部新定义。搜索与复用判断只用于内部建模,不输出到 API 文档。
|
|
47
|
-
- 分页接口确认仓库既有参数名和默认值;每页条数参数必须为可选,允许值为 `10 | 20 | 50 | 100`。
|
|
48
|
-
|
|
49
|
-
每个 `BE-US-*` 都必须单独输出,不能只给一份服务级汇总。
|
|
50
|
-
|
|
51
|
-
API 技术设计优先级为:Product Requirement 已确认业务契约 > 代码库现有 API 规范 > 相似 API 模式 > 通用 REST 规则。现有实现不得覆盖已确认需求;业务语义缺失时阻断。
|
|
52
|
-
|
|
53
|
-
## 未定位项
|
|
54
|
-
|
|
55
|
-
不能用猜测路径填补空白。输出:
|
|
56
|
-
|
|
57
|
-
- 影响文件路径:未定位。
|
|
58
|
-
- 已搜索范围:实际搜索过的目录、符号或关键词。
|
|
59
|
-
- 原因:例如功能尚不存在、命名不一致或缺少目标仓库。
|
|
60
|
-
- 下一步:需要的文档、仓库或人工确认。
|
|
61
|
-
- 置信度:low。
|
|
1
|
+
# 代码侦察与证据规则
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
|
|
5
|
+
- 搜索顺序
|
|
6
|
+
- 事实与推断
|
|
7
|
+
- 前端必查项
|
|
8
|
+
- 后端必查项
|
|
9
|
+
- 未定位项
|
|
10
|
+
|
|
11
|
+
## 搜索顺序
|
|
12
|
+
|
|
13
|
+
1. 阅读仓库级指令、README、技术栈配置和相关架构文档。
|
|
14
|
+
2. 可用时优先使用 CodeGraph 定位符号、引用和调用关系。
|
|
15
|
+
3. 使用 `rg --files` 建立文件范围,使用 `rg` 搜索路由、组件、接口、字段、状态和领域术语。
|
|
16
|
+
4. 阅读入口文件、直接依赖、邻近实现和共享 helper。
|
|
17
|
+
5. 只沿与用户故事相关的引用继续扩展,避免无边界扫描。
|
|
18
|
+
|
|
19
|
+
## 事实与推断
|
|
20
|
+
|
|
21
|
+
- `confirmed`:文件存在,并有 import、调用、路由、注册、类型或配置证据。
|
|
22
|
+
- `inferred`:根据命名和邻近模式推断,但没有完整引用证据;置信度只能为 medium 或 low,证据必须分别写明已观察事实和推断链,不得使用“已确认”措辞。
|
|
23
|
+
- `unknown`:搜索后仍无法定位。
|
|
24
|
+
|
|
25
|
+
每项记录证据,例如:路由注册、组件 import、service 调用、repository 注入、类型引用或配置项。不要只凭文件名断言依赖。
|
|
26
|
+
|
|
27
|
+
## 前端必查项
|
|
28
|
+
|
|
29
|
+
- 页面入口、路由和布局。
|
|
30
|
+
- 已使用或受影响的组件及其真实文件路径。
|
|
31
|
+
- hooks、状态管理、缓存和请求层。
|
|
32
|
+
- API client、类型定义、权限控制和错误展示。
|
|
33
|
+
- normal、loading、empty、error、disabled 及输出规范中的边界处理落点。
|
|
34
|
+
|
|
35
|
+
每个 `FE-US-*` 都必须单独输出,不能只给一份页面级汇总。
|
|
36
|
+
|
|
37
|
+
## 后端必查项
|
|
38
|
+
|
|
39
|
+
- API 路由、controller/handler 和请求校验。
|
|
40
|
+
- application service、domain service 和业务规则。
|
|
41
|
+
- repository、数据模型、查询与写入路径。
|
|
42
|
+
- 鉴权、权限范围、幂等、并发和错误映射。
|
|
43
|
+
- 事件、任务、外部服务、配置、日志和审计。
|
|
44
|
+
- API 场景额外检查路由前缀、版本策略、HTTP 方法惯例、统一响应外壳、分页、时间和标识符格式,以及相似接口的 Swagger/OpenAPI 注释模式。
|
|
45
|
+
- 字段定义前搜索共享 DTO/Schema、OpenAPI components、基础响应类与分页类;命中时复用而不复制定义。搜索与复用判断只用于内部建模,不输出到 API 文档。
|
|
46
|
+
- 返回 code 定义前搜索全局错误枚举、异常到 code 的映射、错误响应外壳与相似接口;命中时复用,未命中才允许局部新定义。搜索与复用判断只用于内部建模,不输出到 API 文档。
|
|
47
|
+
- 分页接口确认仓库既有参数名和默认值;每页条数参数必须为可选,允许值为 `10 | 20 | 50 | 100`。
|
|
48
|
+
|
|
49
|
+
每个 `BE-US-*` 都必须单独输出,不能只给一份服务级汇总。
|
|
50
|
+
|
|
51
|
+
API 技术设计优先级为:Product Requirement 已确认业务契约 > 代码库现有 API 规范 > 相似 API 模式 > 通用 REST 规则。现有实现不得覆盖已确认需求;业务语义缺失时阻断。
|
|
52
|
+
|
|
53
|
+
## 未定位项
|
|
54
|
+
|
|
55
|
+
不能用猜测路径填补空白。输出:
|
|
56
|
+
|
|
57
|
+
- 影响文件路径:未定位。
|
|
58
|
+
- 已搜索范围:实际搜索过的目录、符号或关键词。
|
|
59
|
+
- 原因:例如功能尚不存在、命名不一致或缺少目标仓库。
|
|
60
|
+
- 下一步:需要的文档、仓库或人工确认。
|
|
61
|
+
- 置信度:low。
|