R37: 固化 Agent modes 治理规则
这个提交包含在:
@@ -71,6 +71,58 @@ E2E loop = plan → issues(csv) → 方案批准 → implement → test → revi
|
||||
- 重大改动(数据迁移/状态机变更)必须写明回滚策略。
|
||||
- 不泄露密钥、令牌、隐私数据。
|
||||
|
||||
## Agent modes
|
||||
|
||||
本项目采用"3 常驻 worker + 2 按需模式",由人类 Lead 通过 Issue CSV 派工。
|
||||
|
||||
### 常驻 worker
|
||||
|
||||
#### mode:backend
|
||||
- **作用域**:`server/` 全部
|
||||
- **派工条件**:Issue CSV 的 `Files` 包含 `server/` 路径
|
||||
- **Pre-check**:读取当前 Issue CSV,确认目标条目及其 `Dependencies` 前置均已满足
|
||||
- **Post-check**:按变更文件类型执行 `cd server && npm run prisma:validate`、`node --check <对应路由/服务文件>` 及既有回归命令(如 `./scripts/regression-workflow-actions.sh`)
|
||||
- **禁止**:不得修改 `client/` 下任何文件
|
||||
|
||||
#### mode:frontend
|
||||
- **作用域**:`client/` 全部
|
||||
- **派工条件**:Issue CSV 的 `Files` 包含 `client/` 路径
|
||||
- **Pre-check**:读取当前 Issue CSV;若依赖后端 API 变更,确认 backend 对应 Issue 已 DONE
|
||||
- **Post-check**:`cd client && npm run typecheck && npm run build`
|
||||
- **禁止**:不得修改 `server/` 下任何文件
|
||||
|
||||
#### mode:qa
|
||||
- **作用域**:全局只读,允许写 `issues/*.csv`(状态回填)和 `scripts/`(回归脚本维护)
|
||||
- **派工条件**:Issue CSV 中存在 `Dev_Status=DONE` 且 `Regression_Status≠DONE` 的条目
|
||||
- **执行**:逐条执行 `Test_Method`(含业务流程级验证),记录通过/失败证据
|
||||
- **输出**:回填 `Review1_Status` / `Regression_Status`,输出回归报告
|
||||
- **禁止**:不得修改 `server/src/` 或 `client/src/` 业务代码
|
||||
|
||||
### 按需模式
|
||||
|
||||
#### mode:reviewer
|
||||
- **启用条件**:Issue 涉及权限模型、状态机、workflow 引擎、数据迁移、审批规则中的任意一项
|
||||
- **职责**:独立上下文 review,重点检查行为回归、权限泄漏、状态流非法跳转、迁移可回滚性、漏测项
|
||||
- **禁止**:不得修改任何代码,只输出 review 意见
|
||||
|
||||
#### mode:audit-readonly
|
||||
- **启用条件**:需要数据核验、schema 比对、台账校验、生产排障时手动启用
|
||||
- **工具**:仅限 PostgreSQL MCP 只读查询(参考 `docs/mcp-tools.md`)
|
||||
- **禁止**:不得执行 INSERT/UPDATE/DELETE,不得修改任何文件
|
||||
|
||||
### 并行与派工规则
|
||||
- 最多并行 2 个实现 worker(backend + frontend),第 3 个只能是 qa 或只读研究
|
||||
- 跨前后端 Issue:先 backend 定 API/数据契约 → 再 frontend 接入
|
||||
- 单个 Issue 若 plan→implement→test 强依赖同一上下文,不拆 agent,留在主会话
|
||||
- QA 可与下一轮 plan 并行
|
||||
|
||||
### Test_Method 内容要求
|
||||
Issue CSV 的 `Test_Method` 字段必须包含:
|
||||
- **受影响的业务流程**(如:请假→审批→团队日历),不只是文件路径
|
||||
- **流程级验证步骤**(如:提交请假单→审批通过→检查日历是否更新),不只是语法/构建检查
|
||||
|
||||
> 回滚说明不属于 `Test_Method`,应写在 `Notes` 字段中。涉及 Prisma 迁移、权限变更、状态机调整的 Issue,`Notes` 必须包含回滚路径。
|
||||
|
||||
## Output style
|
||||
- 输出保持简洁、结构化。
|
||||
- 非 trivial 改动必须包含:变更摘要、验证结果、风险、下一步建议。
|
||||
|
||||
在新工单中引用
屏蔽一个用户