add-coder 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +50 -0
  2. package/bin/add-coder.js +2 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +576 -0
  5. package/package.json +64 -0
  6. package/templates/adapters/claude/hooks/doc-format-guard.sh +17 -0
  7. package/templates/adapters/claude/hooks/notification.sh +9 -0
  8. package/templates/adapters/claude/hooks/permission-gate.sh +18 -0
  9. package/templates/adapters/claude/hooks/post-tool-failure.sh +10 -0
  10. package/templates/adapters/claude/hooks/post-tool-use.sh +18 -0
  11. package/templates/adapters/claude/hooks/pre-compact.sh +14 -0
  12. package/templates/adapters/claude/hooks/pre-tool-use.sh +28 -0
  13. package/templates/adapters/claude/hooks/prompt-submit.sh +16 -0
  14. package/templates/adapters/claude/hooks/review-checklist.sh +10 -0
  15. package/templates/adapters/claude/hooks/session-start.sh +23 -0
  16. package/templates/adapters/claude/hooks/stop-check.sh +10 -0
  17. package/templates/adapters/claude/hooks/subagent-guard.sh +15 -0
  18. package/templates/adapters/claude/mcp.json +13 -0
  19. package/templates/adapters/claude/settings.json +125 -0
  20. package/templates/adapters/qoder/hooks/doc-format-guard.sh +164 -0
  21. package/templates/adapters/qoder/hooks/lib/context-inject.sh +96 -0
  22. package/templates/adapters/qoder/hooks/lib/state-detect.sh +104 -0
  23. package/templates/adapters/qoder/hooks/lib/vocabulary.sh +49 -0
  24. package/templates/adapters/qoder/hooks/notification.sh +22 -0
  25. package/templates/adapters/qoder/hooks/permission-gate.sh +8 -0
  26. package/templates/adapters/qoder/hooks/post-tool-failure.sh +8 -0
  27. package/templates/adapters/qoder/hooks/post-tool-use.sh +20 -0
  28. package/templates/adapters/qoder/hooks/pre-compact.sh +12 -0
  29. package/templates/adapters/qoder/hooks/pre-tool-use.sh +77 -0
  30. package/templates/adapters/qoder/hooks/prompt-submit.sh +72 -0
  31. package/templates/adapters/qoder/hooks/review-checklist.sh +157 -0
  32. package/templates/adapters/qoder/hooks/session-start.sh +16 -0
  33. package/templates/adapters/qoder/hooks/stop-check.sh +71 -0
  34. package/templates/adapters/qoder/hooks/subagent-guard.sh +11 -0
  35. package/templates/adapters/qoder/mcp.json +13 -0
  36. package/templates/adapters/qoder/settings.json +125 -0
  37. package/templates/adapters/qoder/sync-policy.json +18 -0
  38. package/templates/adapters/vscode/extensions.json +5 -0
  39. package/templates/adapters/vscode/launch.json +16 -0
  40. package/templates/adapters/vscode/settings.json +16 -0
  41. package/templates/adapters/vscode/tasks.json +38 -0
  42. package/templates/core/agents/add-flow-guardian.md +276 -0
  43. package/templates/core/agents/add-orchestrator.md +217 -0
  44. package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-add-route-v1.md +323 -0
  45. package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-handoff-v1.md +678 -0
  46. package/templates/core/plans/2026-07/08/farm-agent-add-coder-npm-package-plan-v1.md +785 -0
  47. package/templates/core/prisma/add.prisma +34 -0
  48. package/templates/core/reports/REPORT-WORKFLOW.md +250 -0
  49. package/templates/core/reports/boundary-runtime-report.md +134 -0
  50. package/templates/core/reports/code-review-combined-report.md +227 -0
  51. package/templates/core/reports/code-review-fix-verification-report.md +505 -0
  52. package/templates/core/reports/code-review-suggestions.md +66 -0
  53. package/templates/core/reports/index.md +57 -0
  54. package/templates/core/reports/runtime-report/gateway.md +741 -0
  55. package/templates/core/rules/project_rules.md +905 -0
  56. package/templates/core/rules/theory-practice-map.toml +105 -0
  57. package/templates/core/scripts/mcp-server.ts +3492 -0
  58. package/templates/core/skills/add-paradigm/SKILL.md +1086 -0
  59. package/templates/core/skills/session-init/SKILL.md +215 -0
  60. package/templates/core/specs/farm-agent-add-coder-npm-package/checklist.md +125 -0
  61. package/templates/core/specs/farm-agent-add-coder-npm-package/spec.md +343 -0
  62. package/templates/core/specs/farm-agent-add-coder-npm-package/tasks.md +203 -0
  63. package/templates/core/templates/01-/346/236/266/346/236/204//343/200/212ADD/345/274/200/345/217/221/345/267/245/344/275/234/350/267/257/345/276/204/344/270/216/346/226/207/346/241/243/345/215/217/345/220/214/350/247/204/350/214/203/343/200/213.md +386 -0
  64. package/templates/core/templates/TERMINOLOGY.md +81 -0
  65. package/templates/core/templates/add-route-template-heavyweight.md +288 -0
  66. package/templates/core/templates/add-route-template.md +242 -0
  67. package/templates/core/templates/add-route-template.schema.json +35 -0
  68. package/templates/core/templates/checklist-template.md +72 -0
  69. package/templates/core/templates/checklist-template.schema.json +20 -0
  70. package/templates/core/templates/fix-verification-template.md +132 -0
  71. package/templates/core/templates/fix-verification-template.schema.json +54 -0
  72. package/templates/core/templates/handoff-multi-round-template.md +295 -0
  73. package/templates/core/templates/handoff-multi-round.schema.json +48 -0
  74. package/templates/core/templates/handoff-single-round-template.md +145 -0
  75. package/templates/core/templates/handoff-single-round.schema.json +92 -0
  76. package/templates/core/templates/index.md +60 -0
  77. package/templates/core/templates/report-template.md +126 -0
  78. package/templates/core/templates/report-template.schema.json +69 -0
  79. package/templates/core/templates/review-implementation-template.md +66 -0
  80. package/templates/core/templates/review-implementation-template.schema.json +58 -0
  81. package/templates/core/templates/review-runtime-template.md +73 -0
  82. package/templates/core/templates/review-runtime-template.schema.json +47 -0
  83. package/templates/core/templates/review-template.md +37 -0
  84. package/templates/core/templates/review-template.schema.json +42 -0
  85. package/templates/core/templates/runtime-report-template.md +73 -0
  86. package/templates/core/templates/runtime-report-template.schema.json +48 -0
  87. package/templates/core/templates/simple-plan-template.md +166 -0
  88. package/templates/core/templates/simple-plan-template.schema.json +109 -0
  89. package/templates/core/templates/spec-template.md +22 -0
  90. package/templates/core/templates/spec-template.schema.json +41 -0
  91. package/templates/core/templates/standard-plan-template.md +96 -0
  92. package/templates/core/templates/standard-plan-template.schema.json +73 -0
  93. package/templates/core/templates/tasks-template.md +54 -0
  94. package/templates/core/templates/tasks-template.schema.json +43 -0
  95. package/templates/core/tools/README.md +361 -0
  96. package/templates/core/vocabulary/add-governance-vocabulary.md +370 -0
  97. package/templates/shared/hooks-lib/common.sh +22 -0
