决策日志记录器
Decision Logger (决策记录器)
双层记忆系统。第一层存储所有内容;第二层仅存储创始人批准的内容。未来的会议仅读取第二层——这可以防止过去辩论中产生的“幻觉共识”干扰新的审议。
关键词
决策日志, 记忆, 已批准决策, 待办事项, 董事会会议记录, /cs:decisions, /cs:review, 冲突检测, DO_NOT_RESURFACE快速上手
python scripts/decision_tracker.py --demo # 查看示例输出
python scripts/decision_tracker.py --summary # 概览 + 逾期项
python scripts/decision_tracker.py --overdue # 已过截止日期的事项
python scripts/decision_tracker.py --conflicts # 矛盾检测
python scripts/decision_tracker.py --owner "CTO" # 按负责人筛选
python scripts/decision_tracker.py --search "pricing" # 搜索决策---
命令
| 命令 | 效果 |
|---------|--------|
| /cs:decisions | 最近 10 条已批准的决策 |
| /cs:decisions --all | 完整历史记录 |
| /cs:decisions --owner CMO | 按负责人筛选 |
| /cs:decisions --topic pricing | 按关键词搜索 |
| /cs:review | 7 天内到期的待办事项 |
| /cs:review --overdue | 已逾期的事项 |
---
双层架构
存储遵循标准的双层决策记忆(参见 ../agent-protocol/SKILL.md $\rightarrow$ "Decision Memory (Canonical Layout)") —— 即 /cs:decide 写入的相同布局。
第一层 — 原始转录 (Raw Transcripts)
位置:~/.claude/decisions/raw/YYYY-MM-DD-<slug>.md
- 包含完整的第二阶段 Agent 贡献、第三阶段评议、第四阶段综合
- 所有辩论内容,包括被否决的论点
- 绝不自动加载。 仅在创始人明确要求时加载。
- 90 天后归档 $\rightarrow$
~/.claude/decisions/raw/archive/YYYY/
第二层 — 已批准决策 (Approved Decisions)
位置:~/.claude/decisions/approved/ —— 每项决策一个记录 (YYYY-MM-DD-<slug>.md) 以及一个仅限追加的索引文件 decisions.md
- 仅包含创始人批准的决策、待办事项和用户修正
- 在每次董事会会议的第一阶段自动加载
- 仅限追加。决策永远不会被删除,只会被取代。
- 由幕僚长 (Chief of Staff) 在第五阶段后管理。Agent 绝不能直接写入。
迁移:可能存在早期版本的旧 memory/board-meetings/ 文件夹;可读取其历史记录,但所有新条目必须写入 ~/.claude/decisions/。
---
决策条目格式
## [YYYY-MM-DD] — [议程项目标题]
决策: [对决策内容的清晰陈述。]
负责人: [一名人员或角色 —— 对执行负责。]
截止日期: [YYYY-MM-DD]
复盘日期: [YYYY-MM-DD]
理由: [为何选择此方案而非替代方案。1-2 句话。]
用户覆盖: [如果创始人更改了 Agent 的建议 —— 更改内容及原因。不适用则留空。]
被否决项:
- [提案] — [原因] [DO_NOT_RESURFACE]
待办事项:
- [ ] [事项] — 负责人: [姓名] — 截止日期: [YYYY-MM-DD] — 复盘日期: [YYYY-M
M-DD]
取代: [若有,填写此前关于同一主题的决定日期]
被取代: [若后续被覆盖,则追溯填写]
原始记录: ~/.claude/decisions/raw/[DATE]-<slug>.md
---
冲突检测
在记录之前,幕僚长(Chief of Staff)需检查:
1. DO_NOT_RESURFACE(禁止再次提出)违规 —— 新决定与此前被拒绝的提案匹配
2. 主题矛盾 —— 针对同一主题存在两个结论不同的有效决定
3. 负责人冲突 —— 同一项行动在不同决定中被分配给了不同的人
发现冲突时:
⚠️ 决定冲突
新项:[文本]
冲突项:[日期] — [现有文本]
选项:(1) 取代旧项 (2) 合并 (3) 提交创始人裁决
DO_NOT_RESURFACE 执行:🚫 已拦截:"[提案]" 已于 [日期] 被拒绝。原因:[原因]。
如需重新开启:创始人必须明确指示 "reopen [主题] from [日期]"。
---
记录工作流(第五阶段后)
1. 创始人批准综合结果
2. 写入第一层原始记录 $\rightarrow$ ~/.claude/decisions/raw/YYYY-MM-DD-<slug>.md
3. 对比 ~/.claude/decisions/approved/decisions.md 检查冲突
4. 呈报冲突 $\rightarrow$ 等待创始人解决
5. 将批准的记录写入 ~/.claude/decisions/approved/YYYY-MM-DD-<slug>.md 并追加至索引文件 decisions.md
6. 确认:决定已记录,行动已追踪,DO_NOT_RESURFACE 标记已添加
---
标记行动完成
- [x] [行动] — 负责人:[姓名] — 完成日期:[日期] — 结果:[一句话概括]
严禁删除已完成项。历史记录即是档案。
---
文件结构
---
参考资料
templates/decision-entry.md — 包含字段规则的单条记录模板
scripts/decision_tracker.py` — CLI 解析器、逾期追踪器、冲突检测器