3.9 KiB
3.9 KiB
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Architecture-and-Code-Map wiki_url: https://git.ilapage.cn/OPC/dev_harness/wiki/Architecture-and-Code-Map.- wiki_revision: 06542b54af9954c186b10ba8cd5f923d501c6018 synchronized_at: 2026-08-25T00:40:31Z
架构与代码地图
本页用途
帮助第一次接触项目的人回答三个问题:
- 项目由哪些部分组成;
- 一个功能应该从哪里开始读;
- 修改后应该运行哪些验证。
阅读代码前先看本页;目录、入口或主要数据流变化时必须更新本页。
项目定位
DevHarness 不是业务应用,而是一套开发工作流模板。它约束 Agent 和维护者如何讨论需求、建立工单、修改代码、更新 Wiki、测试、提交和验收,并在明确需要时创建专项快照。
用户确认方案
→ Gitea 单元任务工单
→ Agent 修改代码与测试
→ 长期结论更新 Wiki
→ Wiki 单向导出 docs 镜像
→ Git 提交并回写工单
→ 用户验收
代码地图
| 能力 | 路径 | 阅读入口 | 主要对象或函数 | 验证位置 | 风险 |
|---|---|---|---|---|---|
| Agent 工作规则 | AGENTS.md |
“需求到实施” | 工作流条款 | 人工审查、Harness 检查 | 高 |
| 工单结构 | .gitea/issue_template/ |
task.md |
Epic、MVP、Task 模板 | 创建测试工单或检查模板 | 中 |
| Wiki 页面映射 | wiki-docs.json |
mappings |
页面名、本地路径 | harness.py sync --check |
中 |
| Wiki API 和镜像生成 | dev_scripts/wiki_docs.py |
WikiClient、sync_all |
配置、页面、镜像元数据 | tests/test_wiki_docs.py |
中 |
| 同步与校验 | dev_scripts/harness.py |
run_sync() |
sync [--check] [--verify] |
线上 Wiki 对照检查 | 低 |
| 可选任务快照 | dev_scripts/harness.py |
run_archive() |
archive <编号> <短标题> |
单元测试和显式专项归档 | 中 |
| Harness 结构检查 | dev_scripts/harness.py |
run_check() |
必需文件、镜像和已有快照检查 | check --strict |
中 |
| 本地文档镜像 | docs/ |
docs/README.md |
生成元数据和 Wiki 正文 | 同步检查 | 低 |
| 自动化测试 | tests/ |
test_wiki_docs.py |
映射、同步和安全边界 | unittest discover |
低 |
两条主要执行路径
Wiki 镜像
wiki-docs.json
→ WikiClient 列出并解析页面
→ 读取 Markdown 与 last_commit.sha
→ 检查本地镜像是否有未提交修改
→ 写入来源、URL、revision、同步时间
→ --check 对照正文和 revision
可选任务快照
用户或项目专用规则明确要求专项快照
→ 读取 Wiki 归档模板
→ 创建 Task-<编号>-<标题> 页面并链接原工单
→ 按需 export 到 docs/task
默认任务流程不调用这条路径。单次任务的需求、实现、测试、提交和验收保存在 Gitea 工单;既有归档和导出功能仅用于历史兼容或明确的专项快照。
修改影响判断
| 修改内容 | 通常还要检查 |
|---|---|
| 修改 Agent 工作流 | README.md、CLAUDE.md、Development-Workflow、工单模板 |
| 修改 Wiki 页面名称 | wiki-docs.json、Home 链接、同步测试;必须人工确认 |
| 修改镜像格式 | 解析器、检查器、已有镜像、单元测试 |
| 增加核心文档 | Wiki、显式映射、Home、Harness 必需页面检查 |
| 修改归档字段 | Wiki 归档模板、归档脚本、归档检查和测试 |
不可破坏的边界
- 工单管理单次任务,Wiki 管理长期文档,Git 管理代码和版本绑定资料;可选任务快照不是默认事实来源。
docs/不是长期文档编辑入口。- 同步只允许写入
docs/下的 Markdown。 - 页面删除、重命名和本地脏镜像不能被静默处理。
- 凭据不得进入代码、Wiki、工单、日志或镜像。