姚章浩
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-09-30 10:54:07 +08:00
2026-10-08 15:41:13 +08:00
2026-10-27 10:42:30 +08:00
2026-10-09 13:50:23 +08:00
2026-10-09 14:12:10 +08:00
2026-10-10 16:46:39 +08:00
2026-10-12 00:10:31 +08:00
2026-10-26 18:36:11 +08:00
2026-10-14 12:59:52 +08:00
2026-10-27 10:42:30 +08:00
2026-10-27 09:56:19 +08:00
2026-09-30 10:54:07 +08:00
2026-10-28 15:11:27 +08:00
2026-10-28 19:11:37 +08:00
2026-10-29 19:08:58 +08:00
2026-10-30 03:09:21 +08:00
2026-10-30 03:09:21 +08:00
2026-10-29 13:01:37 +08:00
2026-10-29 13:01:37 +08:00
2026-10-29 06:55:13 +08:00
2026-10-29 07:13:18 +08:00
2026-10-29 13:01:37 +08:00
2026-10-29 13:01:37 +08:00
2026-10-30 03:09:21 +08:00
2026-10-30 03:09:21 +08:00
2026-10-28 21:52:14 +08:00
2026-10-29 06:28:29 +08:00
2026-10-29 13:01:37 +08:00
2026-10-28 21:52:14 +08:00
2026-10-29 13:01:37 +08:00
2026-10-30 03:09:21 +08:00
2026-10-29 04:45:34 +08:00
2026-10-27 12:14:19 +08:00
2026-10-27 12:14:19 +08:00
2026-10-19 14:29:49 +08:00
2026-10-08 17:26:26 +08:00
2026-10-08 15:41:13 +08:00
2026-10-08 15:41:13 +08:00
2026-10-10 15:48:30 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-17 19:02:13 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-25 12:45:31 +08:00
2026-10-19 19:01:36 +08:00
2026-10-19 19:01:36 +08:00
2026-10-20 08:18:03 +08:00
2026-10-20 08:18:03 +08:00
2026-10-19 08:49:18 +08:00
2026-10-19 19:01:36 +08:00
2026-10-18 19:10:47 +08:00
2026-10-18 19:10:47 +08:00
2026-10-18 19:10:47 +08:00
2026-10-17 19:59:33 +08:00
2026-10-18 21:50:29 +08:00
2026-10-17 09:04:19 +08:00
2026-10-17 09:04:19 +08:00
2026-10-17 09:04:19 +08:00
2026-10-25 12:45:31 +08:00
2026-10-17 11:39:38 +08:00
2026-10-17 17:36:07 +08:00
2026-10-17 17:36:07 +08:00
2026-10-17 22:37:26 +08:00
2026-10-18 21:50:29 +08:00
2026-10-18 21:50:29 +08:00
2026-10-25 12:45:31 +08:00
2026-10-25 12:45:31 +08:00
2026-10-18 15:45:09 +08:00
2026-10-18 02:00:31 +08:00
2026-10-20 08:18:03 +08:00
2026-10-18 21:50:29 +08:00
2026-10-20 05:44:02 +08:00
2026-10-26 16:03:52 +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-10-29 13:01:37 +08:00
2026-10-29 19:08:58 +08:00
2026-09-30 10:54:07 +08:00
2026-10-27 10:42:30 +08:00
2026-10-27 10:42:30 +08:00
2026-10-26 17:23:27 +08:00
2026-10-26 17:22:09 +08:00
2026-10-14 12:36:32 +08:00
2026-10-14 12:36:32 +08:00
2026-10-10 12:10:46 +08:00
2026-10-10 12:10:46 +08:00
2026-09-30 10:54:07 +08:00
2026-10-10 10:55:03 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-10-18 18:11:49 +08:00
2026-10-18 18:11:49 +08:00