@@ -0,0 +1,741 @@
1
+ # {{projectName}} 运行时报告 — gateway
2
+
3
+ > Gateway 边界合约断裂报告。由 appendRuntimeFinding() 自动追加。
4
+ > {{projectName}} ↔ 外部系统(agrisynapse / h5-backend / farm-server)交互异常。
5
+ > 属于 `{{projectName}}-runtime-report/` 体系,与静态 Reports 双向联动。
6
+
7
+ ## 报告元信息
8
+
9
+ - **子系统**: `gateway`
10
+ - **来源**: `appendRuntimeFinding`
11
+ - **首次生成**: 2026-06-09
12
+ - **触发方式**: proxy / route 层运行时异常自动捕获
13
+
14
+ ---
15
+
16
+ ## 1. 发现列表
17
+
18
+ > 以下发现由 appendRuntimeFinding() 自动追加。
19
+
20
+ ---
21
+
22
+ ## 2. 关联 Report Issue
23
+
24
+ > 每条发现经人工 triage 后可关联到 `combined-report.md` 中的 Issue。
25
+
26
+ | 发现 | Report Issue | 状态 |
27
+ |------|-------------|:----:|
28
+ | — | — | — |
29
+
30
+ ### 发现: 边界异常捕获
31
+
32
+ **时间**:2026-06-18T01:25:33.981Z
33
+ **来源**:`proxy`
34
+ **错误**:HASH_SEED_TEXT 环境变量未设置
35
+
36
+ **请求信息**:
37
+ - Method: GET
38
+ - Path: /api/agent/eaba0ca540af
39
+
40
+ ```
41
+ Error: HASH_SEED_TEXT 环境变量未设置
42
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
43
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
44
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
45
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
46
+ ```
47
+
48
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
49
+
50
+ ### 发现: 边界异常捕获
51
+
52
+ **时间**:2026-06-18T01:25:33.980Z
53
+ **来源**:`proxy`
54
+ **错误**:HASH_SEED_TEXT 环境变量未设置
55
+
56
+ **请求信息**:
57
+ - Method: GET
58
+ - Path: /api/agent/eaba0ca540af
59
+
60
+ ```
61
+ Error: HASH_SEED_TEXT 环境变量未设置
62
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
63
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
64
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
65
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
66
+ ```
67
+
68
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
69
+
70
+ ### 发现: 边界异常捕获
71
+
72
+ **时间**:2026-06-18T01:29:05.323Z
73
+ **来源**:`proxy`
74
+ **错误**:HASH_SEED_TEXT 环境变量未设置
75
+
76
+ **请求信息**:
77
+ - Method: GET
78
+ - Path: /api/agent/eaba0ca540af
79
+
80
+ ```
81
+ Error: HASH_SEED_TEXT 环境变量未设置
82
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
83
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
84
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
85
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
86
+ ```
87
+
88
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
89
+
90
+ ### 发现: 边界异常捕获
91
+
92
+ **时间**:2026-06-18T01:29:05.326Z
93
+ **来源**:`proxy`
94
+ **错误**:HASH_SEED_TEXT 环境变量未设置
95
+
96
+ **请求信息**:
97
+ - Method: GET
98
+ - Path: /api/agent/eaba0ca540af
99
+
100
+ ```
101
+ Error: HASH_SEED_TEXT 环境变量未设置
102
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
103
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
104
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
105
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
106
+ ```
107
+
108
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
109
+
110
+ ### 发现: 边界异常捕获
111
+
112
+ **时间**:2026-06-18T01:30:44.017Z
113
+ **来源**:`proxy`
114
+ **错误**:HASH_SEED_TEXT 环境变量未设置
115
+
116
+ **请求信息**:
117
+ - Method: GET
118
+ - Path: /api/agent/a9a993d14c7b
119
+
120
+ ```
121
+ Error: HASH_SEED_TEXT 环境变量未设置
122
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
123
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
124
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
125
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
126
+ ```
127
+
128
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
129
+
130
+ ### 发现: 边界异常捕获
131
+
132
+ **时间**:2026-06-18T01:30:44.016Z
133
+ **来源**:`proxy`
134
+ **错误**:HASH_SEED_TEXT 环境变量未设置
135
+
136
+ **请求信息**:
137
+ - Method: GET
138
+ - Path: /api/agent/a9a993d14c7b
139
+
140
+ ```
141
+ Error: HASH_SEED_TEXT 环境变量未设置
142
+ at getSeedText (webpack-internal:///(middleware)/./src/lib/hash-path.ts:25:15)
143
+ at validateHash (webpack-internal:///(middleware)/./src/lib/hash-path.ts:72:18)
144
+ at proxy (webpack-internal:///(middleware)/./src/proxy.ts:36:83)
145
+ at eval (webpack-internal:///(middleware)/./node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@playwright+test@1.60.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}%2Fsrc%2Fproxy.ts&page=%2Fproxy&rootDir=%2FUsers%2Fmilkytea%2FWebstormProjects%2FrfMain%2F%E6%99%BA%E8%83%BD%E4%BD%93%2F{{projectName}}&matchers=&preferredRegion=&middlewareConfig=e30%3D!:52:26)
146
+ ```
147
+
148
+ - [x] Triage 结果: 已关闭 — 环境问题,需配置 HASH_SEED_TEXT 环境变量。关闭时间: 2026-07-01
149
+
150
+ ### 发现: 边界异常捕获
151
+
152
+ **时间**:2026-06-22T04:43:51.143Z
153
+ **来源**:`route`
154
+ **错误**:null
155
+
156
+ **合约断裂点**:
157
+ - 期望:`轮换成功(5min宽限)`
158
+ - 实际:`ruifengyun-h5-backend`
159
+
160
+ **请求信息**:
161
+ - Method: PUT
162
+ - Path: /api/admin/service-accounts
163
+
164
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
165
+
166
+ ### 发现: 边界异常捕获
167
+
168
+ **时间**:2026-06-24T10:20:24.286Z
169
+ **来源**:`route`
170
+ **错误**:null
171
+
172
+ **合约断裂点**:
173
+ - 期望:`轮换成功(5min宽限)`
174
+ - 实际:`ruifengyun-h5-backend`
175
+
176
+ **请求信息**:
177
+ - Method: PUT
178
+ - Path: /api/admin/service-accounts
179
+
180
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
181
+
182
+ ### 发现: 边界异常捕获
183
+
184
+ **时间**:2026-06-24T10:42:24.799Z
185
+ **来源**:`route`
186
+ **错误**:Cannot read properties of undefined (reading 'findUnique')
187
+
188
+ **请求信息**:
189
+ - Method: PUT
190
+ - Path: /api/admin/service-accounts
191
+
192
+ ```
193
+ TypeError: Cannot read properties of undefined (reading 'findUnique')
194
+ at PUT ({{projectRoot}}/.next/dev/server/chunks/[root-of-the-server]__0676-yj._.js:741:175)
195
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
196
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.dev.js:5:40179)
197
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.dev.js:5:50152
198
+ ```
199
+
200
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(维护模式 + 幂等闸门)。关闭时间: 2026-07-01
201
+
202
+ ### 发现: 边界异常捕获
203
+
204
+ **时间**:2026-06-24T10:42:55.503Z
205
+ **来源**:`route`
206
+ **错误**:Cannot read properties of undefined (reading 'findUnique')
207
+
208
+ **请求信息**:
209
+ - Method: PUT
210
+ - Path: /api/admin/service-accounts
211
+
212
+ ```
213
+ TypeError: Cannot read properties of undefined (reading 'findUnique')
214
+ at PUT ({{projectRoot}}/.next/dev/server/chunks/[root-of-the-server]__0676-yj._.js:741:175)
215
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
216
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.dev.js:5:40179)
217
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.dev.js:5:50152
218
+ ```
219
+
220
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(维护模式 + 幂等闸门)。关闭时间: 2026-07-01
221
+
222
+ ### 发现: 边界异常捕获
223
+
224
+ **时间**:2026-06-24T10:46:23.695Z
225
+ **来源**:`route`
226
+ **错误**:null
227
+
228
+ **合约断裂点**:
229
+ - 期望:`轮换成功(5min宽限)`
230
+ - 实际:`ruifengyun-h5-backend`
231
+
232
+ **请求信息**:
233
+ - Method: PUT
234
+ - Path: /api/admin/service-accounts
235
+
236
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
237
+
238
+ ### 发现: 边界异常捕获
239
+
240
+ **时间**:2026-06-24T10:50:18.526Z
241
+ **来源**:`route`
242
+ **错误**:null
243
+
244
+ **合约断裂点**:
245
+ - 期望:`轮换成功(5min宽限)`
246
+ - 实际:`ruifengyun-h5-backend`
247
+
248
+ **请求信息**:
249
+ - Method: PUT
250
+ - Path: /api/admin/service-accounts
251
+
252
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
253
+
254
+ ### 发现: 边界异常捕获
255
+
256
+ **时间**:2026-06-24T10:53:25.458Z
257
+ **来源**:`route`
258
+ **错误**:null
259
+
260
+ **合约断裂点**:
261
+ - 期望:`轮换成功(5min宽限)`
262
+ - 实际:`ruifengyun-h5-backend`
263
+
264
+ **请求信息**:
265
+ - Method: PUT
266
+ - Path: /api/admin/service-accounts
267
+
268
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
269
+
270
+ ### 发现: 边界异常捕获
271
+
272
+ **时间**:2026-06-24T10:59:15.091Z
273
+ **来源**:`route`
274
+ **错误**:null
275
+
276
+ **合约断裂点**:
277
+ - 期望:`轮换成功(5min宽限)`
278
+ - 实际:`ruifengyun-h5-backend`
279
+
280
+ **请求信息**:
281
+ - Method: PUT
282
+ - Path: /api/admin/service-accounts
283
+
284
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
285
+
286
+ ### 发现: 边界异常捕获
287
+
288
+ **时间**:2026-06-24T11:00:44.468Z
289
+ **来源**:`route`
290
+ **错误**:null
291
+
292
+ **合约断裂点**:
293
+ - 期望:`轮换成功(5min宽限)`
294
+ - 实际:`ruifengyun-h5-backend`
295
+
296
+ **请求信息**:
297
+ - Method: PUT
298
+ - Path: /api/admin/service-accounts
299
+
300
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
301
+
302
+ ### 发现: 边界异常捕获
303
+
304
+ **时间**:2026-06-24T11:11:12.818Z
305
+ **来源**:`route`
306
+ **错误**:null
307
+
308
+ **合约断裂点**:
309
+ - 期望:`轮换成功(5min宽限)`
310
+ - 实际:`ruifengyun-h5-backend`
311
+
312
+ **请求信息**:
313
+ - Method: PUT
314
+ - Path: /api/admin/service-accounts
315
+
316
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
317
+
318
+ ### 发现: 边界异常捕获
319
+
320
+ **时间**:2026-06-24T11:13:01.554Z
321
+ **来源**:`route`
322
+ **错误**:null
323
+
324
+ **合约断裂点**:
325
+ - 期望:`轮换成功(5min宽限)`
326
+ - 实际:`ruifengyun-h5-backend`
327
+
328
+ **请求信息**:
329
+ - Method: PUT
330
+ - Path: /api/admin/service-accounts
331
+
332
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
333
+
334
+ ### 发现: 边界异常捕获
335
+
336
+ **时间**:2026-06-24T11:15:00.335Z
337
+ **来源**:`route`
338
+ **错误**:null
339
+
340
+ **合约断裂点**:
341
+ - 期望:`轮换成功(5min宽限)`
342
+ - 实际:`ruifengyun-h5-backend`
343
+
344
+ **请求信息**:
345
+ - Method: PUT
346
+ - Path: /api/admin/service-accounts
347
+
348
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
349
+
350
+ ### 发现: 边界异常捕获
351
+
352
+ **时间**:2026-06-24T11:19:13.537Z
353
+ **来源**:`route`
354
+ **错误**:null
355
+
356
+ **合约断裂点**:
357
+ - 期望:`轮换成功(5min宽限)`
358
+ - 实际:`ruifengyun-h5-backend`
359
+
360
+ **请求信息**:
361
+ - Method: PUT
362
+ - Path: /api/admin/service-accounts
363
+
364
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
365
+
366
+ ### 发现: 边界异常捕获
367
+
368
+ **时间**:2026-06-24T11:21:31.824Z
369
+ **来源**:`route`
370
+ **错误**:null
371
+
372
+ **合约断裂点**:
373
+ - 期望:`轮换成功(5min宽限)`
374
+ - 实际:`ruifengyun-h5-backend`
375
+
376
+ **请求信息**:
377
+ - Method: PUT
378
+ - Path: /api/admin/service-accounts
379
+
380
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
381
+
382
+ ### 发现: 边界异常捕获
383
+
384
+ **时间**:2026-06-24T11:22:12.956Z
385
+ **来源**:`route`
386
+ **错误**:null
387
+
388
+ **合约断裂点**:
389
+ - 期望:`轮换成功(5min宽限)`
390
+ - 实际:`ruifengyun-h5-backend`
391
+
392
+ **请求信息**:
393
+ - Method: PUT
394
+ - Path: /api/admin/service-accounts
395
+
396
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
397
+
398
+ ### 发现: 边界异常捕获
399
+
400
+ **时间**:2026-06-24T11:25:17.590Z
401
+ **来源**:`route`
402
+ **错误**:null
403
+
404
+ **合约断裂点**:
405
+ - 期望:`轮换成功(5min宽限)`
406
+ - 实际:`ruifengyun-h5-backend`
407
+
408
+ **请求信息**:
409
+ - Method: PUT
410
+ - Path: /api/admin/service-accounts
411
+
412
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
413
+
414
+ ### 发现: 边界异常捕获
415
+
416
+ **时间**:2026-06-24T11:27:14.234Z
417
+ **来源**:`route`
418
+ **错误**:null
419
+
420
+ **合约断裂点**:
421
+ - 期望:`轮换成功(5min宽限)`
422
+ - 实际:`ruifengyun-h5-backend`
423
+
424
+ **请求信息**:
425
+ - Method: PUT
426
+ - Path: /api/admin/service-accounts
427
+
428
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
429
+
430
+ ### 发现: 边界异常捕获
431
+
432
+ **时间**:2026-06-24T11:37:46.513Z
433
+ **来源**:`route`
434
+ **错误**:null
435
+
436
+ **合约断裂点**:
437
+ - 期望:`轮换成功(5min宽限)`
438
+ - 实际:`ruifengyun-h5-backend`
439
+
440
+ **请求信息**:
441
+ - Method: PUT
442
+ - Path: /api/admin/service-accounts
443
+
444
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
445
+
446
+ ### 发现: 边界异常捕获
447
+
448
+ **时间**:2026-06-24T11:44:21.955Z
449
+ **来源**:`route`
450
+ **错误**:null
451
+
452
+ **合约断裂点**:
453
+ - 期望:`轮换成功(5min宽限)`
454
+ - 实际:`ruifengyun-h5-backend`
455
+
456
+ **请求信息**:
457
+ - Method: PUT
458
+ - Path: /api/admin/service-accounts
459
+
460
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
461
+
462
+ ### 发现: 边界异常捕获
463
+
464
+ **时间**:2026-06-24T12:28:29.886Z
465
+ **来源**:`route`
466
+ **错误**:null
467
+
468
+ **合约断裂点**:
469
+ - 期望:`轮换成功(5min宽限)`
470
+ - 实际:`ruifengyun-h5-backend`
471
+
472
+ **请求信息**:
473
+ - Method: PUT
474
+ - Path: /api/admin/service-accounts
475
+
476
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
477
+
478
+ ### 发现: 边界异常捕获
479
+
480
+ **时间**:2026-06-30T05:21:07.566Z
481
+ **来源**:`route`
482
+ **错误**:null
483
+
484
+ **合约断裂点**:
485
+ - 期望:`轮换成功(5min宽限)`
486
+ - 实际:`ruifengyun-h5-backend`
487
+
488
+ **请求信息**:
489
+ - Method: PUT
490
+ - Path: /api/admin/service-accounts
491
+
492
+ - [x] Triage 结果: ✅ 已修复 — commit 3d811e8(移除成功路径 contract 参数,消除误报)。关闭时间: 2026-07-01
493
+
494
+ ### 发现: route /api/agent/test123: 未知 GET action: null
495
+ <!-- signature: route::/api/agent/test123::未知 GET action: null -->
496
+
497
+ **时间**:2026-07-01T02:17:45.226Z
498
+ **来源**:`route`
499
+ **错误**:未知 GET action: null
500
+
501
+ **请求信息**:
502
+ - Method: GET
503
+ - Path: /api/agent/test123
504
+
505
+ ```
506
+ Error: 未知 GET action: null
507
+ at GET (webpack-internal:///(rsc)/./src/app/api/agent/[hash]/route.ts:719:100)
508
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
509
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:40179)
510
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:50152
511
+ ```
512
+
513
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
514
+
515
+ ### 发现: route /api/agent/another123: 未知 GET action: null
516
+ <!-- signature: route::/api/agent/another123::未知 GET action: null -->
517
+
518
+ **时间**:2026-07-01T02:20:47.608Z
519
+ **来源**:`route`
520
+ **错误**:未知 GET action: null
521
+
522
+ **请求信息**:
523
+ - Method: GET
524
+ - Path: /api/agent/another123
525
+
526
+ ```
527
+ Error: 未知 GET action: null
528
+ at GET (webpack-internal:///(rsc)/./src/app/api/agent/[hash]/route.ts:719:100)
529
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
530
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:40179)
531
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:50152
532
+ ```
533
+
534
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
535
+
536
+ ### 发现: route /api/agent/fresh123: 未知 GET action: null
537
+ <!-- signature: route::/api/agent/fresh123::未知 GET action: null -->
538
+
539
+ **时间**:2026-07-01T02:29:44.936Z
540
+ **来源**:`route`
541
+ **错误**:未知 GET action: null
542
+
543
+ **请求信息**:
544
+ - Method: GET
545
+ - Path: /api/agent/fresh123
546
+
547
+ ```
548
+ Error: 未知 GET action: null
549
+ at GET (webpack-internal:///(rsc)/./src/app/api/agent/[hash]/route.ts:719:100)
550
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
551
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:40179)
552
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:50152
553
+ ```
554
+
555
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
556
+
557
+ ### 发现: route /api/agent/timecheck: 未知 GET action: null
558
+ <!-- signature: route::/api/agent/timecheck::未知 GET action: null -->
559
+
560
+ **时间**:2026-07-01T10:37:42.805+08:00
561
+ **来源**:`route`
562
+ **错误**:未知 GET action: null
563
+
564
+ **请求信息**:
565
+ - Method: GET
566
+ - Path: /api/agent/timecheck
567
+
568
+ ```
569
+ Error: 未知 GET action: null
570
+ at GET (webpack-internal:///(rsc)/./src/app/api/agent/[hash]/route.ts:719:100)
571
+ at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:80:14)
572
+ at AppRouteRouteModule.do ({{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:40179)
573
+ at {{projectRoot}}/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:50152
574
+ ```
575
+
576
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
577
+
578
+ ### 发现: proxy /api/agent/test123: Hash 校验失败: hash=test123
579
+ <!-- signature: proxy::/api/agent/test123::Hash 校验失败: hash=test123 -->
580
+
581
+ **时间**:2026-07-01T15:59:28.682+08:00
582
+ **来源**:`proxy`
583
+ **错误**:Hash 校验失败: hash=test123
584
+
585
+ **请求信息**:
586
+ - Method: GET
587
+ - Path: /api/agent/test123
588
+
589
+ ```
590
+ Error: Hash 校验失败: hash=test123
591
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:67:269)
592
+ ```
593
+
594
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
595
+
596
+ ### 发现: proxy /api/agent/test: Hash 校验失败: hash=test
597
+ <!-- signature: proxy::/api/agent/test::Hash 校验失败: hash=test -->
598
+
599
+ **时间**:2026-07-01T16:24:02.928+08:00
600
+ **来源**:`proxy`
601
+ **错误**:Hash 校验失败: hash=test
602
+
603
+ **请求信息**:
604
+ - Method: GET
605
+ - Path: /api/agent/test
606
+
607
+ ```
608
+ Error: Hash 校验失败: hash=test
609
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:67:269)
610
+ ```
611
+
612
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
613
+
614
+ ### 发现: proxy /api/agent/test: Hash 校验失败: hash=test
615
+ <!-- signature: proxy::/api/agent/test::Hash 校验失败: hash=test -->
616
+
617
+ **时间**:2026-07-01T16:24:02.948+08:00
618
+ **来源**:`proxy`
619
+ **错误**:Hash 校验失败: hash=test
620
+
621
+ **请求信息**:
622
+ - Method: POST
623
+ - Path: /api/agent/test
624
+
625
+ ```
626
+ Error: Hash 校验失败: hash=test
627
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:67:269)
628
+ ```
629
+
630
+ - [x] Triage 结果: 已关闭 — 测试请求 / 无效 hash 的正常拒绝行为。关闭时间: 2026-07-01
631
+
632
+ ### 发现: proxy /api/agent/docs/agrisynapse: Hash 校验失败: hash=docs
633
+ <!-- signature: proxy::/api/agent/docs/agrisynapse::Hash 校验失败: hash=docs -->
634
+
635
+ **时间**:2026-07-01T17:36:44.313+08:00
636
+ **来源**:`proxy`
637
+ **错误**:Hash 校验失败: hash=docs
638
+
639
+ **请求信息**:
640
+ - Method: GET
641
+ - Path: /api/agent/docs/agrisynapse
642
+
643
+ ```
644
+ Error: Hash 校验失败: hash=docs
645
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:67:269)
646
+ ```
647
+
648
+ - [x] Triage 结果: 已关闭 — proxy 正则分流修复完成(v5.4 白名单替换为正则 `/^[a-f0-9]{12}$/`),docs 路径自动跳过 hash 校验。关闭时间: 2026-07-03
649
+
650
+ ### 发现: proxy /api/agent/health: Hash 校验失败: hash=health
651
+ <!-- signature: proxy::/api/agent/health::Hash 校验失败: hash=health -->
652
+
653
+ **时间**:2026-07-02T21:04:51.971+08:00
654
+ **来源**:`proxy`
655
+ **错误**:Hash 校验失败: hash=health
656
+
657
+ **请求信息**:
658
+ - Method: GET
659
+ - Path: /api/agent/health
660
+
661
+ ```
662
+ Error: Hash 校验失败: hash=health
663
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:71:269)
664
+ ```
665
+
666
+ - [x] Triage 结果: 已关闭 — proxy 正则分流修复完成,非 hash 路径自动放行。关闭时间: 2026-07-03
667
+
668
+ ### 发现: proxy /api/agent/chat: Hash 校验失败: hash=chat
669
+ <!-- signature: proxy::/api/agent/chat::Hash 校验失败: hash=chat -->
670
+
671
+ **时间**:2026-07-02T21:04:58.298+08:00
672
+ **来源**:`proxy`
673
+ **错误**:Hash 校验失败: hash=chat
674
+
675
+ **请求信息**:
676
+ - Method: POST
677
+ - Path: /api/agent/chat
678
+
679
+ ```
680
+ Error: Hash 校验失败: hash=chat
681
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:71:269)
682
+ ```
683
+
684
+ - [x] Triage 结果: 已关闭 — proxy 正则分流修复完成(`/^[a-f0-9]{12}$/` 区分 hash 路由与固定路径),自有 GUI 端点不再误拦。关闭时间: 2026-07-03
685
+
686
+ ### 发现: proxy /api/agent/stream: Hash 校验失败: hash=stream
687
+ <!-- signature: proxy::/api/agent/stream::Hash 校验失败: hash=stream -->
688
+
689
+ **时间**:2026-07-03T09:38:28.664+08:00
690
+ **来源**:`proxy`
691
+ **错误**:Hash 校验失败: hash=stream
692
+
693
+ **请求信息**:
694
+ - Method: POST
695
+ - Path: /api/agent/stream
696
+
697
+ ```
698
+ Error: Hash 校验失败: hash=stream
699
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:71:269)
700
+ ```
701
+
702
+ - [x] Triage 结果: 已关闭 — proxy 正则分流修复完成(`/^[a-f0-9]{12}$/` 区分 hash 路由与固定路径),自有 GUI 端点不再误拦。关闭时间: 2026-07-03
703
+
704
+ ### 发现: proxy /api/agent/chat/stream: Hash 校验失败: hash=chat
705
+ <!-- signature: proxy::/api/agent/chat/stream::Hash 校验失败: hash=chat -->
706
+
707
+ **时间**:2026-07-03T09:39:04.274+08:00
708
+ **来源**:`proxy`
709
+ **错误**:Hash 校验失败: hash=chat
710
+
711
+ **请求信息**:
712
+ - Method: POST
713
+ - Path: /api/agent/chat/stream
714
+
715
+ ```
716
+ Error: Hash 校验失败: hash=chat
717
+ at eval (webpack-internal:///(middleware)/./src/proxy.ts:71:269)
718
+ ```
719
+
720
+ - [x] Triage 结果: 已关闭 — proxy 正则分流修复完成(`/^[a-f0-9]{12}$/` 区分 hash 路由与固定路径),自有 GUI 端点不再误拦。关闭时间: 2026-07-03
721
+
722
+ ### 发现: route /api/agent/invalidhash: 未知 POST type: null
723
+ <!-- signature: route::/api/agent/invalidhash::未知 POST type: null -->
724
+
725
+ **时间**:2026-07-03T09:50:31.557+08:00
726
+ **来源**:`route`
727
+ **错误**:未知 POST type: null
728
+
729
+ **请求信息**:
730
+ - Method: POST
731
+ - Path: /api/agent/invalidhash
732
+
733
+ ```
734
+ Error: 未知 POST type: null
735
+ at POST (webpack-internal:///(rsc)/./src/app/api/agent/[hash]/route.ts:1034:100)
736
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
737
+ at async AppRouteRouteModule.do ({{projectRoot}}/node_modules/.pnpm/next@16.2.10_@babel+core@7.29.7_@playwright+test@1.61.1_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:40131)
738
+ at async AppRouteRouteModule.handle ({{projectRoot}}/node_modules/.pnpm/next@16.2.10_@babel+core@7.29.7_@playwright+test@1.61.1_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:5:47411)
739
+ ```
740
+
741
+ - [x] Triage 结果: 已关闭 — ESLint 修复 runtime 验证时的无害测试请求。关闭时间: 2026-07-03