3.6 KiB
3.6 KiB
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-13-多子项目与独立交付单元 wiki_url: http://ilaer.eicp.net:8418/opc/dev_harness/wiki/Task-13-%E5%A4%9A%E5%AD%90%E9%A1%B9%E7%9B%AE%E4%B8%8E%E7%8B%AC%E7%AB%8B%E4%BA%A4%E4%BB%98%E5%8D%95%E5%85%83.- wiki_revision: 6f20d2a94d681f754d499a129981df1979063f7a synchronized_at: 2026-08-10T11:08:27Z
13 多子项目与独立交付单元
- 类型:需求
- 所属 Epic:无
- 所属 MVP / 版本:无
- 状态:待验收
- 日期:2026-08-10
- Gitea 工单:#13
- Wiki 页面:Task-13-多子项目与独立交付单元
- Wiki revision:见本地镜像头
背景与目标
DevHarness 需要兼容一个 Git 仓库包含多个终端、服务或其他独立交付单元的项目。目标是在不引入 monorepo 框架、不自动拆仓的前提下,让项目档案、任务范围和接入指南明确每个子项目的职责、构建测试、版本发布、规则入口及共享契约边界。
最终方案
- Project-Profile 增加“子项目与交付单元”表格,记录职责、技术栈、构建测试、版本发布、规则入口和共享边界。
- 新项目初始化流程先识别全部子项目与独立交付单元,并指定共享契约的唯一事实来源。
- 已有项目接入指南增加多应用单仓库判断:技术栈不同本身不要求拆仓;按团队、权限、发布周期、仓库效率、复用关系和契约稳定性决定是否拆分。
- 单元任务模板增加“子项目影响”,强制记录单端或跨端范围、共享契约变化及各端验证。
- Harness 严格检查上述核心章节与模板字段,并增加对应单元测试。
- 未增加 monorepo 工具、自动拆仓或迁移、统一版本机制、CI 生成器,也未修改实际业务项目。
修改文件
.gitea/issue_template/task.md:增加子项目影响字段。dev_scripts/check_harness.py:检查多子项目核心文档结构和任务模板字段。tests/test_harness_docs.py:增加任务模板子项目影响测试。docs/00-project-profile.md:镜像项目档案的子项目与交付单元定义。docs/07-new-project-documentation-setup.md:镜像新项目识别交付单元的初始化步骤。docs/08-existing-project-adoption.md:镜像多应用单仓库判断与最小规则。
验收结果
| 验收标准 | 结果 |
|---|---|
| 项目档案可记录每个子项目和独立交付单元 | 通过 |
| 新项目和已有项目指南说明多应用单仓库的判断规则 | 通过 |
| 单元任务模板明确子项目、跨项目和共享契约影响 | 通过 |
| 共享契约要求指定唯一事实来源和各端验证 | 通过 |
| 严格检查、单元测试和 Wiki 镜像检查通过 | 通过 |
| 不引入拆仓自动化或修改实际业务项目 | 通过 |
测试
- 执行命令:
python dev_scripts/check_harness.py --strict - 结果:通过。
- 执行命令:
python -m unittest discover -s tests -v - 结果:24 项测试全部通过。
- 执行命令:
python dev_scripts/sync_wiki_docs.py --check - 结果:归档前 25 份 Wiki 镜像全部一致。
- 人工示例检查:以 Client 与 Admin 两个交付单元填写职责、独立构建测试、版本发布和共享接口时,新增字段能够表达单端与跨端影响。
- 未验证部分:未在真实多应用业务仓库执行接入或发布验证;该项不属于本工单范围。
相关提交
4e1db45docs: support multi-project delivery units (#13)