Files

69 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

2026-08-10 19:07:22 +08:00
<!-- gitea-wiki-mirror:start -->
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.-
2026-08-11 10:24:51 +08:00
wiki_revision: 92b493258075739341d1591069f6c79b143965e7
synchronized_at: 2026-08-11T02:22:51Z
2026-08-10 19:07:22 +08:00
<!-- gitea-wiki-mirror:end -->
# 13 多子项目与独立交付单元
- 类型:需求
- 所属 Epic:无
- 所属 MVP / 版本:无
2026-08-11 10:24:51 +08:00
- 状态:已完成
2026-08-10 19:07:22 +08:00
- 日期:2026-08-10
2026-08-11 10:24:51 +08:00
- 验收日期:2026-08-11
- 验收结果:用户明确验收通过
2026-08-10 19:07:22 +08:00
- Gitea 工单:http://ilaer.eicp.net:8418/opc/dev_harness/issues/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 两个交付单元填写职责、独立构建测试、版本发布和共享接口时,新增字段能够表达单端与跨端影响。
- **未验证部分**:未在真实多应用业务仓库执行接入或发布验证;该项不属于本工单范围。
## 相关提交
- `4e1db45` docs: support multi-project delivery units (#13)