AskaEth
765ef167bd
fix(memory): 复审 p2 返工 —— SQL 空串字面量、两处过期注释、人工路径档位
复审 p2-1items(tip cc6904b)要求的三处,逐条:
1) SQL 双引号改单引号(唯一返工项):
- preinsert_store.go 的 revertMergedSQL:`merged_into = ""` → `''`。今天功能等价,
但靠的是 SQLite「双引号标识符解析不到 ⇒ 回退成字符串字面量」的 legacy 行为;
这是一条**改数据**的语句,还被 RevertMerged 与整理侧回滚共用,不该依赖回退。
- retention_migration_test.go 的 `WHERE retention_tier = ""` 一并统一成 `''`,
并在原位留下「为什么」。
2) 两处过期注释:
- retention_schema.go:「反过来(先自举、后迁移)也成立」是**假结论**,改为
「生产顺序成立;反向顺序在 0019 处即失败(duplicate column name: status,既有问题)」。
- store.go 的 ExpiresAt:「本字段目前只写不读」已半过期(Add 现在会把最终落库
时刻回填到返回值),改成「读回语义是半开的」:Add 返回的条目有值,从库里读回的
恒为零值。
3) 人工路径(塔裁定「人工动作默认应为 long」):包内的 `RememberManual`(「记住 X」)
显式钉 `RetentionTier = long`,留存规则因此不许把人工明确要求记住的东西降成临时层
(extract_test.go 加断言)。面板网关那条(adminAddMemory 直调 Add、不传档位)
按塔的口径不在本片、留给后续切片 —— 本片对它的唯一影响见回报。
不动(按塔的裁定):preinsert.go 514 行(dev 既有 tech debt)、
design/03 §10.5 与 design/23 §18 的章节(塔的账)、gateway 人工路径。
回归:go build ./... + go vet ./... + go test -count=1 ./internal/runtime/memory/... ./internal/db/...
全绿,内存包 -race 亦绿。
2026-10-26 13:24:35 +08:00
..
2026-10-05 11:47:39 +08:00
2026-10-13 21:43:27 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-13 21:46:24 +08:00
2026-10-13 21:43:27 +08:00
2026-10-13 21:43:27 +08:00
2026-10-13 21:54:38 +08:00
2026-10-25 00:08:46 +08:00
2026-10-26 13:09:30 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:29:02 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:24:35 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-13 20:22:48 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-07 14:10:33 +08:00
2026-10-13 23:09:19 +08:00
2026-10-26 13:09:30 +08:00
2026-10-07 11:41:44 +08:00
2026-10-24 22:24:14 +08:00
2026-10-07 11:41:44 +08:00
2026-10-26 13:09:30 +08:00
2026-10-06 15:59:16 +08:00
2026-10-06 15:59:16 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:09:30 +08:00
2026-10-13 23:21:25 +08:00
2026-10-13 21:59:31 +08:00
2026-10-06 15:59:16 +08:00
2026-10-13 20:22:48 +08:00
2026-10-26 13:24:35 +08:00
2026-10-07 14:10:33 +08:00
2026-10-07 16:25:54 +08:00
2026-10-07 16:25:54 +08:00
2026-10-07 14:10:33 +08:00
2026-10-13 20:22:48 +08:00
2026-10-06 08:04:12 +08:00
2026-10-13 22:11:41 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:24:35 +08:00
2026-10-26 13:24:35 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:09:30 +08:00
2026-10-05 11:47:39 +08:00
2026-10-05 08:04:47 +08:00
2026-10-05 08:04:47 +08:00
2026-10-04 14:20:22 +08:00
2026-10-05 08:04:47 +08:00
2026-10-04 13:32:54 +08:00
2026-10-05 11:47:39 +08:00
2026-10-05 08:04:47 +08:00
2026-10-04 13:32:54 +08:00
2026-10-05 11:47:39 +08:00
2026-10-04 13:32:54 +08:00
2026-10-26 13:09:30 +08:00
2026-10-04 12:07:44 +08:00
2026-10-04 12:07:44 +08:00
2026-10-07 09:48:37 +08:00
2026-10-26 13:09:30 +08:00
2026-10-05 11:47:39 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 13:09:30 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 14:20:22 +08:00
2026-10-26 13:24:35 +08:00
2026-10-25 00:08:46 +08:00
2026-10-25 00:08:46 +08:00
2026-10-07 11:26:34 +08:00
2026-10-25 00:29:02 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-06 08:04:12 +08:00
2026-10-25 00:08:46 +08:00
2026-10-13 21:59:31 +08:00
2026-10-05 11:29:36 +08:00
2026-10-07 11:07:00 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:41:16 +08:00
2026-10-25 00:41:16 +08:00
2026-10-25 00:29:02 +08:00
2026-10-26 13:09:30 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 08:04:12 +08:00
2026-10-07 11:07:00 +08:00
2026-10-13 22:33:07 +08:00
2026-10-07 19:21:32 +08:00
2026-10-06 08:04:12 +08:00
2026-10-13 20:51:10 +08:00
2026-10-13 20:51:10 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-06 22:39:35 +08:00
2026-10-06 22:39:35 +08:00
2026-10-07 11:07:00 +08:00
2026-10-13 22:50:38 +08:00
2026-10-13 22:50:38 +08:00
2026-10-13 22:33:07 +08:00
2026-10-13 20:38:02 +08:00
2026-10-13 20:22:48 +08:00
2026-10-26 13:09:30 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 19:21:32 +08:00
2026-10-07 19:21:32 +08:00
2026-10-25 00:08:46 +08:00
2026-10-07 11:26:34 +08:00
2026-10-25 00:08:46 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-13 19:54:19 +08:00
2026-10-26 13:09:30 +08:00
2026-10-04 14:20:22 +08:00
2026-10-04 14:20:22 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 14:20:22 +08:00