@pm_zhousl/xinyun-ai-init 1.3.0 → 1.5.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/init/xinyun-ai-init/README.md +240 -6
- package/init/xinyun-ai-init/rules/directory-self-completion.md +7 -0
- package/init/xinyun-ai-init/rules/frameworks/README.md +16 -0
- package/init/xinyun-ai-init/rules/frameworks/backend/php/thinkphp.md +5 -0
- package/init/xinyun-ai-init/rules/frameworks/frontend/uni-app.md +5 -0
- package/init/xinyun-ai-init/rules/frameworks/frontend/wechat-miniprogram.md +5 -0
- package/init/xinyun-ai-init/rules/init-rules.md +7 -0
- package/init/xinyun-ai-init/rules/session-workbench.md +73 -0
- package/init/xinyun-ai-init/rules/upgrade-rules.md +9 -0
- package/init/xinyun-ai-init/templates/AGENTS.template.md +27 -1
- package/init/xinyun-ai-init/templates/core-rules.template.md +172 -1
- package/init/xinyun-ai-init/templates/current-task.template.md +68 -0
- package/init/xinyun-ai-init/templates/manifest.template.json +17 -2
- package/init/xinyun-ai-init/templates/project-check.template.md +19 -0
- package/init/xinyun-ai-init/templates/project-guide.template.md +47 -1
- package/init/xinyun-ai-init/templates/project-index.template.json +50 -0
- package/init/xinyun-ai-init/templates/team/README.md +40 -0
- package/init/xinyun-ai-init/templates/team/assignments.json +33 -0
- package/init/xinyun-ai-init/templates/team/confirmations/chief-engineer.md +24 -0
- package/init/xinyun-ai-init/templates/team/confirmations/programmer.md +24 -0
- package/init/xinyun-ai-init/templates/team/confirmations/project-owner.md +24 -0
- package/init/xinyun-ai-init/templates/team/confirmations/project-product.md +24 -0
- package/init/xinyun-ai-init/templates/team/confirmations/test-reviewer.md +24 -0
- package/init/xinyun-ai-init/templates/team/file-ownership.json +32 -0
- package/init/xinyun-ai-init/templates/team/members.json +61 -0
- package/init/xinyun-ai-init/templates/team/responsibility-matrix.json +81 -0
- package/init/xinyun-ai-init/templates/team/roles.json +71 -0
- package/init/xinyun-ai-init/templates/team/understandings/chief-engineer.md +23 -0
- package/init/xinyun-ai-init/templates/team/understandings/programmer.md +23 -0
- package/init/xinyun-ai-init/templates/team/understandings/project-owner.md +23 -0
- package/init/xinyun-ai-init/templates/team/understandings/project-product.md +23 -0
- package/init/xinyun-ai-init/templates/team/understandings/test-reviewer.md +23 -0
- package/init/xinyun-ai-init/templates/workstreams-readme.template.md +15 -0
- package/init/xinyun-ai-init/version.json +1 -1
- package/package.json +1 -1
- package/scripts/verify-init-package.js +360 -8
- package/test-scenarios/README.md +3 -3
- package/test-scenarios/review-template.md +19 -2
- package/test-scenarios/scenarios.md +258 -4
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
|
|
27
27
|
## 初始化授权边界
|
|
28
28
|
|
|
29
|
-
- 用户发送 `xinyun-ai-init` 一句话入口后,视为已授权 AI 创建或补齐最小 `xinyun-ai/` 与极简 `AGENTS.md`。
|
|
29
|
+
- 用户发送 `xinyun-ai-init` 一句话入口后,视为已授权 AI 创建或补齐最小 `xinyun-ai/`、`xinyun-ai/team/` 与极简 `AGENTS.md`。
|
|
30
30
|
- 该授权不包含业务代码、配置、数据库、依赖、构建脚本、测试逻辑、API 行为、UI 行为或业务流程修改。
|
|
31
|
+
- `xinyun-ai/team/**` 属于 AI 工作区控制文件,只创建本地逻辑角色、待绑定成员槽位、职责确认记录和角色理解记录,不自动创建外部账号、外部 AI 会话或无限会话。
|
|
32
|
+
- 未绑定真实人员或会话时,`personId`、`sessionId`、`memberId`、`confirmedBy` 使用 `null`,不得虚构。
|
|
31
33
|
|
|
32
34
|
## 改动计划与执行确认
|
|
33
35
|
|
|
@@ -84,6 +86,9 @@
|
|
|
84
86
|
- 需求模糊、涉及改动或出现高风险词时,先做中文需求语义规范化;普通咨询不强制输出完整解析结构。
|
|
85
87
|
- 中文需求解析格式必须保留用户原话,并包含 AI 理解、任务类型、影响对象、可能涉及、不确定点、风险词、是否需要追问和下一步处理方式。
|
|
86
88
|
- 任务类型至少包括:问题排查、新功能开发、UI 调整、API / 接口调整、数据库 / SQL、商业逻辑、Git / 发布、文档沉淀、规则调整、临时咨询。
|
|
89
|
+
- 字段变更类任务必须细分为:数据库字段新增 / 删除 / 重命名、字段类型或含义变更、API 字段调整、字段展示或渲染调整。
|
|
90
|
+
- 字段相关需求必须输出字段分类和专项路由:字段影响审视 / 普通改动计划 / SQL 提醒 / 业务流程理解。
|
|
91
|
+
- 字段影响审视触发后必须说明影响对象、检索范围、证据、待确认位置和下一步处理方式;信息不足时最多追问 1-3 个关键问题。
|
|
87
92
|
- 高歧义表达包括:优化一下、处理一下、不对、怪怪的、照之前、顺便、差不多、参考一下。
|
|
88
93
|
- 高风险词包括:订单、支付、退款、优惠券、会员、权益、金额、积分、分润、提现、结算、权限、删除、批量、发布、回滚。
|
|
89
94
|
- 高歧义需求最多追问 1-3 个关键问题;信息足够时直接进入对应任务流程。
|
|
@@ -152,6 +157,10 @@
|
|
|
152
157
|
- AI 可以读取 Git 状态、总结 diff、建议 commit message 和 tag。
|
|
153
158
|
- 未获用户明确确认前,不得自动执行 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout` 回滚或切分支。
|
|
154
159
|
- 多端多仓库改动后,应按仓库分别输出交付摘要和建议 commit message。
|
|
160
|
+
- 多仓库 Git 只读索引最多向下发现 4 层目录、记录 20 个仓库候选和 200 个目录 / 文件条目。
|
|
161
|
+
- Git 仓库索引必须覆盖根仓库、嵌套 `.git`、子模块和 worktree,并记录 `repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
162
|
+
- Git 只读索引全程禁止 `commit`、`tag`、`push`、`pull`、`merge`、`rebase`、`reset`、`checkout`、`switch`、回滚和切分支。
|
|
163
|
+
- 预算内无 Git 证据时标注 `未在项目中发现`;超预算、权限不足、路径不可读或状态无法确认时标注 `状态未知`,不得判断为无 Git。
|
|
155
164
|
|
|
156
165
|
## 框架适配
|
|
157
166
|
|
|
@@ -163,6 +172,58 @@
|
|
|
163
172
|
- 不为确认框架做全量 grep 或追完整调用链。
|
|
164
173
|
- 如需进一步确认,放到后续任务按需补齐。
|
|
165
174
|
- 未识别到对应框架时,不强行套用该框架规则。
|
|
175
|
+
- 每个端口从端口根目录向下最多发现 3 层目录,最多读取 20 个关键文件。
|
|
176
|
+
- 正向识别必须输出证据路径和证据类型,如依赖、配置、入口、目录结构、代码特征。
|
|
177
|
+
- 预算内无识别证据时标注 `未在项目中发现`;超预算、权限不足或路径不可读时标注 `状态未知` 和 `覆盖范围:部分`。
|
|
178
|
+
- 不把 uni-app 规则套到原生微信小程序,也不把微信小程序规则套到 uni-app。
|
|
179
|
+
|
|
180
|
+
框架识别输出建议:
|
|
181
|
+
|
|
182
|
+
```md
|
|
183
|
+
## 轻量框架识别
|
|
184
|
+
- workstream:
|
|
185
|
+
- 框架候选:
|
|
186
|
+
- 识别状态:已确认 / 推断 / 待确认 / 未在项目中发现 / 状态未知
|
|
187
|
+
- 覆盖范围:完整 / 部分
|
|
188
|
+
- 发现预算:目录深度 3 层、关键文件 20 个
|
|
189
|
+
- 证据:路径、证据类型、命中内容摘要
|
|
190
|
+
- 未检查范围:
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## 字段变更影响审视
|
|
194
|
+
|
|
195
|
+
- 字段新增、删除、重命名、类型变化、含义变化、API 映射变化或前端展示变化,必须先做字段影响审视。
|
|
196
|
+
- 字段影响审视必须区分数据库字段、API 字段和前端展示字段。
|
|
197
|
+
- 检查范围包括数据库表结构、migration、Model、Entity、ORM、查询写入、Service、DAO、参数校验、状态流转、计算、缓存、队列、API 请求 / 响应 / DTO / Serializer / 文档、各端表单 / 列表 / 详情 / 表格 / 筛选 / 状态 / 格式化 / 图表 / 导出 / 打印、Mock / Seed / 测试数据 / 空值 / 旧值 / 默认值 / 历史数据 / 兼容性。
|
|
198
|
+
- 检索根目录为项目根目录和已确认端口 / workstream 根目录。
|
|
199
|
+
- 每个端口最多检查 300 个候选文件、1000 条匹配结果和 50 条证据记录。
|
|
200
|
+
- 排除 `node_modules`、`dist`、`build`、`vendor`、`.git`、`.codegraph`、`storage`、`runtime`、`unpackage`、`coverage`、二进制文件和明确生成目录。
|
|
201
|
+
- CodeGraph 可用时,结构性影响优先使用 CodeGraph;CodeGraph 不可用时,降级为入口文件、配置文件、结构化检索和限定范围文本检索,并标注降级状态。
|
|
202
|
+
- 动态 SQL、动态字段名、序列化、反射和生成代码无法确认时,列为 `待确认` 或 `可能遗漏位置`。
|
|
203
|
+
- 超过预算时停止扩展检索,标注 `审视状态:部分覆盖`、`状态未知` 和 `可能遗漏位置`。
|
|
204
|
+
- 只改展示方式时,不得顺手修改数据库和 API。
|
|
205
|
+
- 未确认前不得执行 SQL、migration、seed、批量数据修复或接口兼容改动。
|
|
206
|
+
|
|
207
|
+
字段影响审视输出契约:
|
|
208
|
+
|
|
209
|
+
```md
|
|
210
|
+
## 字段影响审视
|
|
211
|
+
- 审视状态:完整覆盖 / 部分覆盖 / 状态未知
|
|
212
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段
|
|
213
|
+
- 字段名称与原含义:
|
|
214
|
+
- 调整后含义:
|
|
215
|
+
- 检索根目录:
|
|
216
|
+
- 排除目录与文件:
|
|
217
|
+
- CodeGraph 状态:可用 / 不可用 / 降级
|
|
218
|
+
- 降级原因:
|
|
219
|
+
- 工具预算:
|
|
220
|
+
- 证据列表:路径、位置、匹配内容、判断状态
|
|
221
|
+
- 已覆盖范围:
|
|
222
|
+
- 可能遗漏位置:
|
|
223
|
+
- 旧数据兼容方案:
|
|
224
|
+
- 最终风险:
|
|
225
|
+
- 是否需要用户确认:
|
|
226
|
+
```
|
|
166
227
|
|
|
167
228
|
## 理解深度状态
|
|
168
229
|
|
|
@@ -189,6 +250,116 @@
|
|
|
189
250
|
- 创建或更新全局审视后,应同步 `xinyun-ai/global-review/index.json` 和 `xinyun-ai/index/project-index.json`。
|
|
190
251
|
- 全局审视不会授权 AI 直接修改业务代码。
|
|
191
252
|
|
|
253
|
+
## AI 项目团队与责任闭环
|
|
254
|
+
|
|
255
|
+
- 初始化时必须创建 `xinyun-ai/team/`。
|
|
256
|
+
- 默认逻辑角色为:`project-owner`、`project-product`、`chief-engineer`、`programmer`、`test-reviewer`。
|
|
257
|
+
- 首次必须创建 5 个 JSON 配置:`roles.json`、`members.json`、`assignments.json`、`responsibility-matrix.json`、`file-ownership.json`。
|
|
258
|
+
- 首次必须创建 5 份职责确认记录:`confirmations/<roleId>.md`,文件名必须使用 `roleId`。
|
|
259
|
+
- 首次必须创建 5 份角色理解记录:`understandings/<roleId>.md`,文件名必须使用 `roleId`。
|
|
260
|
+
- `roles.json` 的 `roleId` 必须全局唯一;所有 ID 必须唯一。
|
|
261
|
+
- `members.json` 未绑定时 `personId` 和 `sessionId` 必须为 `null`,不得虚构真实人员或会话。
|
|
262
|
+
- `confirmations/<roleId>.md` 和 `understandings/<roleId>.md` 的 `createdAt`、`updatedAt` 必须存在且为 ISO 8601 时间;首次落盘可使用模板初始时间或替换为当前时间,但不得留空。
|
|
263
|
+
- `xinyun-ai/manifest.json` 必须包含 `capabilities.teamResponsibilityClosure: true`,并登记 team 的 8 个路径:`directory`、`roles`、`members`、`assignments`、`responsibilityMatrix`、`fileOwnership`、`understandingsDirectory`、`confirmationsDirectory`。
|
|
264
|
+
- `xinyun-ai/index/project-index.json` 必须登记 `team.enabled`、`directory`、`roleCount=5`、`confirmationCount=5`、`status=pending-confirmation` 和同名 `paths`。
|
|
265
|
+
- 注册路径必须与实际文件系统路径逐项一致。
|
|
266
|
+
|
|
267
|
+
角色职责:
|
|
268
|
+
|
|
269
|
+
- 项目负责人负责需求最终确认、业务验收和发布授权。
|
|
270
|
+
- 项目产品负责需求整理、任务拆分和产品验收建议,不拥有技术最终确认权或发布授权权。
|
|
271
|
+
- 总工 / 技术负责人负责技术方案、架构风险和技术最终确认。
|
|
272
|
+
- 程序员按确认范围执行代码、配置和测试任务。
|
|
273
|
+
- 测试审查员独立测试、发布阻断判断和测试结论,不修改代码。
|
|
274
|
+
|
|
275
|
+
状态分层:
|
|
276
|
+
|
|
277
|
+
- 角色生命周期:`unassigned`、`assigned`、`onboarding`、`ready`、`blocked`、`disabled`。
|
|
278
|
+
- 职责确认状态:`pending`、`confirmed`、`adjustment-required`。
|
|
279
|
+
- 任务分配状态:`pending`、`assigned`、`accepted`、`executing`、`paused`、`blocked`、`completed`、`cancelled`。
|
|
280
|
+
- `status=paused` 时必须填写 `pauseReason`,允许值至少包括 `out-of-scope`、`awaiting-confirmation`、`execution-failed`、`user-requested`;其他状态的 `pauseReason` 必须为 `null`。
|
|
281
|
+
- 确认人不可用或发生成员冲突时使用 `status=blocked`,并填写 `blockedReason=approver-unavailable` 或 `blockedReason=member-conflict`。
|
|
282
|
+
|
|
283
|
+
可执行前置条件:
|
|
284
|
+
|
|
285
|
+
- 成员已绑定。
|
|
286
|
+
- 角色生命周期为 `ready`。
|
|
287
|
+
- 职责确认状态为 `confirmed`。
|
|
288
|
+
- 角色理解记录为 `ready`。
|
|
289
|
+
- 任务执行人和确认人不冲突。
|
|
290
|
+
- 角色理解记录不等于代码修改授权;即使 `executionEligible=true`,仍必须有已确认任务单。
|
|
291
|
+
|
|
292
|
+
成员级确认冲突:
|
|
293
|
+
|
|
294
|
+
- 执行人不得直接作为自己的最终确认人。
|
|
295
|
+
- 最终确认关系必须在任务分配记录中落到成员 ID。
|
|
296
|
+
- `memberId` 不得等于 `technicalApproverMemberId`、`businessApproverMemberId` 或 `publishAuthorizerMemberId`。
|
|
297
|
+
- `roles.json` 中的默认确认角色只用于候选人推荐,不构成授权,也不能覆盖成员级冲突校验。
|
|
298
|
+
- 总工为执行人时不得回落为自己确认自己。
|
|
299
|
+
- 没有可用技术、业务或发布确认成员时,任务保持 `blocked` / 待分配,不得自动使用执行成员、虚构成员或空确认通过。
|
|
300
|
+
- 程序员不得担任技术最终确认人、业务最终确认人或发布授权人;本版本不设置例外。
|
|
301
|
+
|
|
302
|
+
角色理解记录最小字段:
|
|
303
|
+
|
|
304
|
+
- `recordId`
|
|
305
|
+
- `roleId`
|
|
306
|
+
- `memberId`
|
|
307
|
+
- `status`:`pending` / `reading` / `ready` / `partial` / `blocked`
|
|
308
|
+
- `readScope`
|
|
309
|
+
- `readBudget`
|
|
310
|
+
- `unreadablePaths`
|
|
311
|
+
- `confirmedFacts`
|
|
312
|
+
- `inferences`
|
|
313
|
+
- `pendingQuestions`
|
|
314
|
+
- `risks`
|
|
315
|
+
- `evidence`
|
|
316
|
+
- `coverage`
|
|
317
|
+
- `executionEligible`
|
|
318
|
+
- `createdAt`
|
|
319
|
+
- `updatedAt`
|
|
320
|
+
|
|
321
|
+
任务责任字段:
|
|
322
|
+
|
|
323
|
+
```md
|
|
324
|
+
- 需求负责人:
|
|
325
|
+
- 技术负责人 / 总工:
|
|
326
|
+
- 执行人:
|
|
327
|
+
- 测试审查人:
|
|
328
|
+
- 技术最终确认人:
|
|
329
|
+
- 业务最终确认人:
|
|
330
|
+
- 发布授权人:
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
文件目录责任和变更核对:
|
|
334
|
+
|
|
335
|
+
```md
|
|
336
|
+
## 预计更新文件目录
|
|
337
|
+
- 文件或目录:
|
|
338
|
+
- 文件类型:
|
|
339
|
+
- 负责角色:
|
|
340
|
+
- 执行角色:
|
|
341
|
+
- 审查角色:
|
|
342
|
+
- 最终确认角色:
|
|
343
|
+
|
|
344
|
+
## 实际更新文件目录
|
|
345
|
+
- 已修改:
|
|
346
|
+
- 新增:
|
|
347
|
+
- 删除:
|
|
348
|
+
- 未修改:
|
|
349
|
+
- 超出预计范围:
|
|
350
|
+
- 是否需要重新确认:
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
- 目录记录以相对 `repoRoot` 的正斜线路径为准,跨仓库必须分别记录。
|
|
354
|
+
- 文件、目录、通配符分别通过 `pathType` 标注;`pathType` 只能是 `file`、`directory` 或 `glob`。
|
|
355
|
+
- 路径不得包含 `..`。
|
|
356
|
+
- 删除和重命名必须记录旧路径,重命名还必须记录新路径。
|
|
357
|
+
- 生成文件必须列出实际输出路径。
|
|
358
|
+
- `xinyun-ai/team/**`、`xinyun-ai/current-task.md`、`xinyun-ai/index/session-current.md`、`xinyun-ai/handoffs/**` 属于控制文件,计入实际更新记录,但与业务代码修改分栏统计。
|
|
359
|
+
- 实际目录通过文件清单和 diff 只读核对。
|
|
360
|
+
- 发现未授权路径后,任务状态改为 `paused`、`pauseReason=out-of-scope`,记录责任人、发现人、影响范围和重新确认人。
|
|
361
|
+
- 不得使用未定义状态 `paused-out-of-scope`。
|
|
362
|
+
|
|
192
363
|
## 双会话执行闭环(MVP)
|
|
193
364
|
|
|
194
365
|
- 复杂改动可使用一个主会话 + 一个执行会话的手工协作闭环;普通咨询、只读分析和不涉及文件修改的任务仍可使用单会话。
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
- 用户原话:
|
|
7
7
|
- AI 理解:
|
|
8
8
|
- 任务类型:
|
|
9
|
+
- 字段任务分型:
|
|
10
|
+
- 字段专项路由:
|
|
9
11
|
- 影响对象:
|
|
10
12
|
- 可能涉及:
|
|
11
13
|
- 不确定点:
|
|
@@ -31,6 +33,38 @@
|
|
|
31
33
|
- 推断内容:
|
|
32
34
|
- 待确认内容:
|
|
33
35
|
- Git 模式与仓库影响:
|
|
36
|
+
- 多仓库 Git 只读索引:
|
|
37
|
+
- repoRoot:
|
|
38
|
+
- path:
|
|
39
|
+
- workstream:
|
|
40
|
+
- kind:
|
|
41
|
+
- parentRepo:
|
|
42
|
+
- branch:
|
|
43
|
+
- remote:
|
|
44
|
+
- status:
|
|
45
|
+
- evidence:
|
|
46
|
+
- 轻量框架识别:
|
|
47
|
+
- workstream:
|
|
48
|
+
- 框架候选:
|
|
49
|
+
- 识别状态:
|
|
50
|
+
- 覆盖范围:
|
|
51
|
+
- 发现预算:
|
|
52
|
+
- 证据:
|
|
53
|
+
- 未检查范围:
|
|
54
|
+
- 字段影响审视:
|
|
55
|
+
- 审视状态:
|
|
56
|
+
- 字段分类:
|
|
57
|
+
- 字段名称与原含义:
|
|
58
|
+
- 调整后含义:
|
|
59
|
+
- 检索根目录:
|
|
60
|
+
- 排除目录与文件:
|
|
61
|
+
- CodeGraph 状态:
|
|
62
|
+
- 证据列表:
|
|
63
|
+
- 已覆盖范围:
|
|
64
|
+
- 可能遗漏位置:
|
|
65
|
+
- 旧数据兼容方案:
|
|
66
|
+
- 最终风险:
|
|
67
|
+
- 是否需要用户确认:
|
|
34
68
|
- 前端官方组件 / API 选型:
|
|
35
69
|
- 双会话执行:
|
|
36
70
|
- taskId:
|
|
@@ -41,6 +75,40 @@
|
|
|
41
75
|
- status:
|
|
42
76
|
- 执行任务单:
|
|
43
77
|
- 执行交接单:
|
|
78
|
+
- 团队责任闭环:
|
|
79
|
+
- 需求负责人:
|
|
80
|
+
- 技术负责人 / 总工:
|
|
81
|
+
- 执行人:
|
|
82
|
+
- 测试审查人:
|
|
83
|
+
- 技术最终确认人:
|
|
84
|
+
- 业务最终确认人:
|
|
85
|
+
- 发布授权人:
|
|
86
|
+
- memberId:
|
|
87
|
+
- reviewerMemberId:
|
|
88
|
+
- technicalApproverMemberId:
|
|
89
|
+
- businessApproverMemberId:
|
|
90
|
+
- publishAuthorizerMemberId:
|
|
91
|
+
- blockedReason:
|
|
92
|
+
- pauseReason:
|
|
93
|
+
- memberId 冲突检查:
|
|
94
|
+
- 职责确认状态:
|
|
95
|
+
- 角色理解状态:
|
|
96
|
+
- 预计更新文件目录:
|
|
97
|
+
- 文件或目录:
|
|
98
|
+
- 文件类型:
|
|
99
|
+
- 负责角色:
|
|
100
|
+
- 执行角色:
|
|
101
|
+
- 审查角色:
|
|
102
|
+
- 最终确认角色:
|
|
103
|
+
- 实际更新文件目录:
|
|
104
|
+
- 已修改:
|
|
105
|
+
- 新增:
|
|
106
|
+
- 删除:
|
|
107
|
+
- 未修改:
|
|
108
|
+
- 超出预计范围:
|
|
109
|
+
- 是否需要重新确认:
|
|
110
|
+
- 控制文件:
|
|
111
|
+
- 业务代码:
|
|
44
112
|
- 交付状态:
|
|
45
113
|
- 未完成事项:
|
|
46
114
|
- 下一步动作:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"projectName": "",
|
|
3
|
-
"xinyunAiVersion": "1.
|
|
3
|
+
"xinyunAiVersion": "1.5.0",
|
|
4
4
|
"scriptVersion": "2026.07.16",
|
|
5
5
|
"schemaVersion": "1",
|
|
6
6
|
"initializationMode": "fast",
|
|
@@ -26,6 +26,21 @@
|
|
|
26
26
|
"unifiedEntryPriority": true,
|
|
27
27
|
"legacyHandoffClassification": true,
|
|
28
28
|
"globalReview": true,
|
|
29
|
-
"chineseRequirementParsing": true
|
|
29
|
+
"chineseRequirementParsing": true,
|
|
30
|
+
"frameworkEvidenceBudget": true,
|
|
31
|
+
"readonlyGitRepositoryIndex": true,
|
|
32
|
+
"boundedFieldImpactReview": true,
|
|
33
|
+
"fieldChangeRequirementRouting": true,
|
|
34
|
+
"teamResponsibilityClosure": true
|
|
35
|
+
},
|
|
36
|
+
"team": {
|
|
37
|
+
"directory": "xinyun-ai/team/",
|
|
38
|
+
"roles": "xinyun-ai/team/roles.json",
|
|
39
|
+
"members": "xinyun-ai/team/members.json",
|
|
40
|
+
"assignments": "xinyun-ai/team/assignments.json",
|
|
41
|
+
"responsibilityMatrix": "xinyun-ai/team/responsibility-matrix.json",
|
|
42
|
+
"fileOwnership": "xinyun-ai/team/file-ownership.json",
|
|
43
|
+
"understandingsDirectory": "xinyun-ai/team/understandings/",
|
|
44
|
+
"confirmationsDirectory": "xinyun-ai/team/confirmations/"
|
|
30
45
|
}
|
|
31
46
|
}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- 配置线索:待填写
|
|
16
16
|
- 测试体系线索:待填写
|
|
17
17
|
- Git 模式与仓库线索:待填写
|
|
18
|
+
- 多仓库 Git 只读索引:待填写
|
|
18
19
|
- 已有 AI 痕迹:待填写
|
|
19
20
|
- 旧 AI 沉淀来源:待填写
|
|
20
21
|
- 可接管内容:待填写
|
|
@@ -23,8 +24,26 @@
|
|
|
23
24
|
- 不存在的旧路径:待填写
|
|
24
25
|
- 规则入口优先级:待填写
|
|
25
26
|
- 中文需求解析触发情况:待填写
|
|
27
|
+
- 字段变更任务分型与专项路由:待填写
|
|
26
28
|
- 全局影响审视触发情况:待填写
|
|
27
29
|
- 轻量框架识别:待填写
|
|
30
|
+
- 证据路径与证据类型:待填写
|
|
31
|
+
- 发现预算与覆盖范围:待填写
|
|
32
|
+
- 字段影响审视:待填写
|
|
33
|
+
- 字段分类:待填写
|
|
34
|
+
- 检索根目录与排除项:待填写
|
|
35
|
+
- CodeGraph 状态与降级说明:待填写
|
|
36
|
+
- 证据、可能遗漏和兼容方案:待填写
|
|
37
|
+
- AI 项目团队与责任闭环:待填写
|
|
38
|
+
- `xinyun-ai/team/` 是否创建:待填写
|
|
39
|
+
- 5 个 JSON 配置是否可解析:待填写
|
|
40
|
+
- 5 份 `confirmations/<roleId>.md` 是否存在:待填写
|
|
41
|
+
- 5 份 `understandings/<roleId>.md` 是否存在:待填写
|
|
42
|
+
- `manifest.json` team 路径注册:待填写
|
|
43
|
+
- `project-index.json` team 路径注册:待填写
|
|
44
|
+
- 未绑定成员是否使用 `null`:待填写
|
|
45
|
+
- 自确认 memberId 冲突阻断:待填写
|
|
46
|
+
- 超范围暂停是否为 `status=paused` + `pauseReason=out-of-scope`:待填写
|
|
28
47
|
|
|
29
48
|
## 待确认问题
|
|
30
49
|
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
- 用户原话:待填写。
|
|
41
41
|
- AI 理解:待填写。
|
|
42
42
|
- 任务类型:待填写。
|
|
43
|
+
- 字段任务分型:待填写。
|
|
44
|
+
- 字段专项路由:待填写。
|
|
43
45
|
- 影响对象:待填写。
|
|
44
46
|
- 风险词:待填写。
|
|
45
47
|
- 是否需要追问:待填写。
|
|
@@ -64,9 +66,36 @@
|
|
|
64
66
|
|
|
65
67
|
待填写。
|
|
66
68
|
|
|
69
|
+
## 多仓库 Git 只读索引
|
|
70
|
+
|
|
71
|
+
- Git 模式:待填写。
|
|
72
|
+
- 发现预算:最多 4 层、20 个仓库候选、200 个目录 / 文件条目。
|
|
73
|
+
- 仓库记录字段:`repoRoot`、`path`、`workstream`、`kind`、`parentRepo`、`branch`、`remote`、`status`、`evidence`。
|
|
74
|
+
- 只读状态:待填写。
|
|
75
|
+
- 未确认 / 状态未知范围:待填写。
|
|
76
|
+
|
|
67
77
|
## 轻量框架识别结果
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
- 识别预算:每端最多 3 层目录、20 个关键文件。
|
|
80
|
+
- ThinkPHP:待填写。
|
|
81
|
+
- uni-app:待填写。
|
|
82
|
+
- 微信小程序:待填写。
|
|
83
|
+
- 证据路径和证据类型:待填写。
|
|
84
|
+
- 覆盖范围:待填写。
|
|
85
|
+
- 未检查范围:待填写。
|
|
86
|
+
|
|
87
|
+
## 字段影响审视
|
|
88
|
+
|
|
89
|
+
- 是否触发:待填写。
|
|
90
|
+
- 字段分类:数据库字段 / API 字段 / 前端展示字段 / 未确认。
|
|
91
|
+
- 审视状态:完整覆盖 / 部分覆盖 / 状态未知。
|
|
92
|
+
- 检索根目录:待填写。
|
|
93
|
+
- 排除目录与文件:待填写。
|
|
94
|
+
- CodeGraph 状态:待填写。
|
|
95
|
+
- 证据列表:待填写。
|
|
96
|
+
- 可能遗漏位置:待填写。
|
|
97
|
+
- 旧数据兼容方案:待填写。
|
|
98
|
+
- 确认状态:待填写。
|
|
70
99
|
|
|
71
100
|
## 数据库、API、测试体系发现情况
|
|
72
101
|
|
|
@@ -76,9 +105,26 @@
|
|
|
76
105
|
|
|
77
106
|
- 初始化模式:待填写。
|
|
78
107
|
- 已创建或更新文件:待填写。
|
|
108
|
+
- AI 项目团队:待填写。
|
|
109
|
+
- 团队路径注册:待填写。
|
|
110
|
+
- 角色数量:待填写。
|
|
111
|
+
- 职责确认记录数量:待填写。
|
|
112
|
+
- 角色理解记录数量:待填写。
|
|
79
113
|
- 是否接管旧沉淀:待填写。
|
|
80
114
|
- 是否有待确认项:待填写。
|
|
81
115
|
|
|
116
|
+
## AI 项目团队与责任闭环
|
|
117
|
+
|
|
118
|
+
- 团队目录:`xinyun-ai/team/`
|
|
119
|
+
- 角色:项目负责人、项目产品、总工、程序员、测试审查员。
|
|
120
|
+
- 当前状态:pending-confirmation。
|
|
121
|
+
- 未绑定成员:待填写。
|
|
122
|
+
- 职责确认:待填写。
|
|
123
|
+
- 角色理解:待填写。
|
|
124
|
+
- 成员级自确认阻断:待填写。
|
|
125
|
+
- 文件目录责任:待填写。
|
|
126
|
+
- 超范围暂停规则:`status=paused` + `pauseReason=out-of-scope`。
|
|
127
|
+
|
|
82
128
|
## CodeGraph 与索引状态
|
|
83
129
|
|
|
84
130
|
待填写。
|
|
@@ -8,6 +8,33 @@
|
|
|
8
8
|
},
|
|
9
9
|
"database": "unknown",
|
|
10
10
|
"api": "unknown",
|
|
11
|
+
"frameworks": {
|
|
12
|
+
"frameworkEvidenceBudget": true,
|
|
13
|
+
"evidenceBudget": {
|
|
14
|
+
"maxDepthPerWorkstream": 3,
|
|
15
|
+
"maxKeyFilesPerWorkstream": 20
|
|
16
|
+
},
|
|
17
|
+
"records": []
|
|
18
|
+
},
|
|
19
|
+
"gitRepositories": {
|
|
20
|
+
"mode": "unknown",
|
|
21
|
+
"readonly": true,
|
|
22
|
+
"discoveryBudget": {
|
|
23
|
+
"maxDepth": 4,
|
|
24
|
+
"maxCandidates": 20,
|
|
25
|
+
"maxEntries": 200
|
|
26
|
+
},
|
|
27
|
+
"records": []
|
|
28
|
+
},
|
|
29
|
+
"fieldImpactReview": {
|
|
30
|
+
"enabled": true,
|
|
31
|
+
"budgetPerWorkstream": {
|
|
32
|
+
"maxCandidateFiles": 300,
|
|
33
|
+
"maxMatches": 1000,
|
|
34
|
+
"maxEvidence": 50
|
|
35
|
+
},
|
|
36
|
+
"records": []
|
|
37
|
+
},
|
|
11
38
|
"tests": "unknown",
|
|
12
39
|
"handoffs": {
|
|
13
40
|
"activeTask": "none",
|
|
@@ -38,5 +65,28 @@
|
|
|
38
65
|
"trigger": "ambiguous_or_change_or_high_risk",
|
|
39
66
|
"ordinaryConsultationRequiresFullParsing": false
|
|
40
67
|
},
|
|
68
|
+
"fieldChangeRequirementRouting": {
|
|
69
|
+
"enabled": true,
|
|
70
|
+
"fieldTypes": ["数据库字段", "API 字段", "前端展示字段", "未确认"],
|
|
71
|
+
"routes": ["字段影响审视", "普通改动计划", "SQL 提醒", "业务流程理解"]
|
|
72
|
+
},
|
|
73
|
+
"team": {
|
|
74
|
+
"enabled": true,
|
|
75
|
+
"directory": "xinyun-ai/team/",
|
|
76
|
+
"roleCount": 5,
|
|
77
|
+
"confirmationCount": 5,
|
|
78
|
+
"understandingCount": 5,
|
|
79
|
+
"status": "pending-confirmation",
|
|
80
|
+
"paths": {
|
|
81
|
+
"directory": "xinyun-ai/team/",
|
|
82
|
+
"roles": "xinyun-ai/team/roles.json",
|
|
83
|
+
"members": "xinyun-ai/team/members.json",
|
|
84
|
+
"assignments": "xinyun-ai/team/assignments.json",
|
|
85
|
+
"responsibilityMatrix": "xinyun-ai/team/responsibility-matrix.json",
|
|
86
|
+
"fileOwnership": "xinyun-ai/team/file-ownership.json",
|
|
87
|
+
"understandingsDirectory": "xinyun-ai/team/understandings/",
|
|
88
|
+
"confirmationsDirectory": "xinyun-ai/team/confirmations/"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
41
91
|
"lastUpdatedAt": ""
|
|
42
92
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# AI 项目团队
|
|
2
|
+
|
|
3
|
+
本目录用于记录本地 AI 协作团队、职责确认、角色理解、任务责任和文件目录责任。
|
|
4
|
+
|
|
5
|
+
## 初始化边界
|
|
6
|
+
|
|
7
|
+
- 团队配置只创建逻辑角色和待绑定成员槽位,不自动创建外部人员账号、外部 AI 会话或无限会话。
|
|
8
|
+
- 未绑定真实人员或会话时,`personId`、`sessionId`、`memberId`、`confirmedBy` 使用 `null`,不得虚构姓名或会话 ID。
|
|
9
|
+
- `confirmations/<roleId>.md` 和 `understandings/<roleId>.md` 的 `createdAt`、`updatedAt` 必须存在且为 ISO 8601 时间;首次落盘可使用模板初始时间或替换为当前时间,但不得留空。
|
|
10
|
+
- `xinyun-ai/team/**` 属于 AI 工作区控制文件,不授权修改业务代码、数据库、API、依赖、构建脚本或执行发布操作。
|
|
11
|
+
|
|
12
|
+
## 默认角色
|
|
13
|
+
|
|
14
|
+
- `project-owner`:项目负责人,负责需求最终确认、业务验收和发布授权。
|
|
15
|
+
- `project-product`:项目产品,负责需求整理、任务拆分和产品验收建议。
|
|
16
|
+
- `chief-engineer`:总工 / 技术负责人,负责技术方案、架构风险和技术最终确认。
|
|
17
|
+
- `programmer`:程序员,按确认范围执行代码、配置和测试任务。
|
|
18
|
+
- `test-reviewer`:测试审查员,独立测试、发布阻断判断和测试结论,不修改代码。
|
|
19
|
+
|
|
20
|
+
## 状态规则
|
|
21
|
+
|
|
22
|
+
- 角色生命周期:`unassigned`、`assigned`、`onboarding`、`ready`、`blocked`、`disabled`。
|
|
23
|
+
- 职责确认状态:`pending`、`confirmed`、`adjustment-required`。
|
|
24
|
+
- 任务分配状态:`pending`、`assigned`、`accepted`、`executing`、`paused`、`blocked`、`completed`、`cancelled`。
|
|
25
|
+
- `status=paused` 时必须填写 `pauseReason`,超范围统一使用 `pauseReason=out-of-scope`。
|
|
26
|
+
- `status=blocked` 时必须填写 `blockedReason`,确认人不可用为 `approver-unavailable`,成员冲突为 `member-conflict`。
|
|
27
|
+
- 执行人不得作为自己的技术最终确认人、业务最终确认人或发布授权人;冲突必须按 `memberId` 判断。
|
|
28
|
+
|
|
29
|
+
## 文件目录责任
|
|
30
|
+
|
|
31
|
+
任务开始前记录预计更新文件目录,任务完成后通过文件清单和 diff 只读核对实际更新文件目录。
|
|
32
|
+
|
|
33
|
+
发现实际修改超出预计目录时,任务必须设置:
|
|
34
|
+
|
|
35
|
+
```md
|
|
36
|
+
status=paused
|
|
37
|
+
pauseReason=out-of-scope
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
不得使用未定义状态 `paused-out-of-scope`。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"assignments": [],
|
|
4
|
+
"statusEnum": ["pending", "assigned", "accepted", "executing", "paused", "blocked", "completed", "cancelled"],
|
|
5
|
+
"pauseReasonEnum": ["out-of-scope", "awaiting-confirmation", "execution-failed", "user-requested"],
|
|
6
|
+
"blockedReasonEnum": ["approver-unavailable", "member-conflict"],
|
|
7
|
+
"memberConflictRule": "memberId must not equal technicalApproverMemberId, businessApproverMemberId, or publishAuthorizerMemberId.",
|
|
8
|
+
"recordContract": {
|
|
9
|
+
"requiredFields": [
|
|
10
|
+
"assignmentId",
|
|
11
|
+
"taskId",
|
|
12
|
+
"roleId",
|
|
13
|
+
"memberId",
|
|
14
|
+
"workstream",
|
|
15
|
+
"scope",
|
|
16
|
+
"understandingRecordId",
|
|
17
|
+
"confirmationRecordId",
|
|
18
|
+
"reviewerMemberId",
|
|
19
|
+
"technicalApproverMemberId",
|
|
20
|
+
"businessApproverMemberId",
|
|
21
|
+
"publishAuthorizerMemberId",
|
|
22
|
+
"status",
|
|
23
|
+
"blockedReason",
|
|
24
|
+
"pauseReason",
|
|
25
|
+
"createdAt",
|
|
26
|
+
"updatedAt"
|
|
27
|
+
],
|
|
28
|
+
"pausedRule": "status=paused requires pauseReason; other statuses require pauseReason=null.",
|
|
29
|
+
"blockedRule": "status=blocked requires blockedReason=approver-unavailable or member-conflict.",
|
|
30
|
+
"executionEligibility": "member bound, role ready, responsibility confirmed, understanding ready, and executor memberId not equal to final approver member IDs."
|
|
31
|
+
},
|
|
32
|
+
"updatedAt": ""
|
|
33
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 职责确认记录:chief-engineer
|
|
2
|
+
|
|
3
|
+
- schemaVersion:1
|
|
4
|
+
- recordId:confirmation-chief-engineer
|
|
5
|
+
- roleId:chief-engineer
|
|
6
|
+
- memberId:null
|
|
7
|
+
- status:pending
|
|
8
|
+
- responsibilityScope:技术方案、架构风险、技术最终确认
|
|
9
|
+
- readScope:architecture, api, database, git, workstreams, rules
|
|
10
|
+
- writeScope:xinyun-ai/global-review/, xinyun-ai/team/understandings/chief-engineer.md
|
|
11
|
+
- forbiddenActions:git-push, npm-publish, execute-sql-without-confirmation
|
|
12
|
+
- reviewerRoleId:test-reviewer
|
|
13
|
+
- technicalApproverRoleId:null
|
|
14
|
+
- businessApproverRoleId:project-owner
|
|
15
|
+
- publishAuthorizerRoleId:project-owner
|
|
16
|
+
- confirmedBy:null
|
|
17
|
+
- confirmedAt:null
|
|
18
|
+
- createdAt:2026-07-19T00:00:00.000Z
|
|
19
|
+
- updatedAt:2026-07-19T00:00:00.000Z
|
|
20
|
+
|
|
21
|
+
## 待确认
|
|
22
|
+
|
|
23
|
+
- 总工默认不设置技术确认候选,避免角色默认值自指。
|
|
24
|
+
- 总工为执行人时,不得回落为自己确认自己。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 职责确认记录:programmer
|
|
2
|
+
|
|
3
|
+
- schemaVersion:1
|
|
4
|
+
- recordId:confirmation-programmer
|
|
5
|
+
- roleId:programmer
|
|
6
|
+
- memberId:null
|
|
7
|
+
- status:pending
|
|
8
|
+
- responsibilityScope:按确认范围执行代码、配置和测试任务
|
|
9
|
+
- readScope:assigned-workstream, framework-rules, entry-files, tests
|
|
10
|
+
- writeScope:confirmed-task-scope
|
|
11
|
+
- forbiddenActions:technical-final-approval, business-final-approval, publish-authorization, git-push, npm-publish
|
|
12
|
+
- reviewerRoleId:test-reviewer
|
|
13
|
+
- technicalApproverRoleId:chief-engineer
|
|
14
|
+
- businessApproverRoleId:project-owner
|
|
15
|
+
- publishAuthorizerRoleId:project-owner
|
|
16
|
+
- confirmedBy:null
|
|
17
|
+
- confirmedAt:null
|
|
18
|
+
- createdAt:2026-07-19T00:00:00.000Z
|
|
19
|
+
- updatedAt:2026-07-19T00:00:00.000Z
|
|
20
|
+
|
|
21
|
+
## 待确认
|
|
22
|
+
|
|
23
|
+
- 程序员不得担任技术最终确认人、业务最终确认人或发布授权人。
|
|
24
|
+
- 执行范围必须来自已确认任务单。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 职责确认记录:project-owner
|
|
2
|
+
|
|
3
|
+
- schemaVersion:1
|
|
4
|
+
- recordId:confirmation-project-owner
|
|
5
|
+
- roleId:project-owner
|
|
6
|
+
- memberId:null
|
|
7
|
+
- status:pending
|
|
8
|
+
- responsibilityScope:需求最终确认、业务验收、发布授权
|
|
9
|
+
- readScope:requirements, delivery, release, business-acceptance
|
|
10
|
+
- writeScope:
|
|
11
|
+
- forbiddenActions:modify-business-code, execute-sql, git-push, npm-publish
|
|
12
|
+
- reviewerRoleId:test-reviewer
|
|
13
|
+
- technicalApproverRoleId:chief-engineer
|
|
14
|
+
- businessApproverRoleId:null
|
|
15
|
+
- publishAuthorizerRoleId:null
|
|
16
|
+
- confirmedBy:null
|
|
17
|
+
- confirmedAt:null
|
|
18
|
+
- createdAt:2026-07-19T00:00:00.000Z
|
|
19
|
+
- updatedAt:2026-07-19T00:00:00.000Z
|
|
20
|
+
|
|
21
|
+
## 待确认
|
|
22
|
+
|
|
23
|
+
- 需要绑定实际项目负责人或用户确认成员后才能进入 `confirmed`。
|
|
24
|
+
- 项目负责人 / 用户保留业务最终确认和发布授权。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 职责确认记录:project-product
|
|
2
|
+
|
|
3
|
+
- schemaVersion:1
|
|
4
|
+
- recordId:confirmation-project-product
|
|
5
|
+
- roleId:project-product
|
|
6
|
+
- memberId:null
|
|
7
|
+
- status:pending
|
|
8
|
+
- responsibilityScope:需求整理、任务拆分、产品验收建议
|
|
9
|
+
- readScope:requirements, current-task, project-guide, business-notes
|
|
10
|
+
- writeScope:xinyun-ai/requirements/, xinyun-ai/current-task.md
|
|
11
|
+
- forbiddenActions:technical-final-approval, publish-authorization, git-push, npm-publish
|
|
12
|
+
- reviewerRoleId:test-reviewer
|
|
13
|
+
- technicalApproverRoleId:chief-engineer
|
|
14
|
+
- businessApproverRoleId:project-owner
|
|
15
|
+
- publishAuthorizerRoleId:project-owner
|
|
16
|
+
- confirmedBy:null
|
|
17
|
+
- confirmedAt:null
|
|
18
|
+
- createdAt:2026-07-19T00:00:00.000Z
|
|
19
|
+
- updatedAt:2026-07-19T00:00:00.000Z
|
|
20
|
+
|
|
21
|
+
## 待确认
|
|
22
|
+
|
|
23
|
+
- 项目产品不拥有技术最终确认权或发布授权权。
|
|
24
|
+
- 未绑定成员前不能领取需要执行权限的任务。
|