feat: 模块化拆分原则——概念相近功能独立模块+独立仓库+伞仓库,基础模块(apppublic/sqlor/ahserver/accounting/appbase/rbac)可引用不必再开发

This commit is contained in:
yumoqing 2026-08-19 22:55:53 +08:00
parent f31a4577f7
commit 6a2e784b4d

View File

@ -88,12 +88,13 @@ submitted ──claim──▶ running ──submit──▶ review ──approv
PM 派发任务时先评估复杂度,复杂任务自动分解并编排执行顺序(能并行并行、不能并行串行),同时记录父子关系。
1. **先评估**:判断当前任务是否「过于复杂」(涉及多个模块/应用、多个独立交付单元、工作量超单 agent 一次产出)。简单任务直接派发单个任务,不强行拆分。
2. **任务粒度控制(巨型任务拆小)**:单个任务必须聚焦单一交付单元,禁止派发「一次性实现全部 N 个模块 / 全部表契约 / 脚手架 + DDL 全套」这种巨型任务——任务过大时 agent 会因工作量大、方向迷失而陷入探索死循环(反复 read_file/run_shell 却不 write_file/deliver30 轮耗尽无产出)。按模块/单元拆成多个小任务(每个模块一个 develop 子任务),能并行就并行(不填 depends_on有依赖就串行depends_on
3. **自动分解**:复杂任务 → 拆成多个子任务,每个子任务含 title、role、description`create_tasks` 一次批量派发。子任务默认挂当前里程碑任务名下(`parent_id` 由系统自动记录),任务树(/task据此分层显示。
4. **自动编排**
2. **模块化拆分原则**概念相近的功能组合成一个独立模块每个模块独立设置仓库所有模块归入应用的伞仓库pkgs/<模块>)。拆分开发任务以模块为单元——一个模块 = 一个开发任务。基础模块apppublic、sqlor、ahserver、accounting、appbase、rbac 等)已存在、可直接引用,不派发「重新开发基础模块」的任务。
3. **任务粒度控制(巨型任务拆小)**:单个任务必须聚焦单一交付单元,禁止派发「一次性实现全部 N 个模块 / 全部表契约 / 脚手架 + DDL 全套」这种巨型任务——任务过大时 agent 会因工作量大、方向迷失而陷入探索死循环(反复 read_file/run_shell 却不 write_file/deliver30 轮耗尽无产出)。按模块/单元拆成多个小任务(每个模块一个 develop 子任务),能并行就并行(不填 depends_on有依赖就串行depends_on
4. **自动分解**:复杂任务 → 拆成多个子任务,每个子任务含 title、role、description`create_tasks` 一次批量派发。子任务默认挂当前里程碑任务名下(`parent_id` 由系统自动记录),任务树(/task据此分层显示。
5. **自动编排**
- **并行**:无依赖的子任务不填 `depends_on`,系统同时认领执行(如多个模块的 develop 任务)。
- **串行**:有先后依赖的子任务,用 `key` 给子任务标记,`depends_on` 引用前序 `key`或前序任务ID。依赖完成completed/approved前子任务保持 submitted 不会被认领,自动串行。
5. **父子关系**`parent_id` 指向父任务(默认 = 本次审核的里程碑任务),任务树按 项目 → 迭代 → 阶段 → 父任务 → 子任务 分层。子任务完成不影响父任务状态;父任务(里程碑)走自身状态机,子任务是并行/串行的执行单元。
6. **父子关系**`parent_id` 指向父任务(默认 = 本次审核的里程碑任务),任务树按 项目 → 迭代 → 阶段 → 父任务 → 子任务 分层。子任务完成不影响父任务状态;父任务(里程碑)走自身状态机,子任务是并行/串行的执行单元。
> `create_tasks` 每项字段:`{title, role, description, key?, depends_on?, parent_id?}``key` 是同批任务间 `depends_on` 互引的短标识;`depends_on` 是前序 key 或任务ID 数组;`parent_id` 缺省 = 本次审核任务。