chore(skill): memory-governance v1.0.1 追加 R1 校验器假阳性修复记录

- 记录双条件 AND 验证设计(integrity_markers + negation_markers)
- 记录单一 any() 导致'重新获取完整 key'误判为纠正性的教训
- 新增触发词:memory-verify 报 R1 警告
This commit is contained in:
小唯 A06 2026-09-01 09:01:43 +08:00
parent 26234996b5
commit 71ba1495ca
1 changed files with 26 additions and 4 deletions

View File

@ -1,12 +1,12 @@
---
name: memory-governance
description: 记忆治理 — 注入记忆(MEMORY/USER)预算管理 + 织忆淘汰 + 存储分层。触发词"记忆满"。
version: 1.0.0
version: 1.0.1
author: 小唯 A06
tags: [memory, governance, budget, zhiyi, consolidation]
trigger: "用户问记忆满/记忆优化/记忆怎么存memory add 报超限;需要决定一条事实放 MEMORY 还是织忆"
tags: [memory, governance, budget, zhiyi, consolidation, verification]
trigger: "用户问记忆满/记忆优化/记忆怎么存memory add 报超限;需要决定一条事实放 MEMORY 还是织忆memory-verify 报 R1 警告"
created: 2026-08-12
updated: 2026-08-12
updated: 2026-08-31
---
# 记忆治理Memory Governance
@ -129,3 +129,25 @@ memory(
**方法知识必须沉淀**织忆里只有零散过程记录episodes没有"找 key 先去 Obsidian key.md"这类方法知识procedural→ 每次都要用户提醒。**关键方法where/how要写成 distilled 或 skill不能只留事件记录**。
## 七、R1 校验器假阳性修复2026-08-31
**问题**`memory-verify.py` 的 R1 规则用 `any(correction_markers)` 判断纠正性内容,导致 MEMORY 段 #11Agnes key 51字符完整版被误报——"完整版"不在 correction_markers 列表里,但内容实际是纠正性("显示层脱敏"+"从未失效")。
**修复**`memory-verify.py` 第 67-72 行,拆为双条件 AND
- `integrity_markers`完整性完整key/完整版/完整密钥/从未失效/未失效/实际长度
- `negation_markers`(否定性):≠/不等于/显示脱敏/存储脱敏/别误判/不是存储/未丢失/从未失效/未失效
- `is_correction = any(integrity) and any(negation)` — 必须同时命中两组才判为纠正性
**为什么这样做**
- 单一 `any()` 太宽松:`"重新获取完整 key"` 只有 integrity 词,无 negation 词 → 不会误判为纠正
- 双重条件确保:"显示脱敏≠存储脱敏文件是完整key" 这类真正纠正内容才能通过
**反向测试**`"AGNES_API_KEY=sk-7k9...2ikW 是脱敏的丢失了,需要重新获取"` → R1 正确报警(含 sk- 模式+脱敏词,无 negation 词)。
**修复 commit**
- `b3ad24b` 第一次修复(拆双条件)
- `b3ad24b+1` 追加 `从未失效` 到 negation_markers#11 含此词)
**教训**R1 规则必须同时满足"完整性词"+"否定词",不能单靠任何一组判定为纠正性内容。