记忆信任等级
wesgine 记忆系统的信任等级分类及其对 GC 和冲突解决的影响。
五级信任
| 等级 | 值 | 含义 |
|---|---|---|
TrustSystem | 0 | 系统级,最高信任(环境信息、约束) |
TrustExplicit | 1 | 用户显式声明(指令、约束) |
TrustMulti | 2 | 多方认同(集体共识、事实) |
TrustInferred | 3 | 推断得出(偏好、纠正、惯例) |
TrustUnknown | 4 | 未知来源,最低信任 |
零值陷阱
Go 零值 0 = TrustSystem = 最高信任。
漏设 Trust 的条目会静默成为系统级只读:
| 后果 | 说明 |
|---|---|
| GC 永不清理 | 系统级条目免疫 GC |
| 冲突解决优先 | 高信任覆盖低信任 |
| 不可编辑 | 系统级条目禁止用户修改 |
Kind 到 Trust 的默认映射
saveCore 在 Trust==TrustSystem && Kind!=KindEnvironment 时兜底:
| Kind | 默认 Trust |
|---|---|
KindEnvironment | TrustSystem(合法的 0 值) |
KindInstruction / KindConstraint | TrustExplicit |
KindCollective / KindFact | TrustMulti |
KindPreference / KindCorrection / KindConvention | TrustInferred |
| 其余 | TrustUnknown |
Trust 对 GC 的影响
retentionScore 计算中 Trust 是权重因子:
score = timeDecay(accessed_at) * recallWeight(recall_count) * trustWeight(trust) * kindWeight(kind)
高信任 = 高保留分数 = 更不容易被 GC 清理。
Trust 对冲突解决的影响
detectSupersession 检测"较新条目否定较旧条目"时:
- 高 Trust 条目不被低 Trust 条目取代
- 同 Trust 按时间新旧决定
显式 Trust 保留
显式设置的 Trust 值不被兜底覆盖:
// 显式设置 TrustMulti → 保留
entry.Trust = TrustMulti
store.Save(entry) // Trust 保持 TrustMulti
// 未设置(Go 零值 0)+ Kind=KindPreference → 兜底为 TrustInferred
entry.Trust = 0
entry.Kind = KindPreference
store.Save(entry) // Trust 被兜底为 TrustInferred
相关不变量
saveCore中defaultTrustForKind映射
相关文档
- 记忆 GC 详解 →
memory-gc-details.md - 记忆去重与冲突 →
memory-dedup-conflict.md - 记忆 Kind 参考 →
memory-kind-durability.md - 记忆写入管线 →
memory-save-pipeline.md