48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
---
|
|||
|
|
name: compound
|
||
|
|
description: >
|
||
|
|
Sprint Quality Gate 通过后触发。提炼本 Sprint 学到的为结构化条目追加 lessons.md。
|
||
|
|
effort: xhigh
|
||
|
|
---
|
||
|
|
|
||
|
|
# /compound — 经验沉淀
|
||
|
|
|
||
|
|
Gate PASS 后触发 (或用户显式 `/compound`).
|
||
|
|
|
||
|
|
## 输入
|
||
|
|
|
||
|
|
- `.ai_state/details/reviews/sprint-N.md` (审查报告)
|
||
|
|
- `git diff` (本 Sprint 所有变更)
|
||
|
|
- `.ai_state/details/tasks-current.md` (完成项)
|
||
|
|
- `.ai_state/details/design.md` (设计 vs 实际实现对比)
|
||
|
|
|
||
|
|
## 提炼方法
|
||
|
|
|
||
|
|
从以上输入找**真实发现**, 不写仪式性废话。每 Sprint 0-N 条不强制。
|
||
|
|
|
||
|
|
- **Pattern**: 什么解法有效且可复用? (带代码行号 / 文件路径)
|
||
|
|
- **Pitfall**: 什么坑踩过? 未来同类场景要提前避开
|
||
|
|
- **Constraint**: 发现的新约束 (依赖版本、环境、性能边界、API 限制)
|
||
|
|
|
||
|
|
没发现可提炼的 → 不写, 直接告知用户 "no new lesson". **不允许编造**.
|
||
|
|
|
||
|
|
## 输出 (项目级)
|
||
|
|
|
||
|
|
追加到 `.ai_state/details/lessons.md` (append-only, 不修改历史).
|
||
|
|
|
||
|
|
格式见 `pace/templates/details/lessons.md`. **Athena 不做跨项目知识管理**——需要的话装 claude-mem 或 superpowers。
|
||
|
|
|
||
|
|
写入后同步更新 `_index.md`:
|
||
|
|
- `counts.lessons_lines` += 新增条目数 (按 `## ` 头计)
|
||
|
|
- `pointers.latest_lesson` = `details/lessons.md#L<新条目行号>`
|
||
|
|
- `fingerprints.lessons_mtime` = 当前时间戳
|
||
|
|
|
||
|
|
## 自检
|
||
|
|
|
||
|
|
写入后读回验证:
|
||
|
|
1. 条目有具体的文件/行号/版本引用 (不只是"要注意 X")
|
||
|
|
2. 一句话标题能让下次 R₀ 快速扫描命中
|
||
|
|
3. Pattern/Pitfall/Constraint 三段不强制全有, 但至少有一段
|
||
|
|
|
||
|
|
写完告知用户: "Lessons updated. Next sprint R₀ 会自动读取 (按 _index.md.pointers.latest_lesson 跳转)."
|