JianFeeeee
a7b54fef7f
test(memory): 修正数据丢失回归用例的构造——它被媒体三元组修复本身弄失效了
两个修复之间产生了耦合:TestArchiveColdDocs_KeepsDocWhenGraphWriteEmpty
的前提是「三元组全被 validEntityName 拒绝」,而同批引入的
mediaTriplesFromText 会为正文里的 [image/png <digest>] 标记产出合规的
「图片 <digest>」三元组,于是 ec=4 rc=2、绑定成功、释放引用变成正确行为,
用例的前提消失。
(注意当时 GC 断言并未触发——内容没丢,只是"引用被释放"这条断言不再
适用于该构造。)
改法:正文不再含媒体标记,媒体引用直接 AddRef 挂上。这模拟的是更危险的
组合——文档持有媒体引用,但正文里的媒体标记已在清洗中丢失,于是有引用
要释放却没有句子能承载它。那正是这个守卫要防的情形。
反向验证重做后仍成立:回退守卫 → FAIL(引用被释放 + GC 删掉了本该保留的
内容);恢复修复 → ok。
教训:只跑针对性测试不足以发现修复之间的耦合。提交前我跑的是
internal/agent/core 与 internal/memory,当时通过是因为缺陷二尚未修完;
两个修复都落地后的第一次全仓回归才暴露它。
2026-09-05 12:08:33 +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-05 12:03:30 +08:00
2026-09-04 20:53:32 +08:00
2026-08-18 09:07:21 +08:00
2026-09-05 12:08:33 +08:00
2026-09-05 12:03:30 +08:00
2026-07-28 11:42:29 +08:00
2026-09-05 12:03:30 +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-05 12:03:30 +08:00
2026-09-05 12:03:30 +08:00
2026-07-22 15:40:27 +08:00