- wire SQLite control-plane access/session paths into Rust web local-folder routes - preserve local Markdown attachment semantics across upload, reload, and secondary-pane resource tabs - refresh design governance docs, Reasonix task templates, and bug records - retire root .mcp.json local MCP config
137 lines
3.2 KiB
Markdown
137 lines
3.2 KiB
Markdown
# [reference] mnote-dev-squad 协作协议 v1
|
||
|
||
## 目的
|
||
|
||
把 mnote 开发固定为一个轻量协作组:Hermes 主控,多个 Codex worker 在独立 worktree 实现,Reasonix flash 做真实浏览器 smoke,每个环节都用 Markdown 交接。
|
||
|
||
本协议不使用 Codex harness;不允许多个写入型 agent 同时改同一个 checkout。
|
||
|
||
## 角色
|
||
|
||
### Hermes 主控
|
||
|
||
- 读取 mnote 当前设计与 AGENTS.md。
|
||
- 拆分任务 lane。
|
||
- 创建 run 目录与 task/result/smoke/review Markdown。
|
||
- 创建或指定 Codex worktree。
|
||
- 启动/观察 Codex worker。
|
||
- 启动 Reasonix smoke。
|
||
- 阅读 RESULT.md、SMOKE.md、git diff 后做合并裁决。
|
||
|
||
### Codex worker
|
||
|
||
- 一个 worker 只负责一个 lane。
|
||
- 一个 worker 只在自己的 worktree 中写入。
|
||
- 默认不提交、不推送、不改允许范围外文件。
|
||
- 必须输出 RESULT.md。
|
||
|
||
### Reasonix smoke tester
|
||
|
||
- 默认使用 Reasonix flash。
|
||
- 负责真实浏览器 smoke、截图、console、final URL、可见文本证据。
|
||
- 默认不改代码。
|
||
- 必须输出 SMOKE.md。
|
||
|
||
### Reviewer / 仲裁
|
||
|
||
- 默认由 Hermes + 主控 Codex完成。
|
||
- 有争议时升级到 gpt-5.5 或更强模型。
|
||
|
||
## 目录约定
|
||
|
||
每轮协作创建:
|
||
|
||
```text
|
||
/mnt/Data1T/mnote/tmp/agent-runs/<run-id>/
|
||
PLAN.md
|
||
codex-<lane>/TASK.md
|
||
codex-<lane>/RESULT.md
|
||
smoke/SMOKE.md
|
||
REVIEW.md
|
||
```
|
||
|
||
模板位于:
|
||
|
||
```text
|
||
/mnt/Data1T/mnote/.agent-templates/task.md
|
||
/mnt/Data1T/mnote/.agent-templates/result.md
|
||
/mnt/Data1T/mnote/.agent-templates/smoke.md
|
||
/mnt/Data1T/mnote/.agent-templates/review.md
|
||
```
|
||
|
||
## Worktree 约定
|
||
|
||
Codex worker 使用独立 worktree,例如:
|
||
|
||
```text
|
||
/mnt/Data1T/mnote-wt-<lane>-<YYYYMMDD-HHMM>
|
||
```
|
||
|
||
推荐 lane:
|
||
|
||
- `rust-kernel`
|
||
- `mnote-web`
|
||
- `tree-domain`
|
||
- `editor-interaction`
|
||
- `onlyoffice`
|
||
- `ai-runtime`
|
||
- `docs-review`
|
||
- `qa-smoke`
|
||
|
||
## Ownership 规则
|
||
|
||
每个 TASK.md 必须写清:
|
||
|
||
- 允许修改范围
|
||
- 禁止修改范围
|
||
- 验收命令
|
||
- 交付物路径
|
||
|
||
若两个 lane 需要改同一个核心文件,必须停下来由 Hermes 重新拆分或指定唯一 owner。
|
||
|
||
## 交付标准
|
||
|
||
Codex worker 完成不等于可合并。可合并必须满足:
|
||
|
||
1. RESULT.md 存在。
|
||
2. 修改文件符合 ownership。
|
||
3. 验证命令已执行或明确说明阻塞原因。
|
||
4. Reasonix smoke 已完成,或明确说明该任务不需要浏览器 smoke。
|
||
5. Hermes / reviewer 已读 diff。
|
||
|
||
## Smoke 标准
|
||
|
||
涉及 UI、文档页、编辑器、树、拖拽、选择、hover、click、快捷键等,SMOKE.md 必须包含:
|
||
|
||
- 测试 URL / 环境
|
||
- 浏览器动作
|
||
- final URL
|
||
- screenshot 路径
|
||
- console error 数量
|
||
- PASS / FAIL
|
||
- 问题与复现步骤
|
||
|
||
块编辑器验收中,hover / click / drag / select 是强制步骤;缺任一步只能算未完成验收。
|
||
|
||
## 升级规则
|
||
|
||
升级到 gpt-5.5 / 主控 Codex 深度复核的情况:
|
||
|
||
- Reasonix smoke 与 Codex 结论冲突。
|
||
- smoke evidence 不足。
|
||
- 失败原因涉及架构边界。
|
||
- 涉及 AGENTS.md 中的长期方向判断。
|
||
- 需要合并多个 worktree 的重叠改动。
|
||
|
||
## 回收规则
|
||
|
||
旧 worktree、失败 worktree、临时实验目录优先软删除到 recycle,不直接硬删。
|
||
|
||
推荐:
|
||
|
||
```text
|
||
/mnt/Data1T/recycle/<reason>-<timestamp>/
|
||
```
|
||
|
||
保留 MANIFEST 或 README,说明来源与恢复方法。
|