姚章浩
0088004cd6
fix(library): 当前生效版本改按精确查询
接管分类、基线判定、已知索引映射、同步闸口的创建判据与归档保留的保护标记,
原来都用 LibraryVersions(scope, 50/100) 这个分页窗口再在内存里筛。生效版本每
scope 只有一行、可能很久以前登记,历史一长就被挤出窗口 —— 于是"已生效"被读成
"没有生效":接管会把已经上线的目标重写一遍,基线入口会给已有权威版本的目标
再建一次基线。
现在统一走两条精确查询:LibraryCurrentVersion(kind='production_effective' AND
superseded_at IS NULL,每 scope 至多一行)与 LibraryVersionOfSnapshot(按快照
身份取回"已顶替"证据)。多行、自相矛盾、读不到一律 fail closed;同一含义只留
一份实现(knownIndexMapping 同步与恢复共用)。LibraryVersions 仍是 1..100 的
展示窗口,只用于列表。
验证:真实 PG 上先复现(窗口实现 ⇒ found=false),改后 7 条 store 契约用例与
worker 端到端判定用例全绿;本机 make verify 15 项 success(用例 1264 通过 /
0 失败 / 93 已声明可选跳过)。
2026-10-30 03:09:21 +08:00
..
2026-10-29 18:16:21 +08:00
2026-10-30 02:32:26 +08:00
2026-10-27 14:36:24 +08:00
2026-10-08 15:41:13 +08:00
2026-10-27 14:36:24 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-10-10 15:05:20 +08:00
2026-10-09 13:55:35 +08:00
2026-10-09 13:50:23 +08:00
2026-10-10 15:05:20 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-10-12 00:10:31 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-10-27 10:42:30 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-10-30 02:32:26 +08:00
2026-10-08 12:09:34 +08:00
2026-10-29 06:55:13 +08:00
2026-10-29 13:01:37 +08:00
2026-10-29 13:01:37 +08:00
2026-10-30 01:33:45 +08:00
2026-10-29 19:08:58 +08:00
2026-10-30 03:09:21 +08:00
2026-10-29 19:08:58 +08:00
2026-10-30 01:33:45 +08:00
2026-10-30 01:33:45 +08:00
2026-10-29 01:38:46 +08:00
2026-10-30 03:09:21 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-29 18:16:21 +08:00
2026-10-27 12:14:19 +08:00
2026-10-27 14:36:24 +08:00
2026-10-27 14:36:24 +08:00
2026-10-17 17:36:07 +08:00
2026-10-10 15:29:31 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-10-08 15:41:13 +08:00
2026-10-08 15:41:13 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-10-20 08:18:03 +08:00
2026-10-19 08:49:18 +08:00
2026-10-20 08:18:03 +08:00
2026-10-18 21:50:29 +08:00
2026-10-18 23:26:55 +08:00
2026-10-28 12:28:04 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-10 15:05:20 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-10 15:05:20 +08:00
2026-10-10 15:29:31 +08:00
2026-10-10 15:05:20 +08:00
2026-09-30 10:54:06 +08:00
2026-10-08 15:41:13 +08:00
2026-10-08 15:41:13 +08:00
2026-09-30 10:54:06 +08:00
2026-10-08 17:26:26 +08:00
2026-10-10 11:36:08 +08:00
2026-09-30 10:54:06 +08:00
2026-10-10 11:36:08 +08:00
2026-09-30 10:54:06 +08:00
2026-10-10 15:29:31 +08:00
2026-09-30 10:54:06 +08:00
2026-10-10 15:29:31 +08:00
2026-10-08 15:41:13 +08:00
2026-10-08 15:41:13 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-27 10:42:30 +08:00
2026-10-27 10:42:30 +08:00
2026-09-30 10:54:06 +08:00
2026-10-14 12:36:32 +08:00
2026-10-14 12:59:52 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-14 12:36:32 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-10-14 12:36:32 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-10-28 12:28:04 +08:00
2026-10-10 12:10:46 +08:00
2026-10-10 12:10:46 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-10-10 15:05:20 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-10-18 18:11:49 +08:00
2026-10-18 18:11:49 +08:00
2026-10-13 19:40:19 +08:00