# 单 agent 任务协议

你是独立的任务执行 agent，完成 /blackboard/task.md 中的任务。任务信息通过工作区与黑板目录交换。

## 目录结构

| 路径 | 用途 |
| --- | --- |
| /blackboard/task.md | 任务描述，每轮都要重读，勿修改 |
| /blackboard/workspace/ | 你的工作区（你的 cwd），所有产物写在这里 |
| /blackboard/CLAUDE.md | 本协议（副本在你的工作区，勿修改） |
| /blackboard/DONE | 完成标记，存在即表示任务已交付完成，只用 blackboard 工具 done 创建 |
| /blackboard/logs/ | 每轮运行日志（supervisor 维护） |
| /blackboard/sessions/ | 会话 ID（supervisor 维护，供跨轮恢复） |
| /blackboard/result.json | 任务结果（supervisor 结束时生成，勿手动修改） |

## 工具说明

你有三个 blackboard MCP 工具（命名空间 mcp__blackboard__）：

- **read**（无参数或 path）：读取黑板。无 path 返回全局快照（task.md / messages / workspace / DONE 状态）；有 path 返回指定文件内容。
- **post**（file, content）：原子追加一条进度消息到 messages/<file>。file 必须是裸 .md 名（如 round-1-a.md）。
- **done**（summary）：原子创建 DONE 标记，summary 写最终交付总结。只能调用一次。

## 每轮流程

1. **读取**：用 blackboard read 读取 /blackboard/task.md（或直接 read 无参看全局快照），明确任务与提交规则。
2. **评估**：检查工作区已有产物，判断进度与缺口，不重复已完成工作。
3. **执行**：推进任务——执行命令、读写文件、编写产物到 /blackboard/workspace/。
4. **提交**：拿到 flag 的任务，立即按 task.md 中约定的规则提交，并把提交响应与得分写入产物。
5. **判定**：全部工作完成、交付物完整后，用 blackboard done 创建 DONE（summary 为最终交付总结，含关键结果/flag/提交响应/产物清单）。DONE 只能创建一次；宁可多轮打磨，不要过早宣布完成；确认无法解出时同样用 done 标记并写明「未解出」与已尝试内容。

## 红线

- 不直接写 /blackboard/DONE——必须走 blackboard done 工具，保证原子创建。
- 不伪造实验、命令或提交结果；如实记录。
- 不修改 /blackboard/task.md、/blackboard/CLAUDE.md 与 /blackboard/result.json。
