Add docs/agent-handoff (backlog, execution state, verification, platform plan, per-task evidence), repo AGENTS.md, and architecture notes updated for the dual-renderer design.
4.3 KiB
4.3 KiB
haocode 维修交接入口
执行状态:当
EXECUTION_STATE.md的状态为ACTIVE时,任何继续执行、上下文恢复或压缩恢复都必须先读取该文件。
本目录是 2026-09-16 之后的维修与跨平台工作的唯一交接入口。当前交付固化事实、决策、任务和验收方式;业务代码修复已按 REPAIR_BACKLOG.md 状态表推进(任务完成状态以该表和 EXECUTION_STATE.md 为准)。
精确实现仍以源码和可重复测试为准。若本文档与源码冲突,先记录证据,再修正文档;不要用旧文档覆盖已经核实的代码事实。
强制读取顺序
后续 Agent 必须从仓库根目录开始,按以下顺序读取:
AGENTS.mddocs/agent-handoff/README.md(本文件)- 根据任务类型,只读取下表对应的文档
| 触发条件 | 接着读取 | 用途 |
|---|---|---|
| 准备领取或实施修复任务 | REPAIR_BACKLOG.md |
任务顺序、允许范围、禁止事项、完成条件 |
| 涉及 Windows/Linux、渲染器、shell、热键或截图 | PLATFORM_PLAN.md |
已冻结的跨平台契约 |
| 涉及测试、诊断脚本或验收 | VERIFICATION.md |
分层测试矩阵与证据要求 |
| 需要了解目录、命名、模块边界或技术债 | CURRENT_STATE.md |
已核实的当前状态 |
不要从 readme.md、Frame.md 或 ARCHITECTURE.md 开始。这三份文件只能作为历史背景;其中的路径、打包说明和完成状态可能已经失效。第三方提供的《haocode 修复需求》也不是事实源,其中只有经源码核验并写入 REPAIR_BACKLOG.md 的内容有效。
永久操作约束
- 将
data/config.json视为不透明的本机密钥文件。不得打开、读取、搜索、打印、复制、修改或让它进入 Agent 上下文;任何递归内容搜索都必须排除它。 - 测试必须使用临时配置和临时数据库,并在导入
MainWindow前完成重定向(统一用tests/_test_env.py的isolate())。自 P0-01 起所有运行时配置读取统一走core/config_paths(HAOCODE_CONFIG_FILE优先);少数 GUI 测试脚本(如smoke_offscreen.py)自身不设置该环境变量,独立运行时由环境注入临时配置,P2-04 聚合入口将按子进程强制注入。 - 不初始化 Git,不伪造提交历史。任务按可独立提交的粒度编写,等仓库以后具备 Git 历史再逐项提交。
- 不引入 WebKitGTK。Windows 使用 WebView2(首选)或 QtWebEngine(回退);Linux 只使用 QtWebEngine。
- 不新增 Agent shell 沙箱、审批或路径边界;Chromium 渲染进程的 sandbox 保持默认开启。
- 不拆分或移动现有模块,不借修 bug 增加新产品功能。允许修改确认错误的源码,并新增聚焦测试、平台适配器、文档和配置样例。
- 本阶段以 Windows/Linux 源码运行正确为目标;PyInstaller、安装器、AppData/XDG 目录迁移和发行包是下一阶段。
- 不比较或移植 Claude Code、Codex、Grok Build、DeepSeek Harness。当前
core/agent/继续保持 pi 的 Python 移植定位。
文档职责
CURRENT_STATE.md只记录已经从仓库核实的事实与结构/命名结论。PLATFORM_PLAN.md是平台行为的唯一决策源。REPAIR_BACKLOG.md是工作拆分和改动边界的唯一决策源。VERIFICATION.md是测试命令、平台矩阵和验收证据的唯一决策源。EXECUTION_STATE.md是无人值守执行与上下文压缩后的唯一恢复入口;任务权威状态仍以REPAIR_BACKLOG.md为准,执行证据放evidence/。
同一规则不要在多份文件中复制扩写。需要变更决策时,先修改其唯一归属文档,再更新这里的路由;不要在实现过程中悄悄改变范围。
领取任务
- 从
REPAIR_BACKLOG.md选择一个未完成任务 ID。 - 只读取该任务列出的源码和它引用的规范文档。
- 先建立最小复现或失败测试,再修改允许范围内的文件。
- 运行任务的聚焦测试;阶段结束时再运行
VERIFICATION.md指定的完整自动化集合。 - 记录实际命令、结果和平台证据。没有运行的测试必须明确写“未运行”,不能按通过处理。
任务完成的含义是:行为、回归测试、平台适用性和文档中的完成条件全部满足。只提交代码或只写说明都不算完成。