| 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 = 当前时间戳
自检
写入后读回验证:
- 条目有具体的文件/行号/版本引用 (不只是"要注意 X")
- 一句话标题能让下次 R₀ 快速扫描命中
- Pattern/Pitfall/Constraint 三段不强制全有, 但至少有一段
写完告知用户: "Lessons updated. Next sprint R₀ 会自动读取 (按 _index.md.pointers.latest_lesson 跳转)."