docs(rules): 补充多阶段项目约束与更新规则说明

新增开发流程约束文档dev-workflow.md,完善self-driven.md中的多阶段项目规则,
补充阶段迭代、收尾的判定逻辑,修正目标达成的暂停条件说明
This commit is contained in:
2026-07-06 21:16:07 +08:00
parent 7a87a4177e
commit d493c6233e
2 changed files with 42 additions and 2 deletions
+23
View File
@@ -0,0 +1,23 @@
# 开发流程约束
本规则补充 `self-driven.md`,定义执行过程记录与规则变更的两条硬约束。
## 执行过程记录
- **每次迭代**(一个完整的"计划 → 实现 → 测试 → 文档 → 验证"闭环)必须记录到
`.trae/docs/` 目录,文件名形如 `iter-NN-<主题>.md``NN` 为零填充序号。
- 记录内容至少包括:本轮目标、改动文件清单、关键决策与依据、验证结果、遗留事项。
- **每 5 次迭代后**清理 `.trae/docs/`
- 把需要长期保留的整合性内容(可复用模式、踩坑总结、设计决策)
归档到 `.trae/skills/` 对应技能文档中;
- 其余过程性记录删除;
- docs 目录只保留最近未归档的迭代记录(即第 6 次迭代开始前,清理 1–5 号记录)。
- 归档动作需在迭代记录中标注"已归档至 skills/<文件>"。
## 规则变更约束
- 任何对 `.trae/rules/` 下文件的修改(新增、编辑、删除)**必须先询问用户**,
获得明确授权后方可变动;**未授权前不得擅自修改 rules**。
- 用户在对话中显式要求写入的规则内容(如"把 X 写入 rules")视为已授权,
可直接写入,写入后在回复中说明改了哪个文件、加了什么。
- 规则变更后需同步更新 `project_memory.md` 中的"开发约定"小节。
+19 -2
View File
@@ -73,6 +73,22 @@ alwaysApply: true
- 全套门禁通过:ruff、pyrefly、pytest、coverage。
- 给出本轮变更清单(改了哪些文件、为什么)。
## 多阶段项目
当项目按阶段(P0/P1/P2/...)划分时,初始确认的目标是**整个项目**,而非单个阶段。
- **阶段是里程碑,不是边界**:确认"推进 P1"只是指定下一步重点,不缩小整体目标范围;
也不意味着 P1 完成后就可以停下。整体目标 = 所有阶段交付完毕。
- **阶段完成不是停止条件**:某阶段验收标准全部满足后,**自动进入下一阶段的「计划」步骤**,
不停下来输出"是否继续"或"是否扩展范围"的询问。仅在阶段切换时用一句话说明
"进入 Pn,重点:…",然后继续自驱动迭代。
- **「收尾」仅适用于整个项目完成**:只有所有阶段(含最后一个)都交付后,才执行
「收尾」输出最终总结。单阶段完成 → 进入下一阶段的「计划」,不触发收尾。
- **跨阶段依赖**:若下一阶段依赖外部资源(如新依赖审批、环境配置),属"不可恢复的失败"
暂停条件;否则一律连续推进。
- **阶段范围超出预期**:执行中发现某阶段需要显著扩大范围或改变方向(如 P2 本来只做
表格抽取,发现必须先重写 IR),属"超出初始确认范围"暂停条件,需找用户确认。
## 暂停条件(仅在以下情况中断自驱动找用户)
1. **歧义无法自决**:需求存在多种合理解读且无既有约定可循。
@@ -81,7 +97,7 @@ alwaysApply: true
4. **超出初始确认范围**:用户目标在执行中发现需要显著扩大范围或改变方向。
5. **用户主动询问**:用户在对话中提出新问题或要求澄清。
**注意**"目标已达成"**不是**暂停条件——验收标准全部满足后直接进入收尾并结束任务,不询问"是否扩展范围"或"是否提交"
**注意**"目标已达成"**不是**暂停条件——但"目标已达成"指**整个项目目标**(所有阶段交付完毕),而非单个阶段验收满足。单阶段验收满足后应自动进入下一阶段(见「多阶段项目」),不触发收尾
非以上情况,一律继续自驱动,不要为"求确认"而暂停。
@@ -128,7 +144,8 @@ alwaysApply: true
## 收尾
- 验收标准全部满足后,**直接输出最终总结并结束任务**交付物、关键决策、遗留事项。
- **仅当整个项目所有阶段都交付后**,才执行收尾:直接输出最终总结并结束任务交付物、关键决策、遗留事项
- 单阶段完成**不属于收尾**——见「多阶段项目」,应自动进入下一阶段的「计划」。
- **自动提交**:收尾时自动 `git add`(按文件名)+ `git commit`(遵循 `.trae/rules/git-commit-message.md` 风格)+ `git push`(仅当分支已跟踪远程时执行;新分支跳过 push 并在总结中说明);**不询问**"是否需要提交"或"是否扩展范围"。
- 若验收标准未全部满足,回到「计划」继续下一轮,不停下询问。
- 将本次会话的关键产出与决策更新到 memory,便于后续会话续接。