# 文件路由矩阵

## 总原则

归档时必须遵循：

1. 优先识别项目
2. 若可识别项目，优先写入项目 initiative 目录
3. 再按材料类型决定具体文件
4. 若无法识别项目，则不归档，并返回：
   `信息不足，暂不归档；请补充 project-id 或项目名称。`

项目基础路径：

`/root/ai-company/memory/ai-org-memory/teams/team-alpha/initiatives/<project-id>/`

---

## 1. context.md

适合写入：

- 项目目标
- 项目背景
- 用户价值
- 范围定义
- 非目标
- 已澄清的核心约束
- 对项目理解的更新

典型材料来源：

- 用户补充说明
- 产品范围澄清
- 项目启动阶段材料
- 飞书会议中关于“这个项目到底要做什么”的确认内容

不适合写入：

- 每日进展
- 临时问题
- 验收结果
- 细碎聊天

---

## 2. roadmap.md

适合写入：

- 阶段划分
- 里程碑安排
- 下一步推进顺序
- M0-M6 的阶段进展概览
- 第二阶段或后续迭代规划

典型材料来源：

- 阶段计划讨论
- PM 的推进方案
- M1/M2/M3 等阶段规划结果
- 封盘后下一阶段建议

不适合写入：

- 具体缺陷清单
- 单条决策细节
- 原始聊天纪要

---

## 3. reports.md

适合写入：

- M0-M6 阶段汇报
- 本轮完成情况
- 当前状态
- 本轮修改内容
- 本轮交付结果
- 构建/运行/验收状态
- 项目封盘说明

典型材料来源：

- 项目群里的阶段汇总
- PM 汇总后的进度结果
- QA 验收结果摘要
- DEV 实现完成情况摘要

这是最常用的归档文件之一。

---

## 4. decisions.md

适合写入：

- 关键取舍
- 范围锁定结论
- 技术路线决定
- 是否继续/暂停/终止的结论
- 明确的 go / no-go 判断

典型材料来源：

- 产品边界确认
- 技术方案选择
- 用户确认后的正式决定
- 项目阶段中的关键决策记录

不适合写入：

- 模糊讨论
- 尚未确认的备选想法
- 纯过程性噪音

---

## 5. risks.md

适合写入：

- 已识别风险
- 阻塞问题
- 依赖问题
- 边界不清导致的潜在问题
- 需要后续持续关注的质量风险

典型材料来源：

- QA 风险提示
- PM 的 blocker 汇总
- 需求不清、路径错误、目录污染等风险
- 后续迭代前的注意事项

不适合写入：

- 已彻底关闭且没有复用价值的临时小问题

---

## 6. lessons

目标路径：

`/root/ai-company/memory/ai-org-memory/lessons/team-alpha/`

适合写入：

- 项目中暴露出的可复用经验
- 执行流程上的共性问题
- 下次项目应避免的错误
- 团队级经验总结

典型材料来源：

- M6 复盘
- 多轮项目推进中的共性问题
- 可明确总结为“今后应该怎么做”的结论

例如：

- 启动前必须先区分知识库路径与代码目录
- 不应把工程初始化到 memory repo 中
- 先锁边界再做实现

---

## 7. engineering-standards

目标文件：

`/root/ai-company/memory/ai-org-memory/company/engineering-standards.md`

适合写入：

- 跨项目长期适用的工程规则
- 具有普遍约束意义的开发规范
- 明确可减少未来错误的工程标准

典型来源：

- 经多个项目验证后的稳定规则
- 已经不只是 Team Alpha 项目经验，而是适合组织层面长期执行的规则

不适合写入：

- 单项目特例
- 临时 workaround
- 偶发性问题
- 尚未验证通用性的经验

---

## 8. 决策优先级示例

### 示例 A：阶段完成总结
输入：
- “todo-web 已完成 M3，已实现输入、列表、状态切换，npm run build 通过”

应优先写入：
- `reports.md`

### 示例 B：产品范围澄清
输入：
- “M1 只保留新增、展示、编辑、删除、状态切换、基础筛选；不做账号、协作、提醒、统计、拖拽、云同步”

应优先写入：
- `context.md`
- `decisions.md`

### 示例 C：路径踩坑经验
输入：
- “项目启动前必须区分知识库归档路径和正式代码目录，禁止把工程脚手架初始化到知识库路径下”

应优先写入：
- `lessons/...`

若未来被多个项目反复验证，可再考虑升级为：
- `engineering-standards.md`

### 示例 D：项目风险
输入：
- “正式代码目录仍存在历史文件痕迹未清理”

应优先写入：
- `risks.md`

---

## 9. 来源只是参考，不是最终决定依据

来源可以帮助判断，但不是最终路由依据。

例如：

- 飞书会议纪要  
  可能写入 `context.md`、`decisions.md`、`risks.md`、`reports.md`
- 项目群阶段汇总  
  常写入 `reports.md`
- 用户临时补充说明  
  可能写入 `context.md` 或 `decisions.md`

最终应由：

1. 项目归属
2. 材料类型
3. 长期价值

共同决定目标文件。