JianFeeeee
775d9e8a2e
fix(memory): core.New 漏接 rc.SetMediaStore,L0→L2 引用转移在生产从未生效
RelevanceContext.transferMediaRefs 依赖 c.mediaStore,而该字段只有
SetMediaStore() 能设置。搜遍全仓非测试代码,调用点为零——core.New() 里
没有,cmd/homed/main.go 里也没有。
上一层(f855893)把 AgentConfig.MediaStore 接到了 Agent.mediaStore,
漏了 rc 这一路。
后果是静默的:Prune 归档时 c.mediaStore 为 nil,transferMediaRefs 直接
return,而携带引用的 ContextEvent 已被归档删除 → 引用永久悬空在
context owner 上、计数永不归零 → 对应 blob 永远不会被 GC 回收。
## 为什么测试没抓到
mediaref_test.go 里我手工调了 rc.SetMediaStore(ms) 才测转移逻辑。
**测试验证了函数正确,没验证它被接上了。** 与 findPluginPID 那次同一
个教训:测了一件不会自然发生的事。
## 顺带全字段审计
写脚本比对 AgentConfig 的 32 个字段与 New() 函数体的引用情况,
确认无第二处漏接。
2026-09-05 12:02:34 +08:00
..
2026-08-05 09:59:33 +08:00
2026-08-14 00:48:40 +08:00
2026-07-29 14:48:23 +08:00
2026-09-05 12:02:34 +08:00
2026-07-25 11:17:31 +08:00
2026-09-04 20:53:32 +08:00
2026-09-04 22:52:30 +08:00
2026-09-04 20:53:32 +08:00
2026-08-18 09:07:21 +08:00
2026-09-04 22:52:30 +08:00
2026-09-04 22:52:30 +08:00
2026-07-28 11:42:29 +08:00
2026-09-04 22:00:03 +08:00
2026-09-04 22:00:03 +08:00
2026-09-04 20:53:32 +08:00
2026-09-04 20:53:32 +08:00
2026-09-04 06:25:51 +08:00
2026-09-04 06:25:51 +08:00
2026-08-31 12:16:39 +08:00
2026-07-16 12:11:16 +08:00
2026-08-18 09:07:21 +08:00
2026-09-04 20:53:32 +08:00
2026-08-26 16:10:02 +08:00
2026-08-18 11:49:57 +08:00
2026-09-03 12:37:58 +08:00
2026-07-24 14:49:08 +08:00
2026-09-03 12:37:58 +08:00
2026-09-03 15:38:31 +08:00
2026-08-25 10:50:37 +08:00
2026-08-26 16:10:02 +08:00
2026-07-27 15:26:23 +08:00
2026-09-04 22:52:30 +08:00
2026-08-26 13:38:27 +08:00
2026-07-22 15:40:27 +08:00