Files
dev_harness/docs/task/13-多子项目与独立交付单元.md
T

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: 92b493258075739341d1591069f6c79b143965e7 synchronized_at: 2026-08-11T02:22:51Z

13 多子项目与独立交付单元

  • 类型:需求
  • 所属 Epic:无
  • 所属 MVP / 版本:无
  • 状态:已完成
  • 日期:2026-08-10
  • 验收日期:2026-08-11
  • 验收结果:用户明确验收通过
  • 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 两个交付单元填写职责、独立构建测试、版本发布和共享接口时,新增字段能够表达单端与跨端影响。
  • 未验证部分:未在真实多应用业务仓库执行接入或发布验证;该项不属于本工单范围。

相关提交

  • 4e1db45 docs: support multi-project delivery units (#13)