From debef078f6f1732148bdbc430b77198906d35986 Mon Sep 17 00:00:00 2001 From: shunli Date: Sat, 28 Mar 2026 12:42:09 +0800 Subject: [PATCH] =?UTF-8?q?R37:=20=E5=9B=BA=E5=8C=96=20Agent=20modes=20?= =?UTF-8?q?=E6=B2=BB=E7=90=86=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 52 +++++++++++++++++++ ...28_12-36-28-r37-agent-modes-governance.csv | 5 ++ 2 files changed, 57 insertions(+) create mode 100644 issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv diff --git a/AGENTS.md b/AGENTS.md index 27e9ed0d..60cdabba 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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 改动必须包含:变更摘要、验证结果、风险、下一步建议。 diff --git a/issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv b/issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv new file mode 100644 index 00000000..0494af6d --- /dev/null +++ b/issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv @@ -0,0 +1,5 @@ +ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes +R37-0,R37治理合同补建与范围冻结,为 AGENTS 多 agent 规则更新补建治理合同并锁定本轮仅做治理文档与提交准备,新 CSV 校验通过 且范围明确为 AGENTS agent modes 固化与提交留痕 不承接业务代码改动,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv,none,DONE,DONE,DONE,issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv,[],"本轮仅治理协作规则与提交流程;不修改 server/src 或 client/src 业务代码。" +R37-1,Agent modes 治理规则固化与 review 修订落地,将 3 常驻加 2 按需模式固化到 AGENTS 并落实 qa 写权限 Test_Method 语义和 backend post-check 三处修订,AGENTS.md 包含 Agent modes 段落 且三处修订与现有 issues/README 和 docs/mcp-tools 边界一致,1) git diff --check 2) 核对 AGENTS.md 中 mode:qa 允许写 issues/*.csv 与 scripts/ 3) 核对回滚说明已移入 Notes 约束 4) 核对 backend post-check 已改为按变更类型执行,manual,DONE,DONE,DONE,AGENTS.md,"[""R37-0""]","若后续证明规则过严或过松,回滚方式为还原本次 Agent modes 段落并保留 CSV 审计记录。" +R37-2,治理变更提交与审计留痕,提交 AGENTS 与治理 CSV 变更并使用中文 commit message 引用本 Issue ID,生成 1 个仅包含治理变更的 commit 且 git log 最新提交可见 Issue ID,"1) git diff --stat 确认仅含 AGENTS.md 与 issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv 2) git commit -m ""R37: 固化 Agent modes 治理规则"" 3) git log -1 --oneline",manual,DONE,DONE,DONE,AGENTS.md|issues/2026-03-28_12-36-28-r37-agent-modes-governance.csv,"[""R37-1""]","commit 仅承载治理变更;若提交前发现额外文件改动则先停止并重新确认范围。" +R37-3,下个真实迭代按新模式试跑并复盘,在后续一个同时涉及 backend frontend qa 的真实迭代中按新 Agent modes 跑一次并记录阻塞点,至少完成 1 次真实试跑 并能说明 handoff QA 回填 reviewer 触发条件是否顺畅,"1) 选择一个同时涉及 server/ 与 client/ 的真实 issue 组 2) 按 Agent modes 执行 3) 在 Notes 或后续治理 issue 中记录问题与修订建议",manual,TODO,TODO,TODO,TBD,"[""R37-2""]","待下个真实迭代落地;若涉及 Prisma 迁移 权限变更 状态机调整,执行 issue 的 Notes 必须包含回滚路径。"