决策快照结构化落库 + 全触发路径覆盖 #79

Closed
opened 2026-07-27 05:36:05 +00:00 by KumaAgent · 0 comments
Member

Parent

#77 [PRD] arise 运营与质量(决策快照 + 六池成本治理 + 管理命令)—— ADR-0010 完整落地

What to build

把现在散落在各触发路径的 15 处非结构化 logger.debug 决策日志,收敛成一份结构化、可持久化、可查询的决策记录——让"它刚才为什么不理我"这件事第一次变成事后能查的,也让 ADR-0011"保守默认→决策快照录制回放"这条阈值标定路径第一次真正可用。

本片只做写入侧与存储侧;读取出口(/why)是后续 ticket 的范围。

Acceptance criteria

  • 新增结构化决策快照记录(存储 port 新切片,持久化),字段覆盖:chat_id、触发路径类型、时间、门控各级得分/阈值/裁决(既有 GateEvaluation 已完整产出这些,目前只被格式化成日志文本丢掉)、情感态三轴、沉默预算余量、命中的未决意图、注入的记忆条目标识、addressed_message_ids/skipped_message_ids
  • 记忆条目只存标识,不存内容副本——内容副本等于一份绕过既有敏感度分桶/知情-gate 治理的记忆影子拷贝,且条目被更新/删除后会变成谁也管不到的过期残留
  • 五条触发路径(反应式 / Drive Tick / tier-2 环境信号 / 即刻追问 / Callback 送回)产生的决策写快照,不存在某条路径静默跳过记录
  • 快照覆盖完整性建议用变异测试验一次(把某条路径的写入删掉,确认对应测试真的会挂)——防止写成"看起来覆盖了但断言恒成立"的空转测试
  • 新增静态 config 控制保留条数/时长(每次触发都写一条,无上限会无限增长);具体数字按 ADR-0011 惯例留实现期标定
  • 既有 logger.debug 决策日志不必全删(保留作运行时可观测性),但"事后能查"这个能力由结构化记录承担,不再依赖日志文本解析
  • 存储契约测试(CRUD + 保留策略),仿既有存储契约测试模式(内存版 + 持久化版共用同一套断言)

Blocked by

None — can start immediately

## Parent #77 [PRD] arise 运营与质量(决策快照 + 六池成本治理 + 管理命令)—— ADR-0010 完整落地 ## What to build 把现在散落在各触发路径的 15 处非结构化 `logger.debug` 决策日志,收敛成一份结构化、可持久化、可查询的决策记录——让"它刚才为什么不理我"这件事第一次变成事后能查的,也让 ADR-0011"保守默认→决策快照录制回放"这条阈值标定路径第一次真正可用。 本片只做写入侧与存储侧;读取出口(`/why`)是后续 ticket 的范围。 ## Acceptance criteria - [ ] 新增结构化决策快照记录(存储 port 新切片,持久化),字段覆盖:`chat_id`、触发路径类型、时间、门控各级得分/阈值/裁决(既有 `GateEvaluation` 已完整产出这些,目前只被格式化成日志文本丢掉)、情感态三轴、沉默预算余量、命中的未决意图、注入的记忆条目标识、`addressed_message_ids`/`skipped_message_ids` - [ ] **记忆条目只存标识,不存内容副本**——内容副本等于一份绕过既有敏感度分桶/知情-gate 治理的记忆影子拷贝,且条目被更新/删除后会变成谁也管不到的过期残留 - [ ] 五条触发路径(反应式 / Drive Tick / tier-2 环境信号 / 即刻追问 / Callback 送回)产生的决策**都**写快照,不存在某条路径静默跳过记录 - [ ] 快照覆盖完整性建议用变异测试验一次(把某条路径的写入删掉,确认对应测试真的会挂)——防止写成"看起来覆盖了但断言恒成立"的空转测试 - [ ] 新增静态 config 控制保留条数/时长(每次触发都写一条,无上限会无限增长);具体数字按 ADR-0011 惯例留实现期标定 - [ ] 既有 `logger.debug` 决策日志不必全删(保留作运行时可观测性),但"事后能查"这个能力由结构化记录承担,不再依赖日志文本解析 - [ ] 存储契约测试(CRUD + 保留策略),仿既有存储契约测试模式(内存版 + 持久化版共用同一套断言) ## Blocked by None — can start immediately
Yushu closed this issue 2026-07-27 09:52:40 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#79
No description provided.