Files
knowledge-governance/scripts
姚章浩 07a9caf22b
build / build (push) Failing after 19s
test(ds02): 收紧映射/引用/哨兵与进程身份 oracle
为什么:Astra 复验已独立复现旧 LocalIDs 循环的三种盲区——目标互换、错误来源集合、
不存在的目标都能绿;引用把 pre/next/parent 混在一个 OR 里,parent 分支没有覆盖;
成功路径没有序列非空比对;零 Embedding 只测了一个 client;旧侧对照用 rev-list 的
258 冒充 0.1.258(该工作树 identity 实际是 0.1.148);runner 在异常/超时路径不保证
清理,读回把任何非零退出都当"不存在"。

改了什么:
- 抽出独立语义 mapping checker:三表 (table,column,source,target) 精确集合 + 真实行
  对应;持久账本正例与语义副本变异走同一 checker,digest gate 与语义 gate 分开。
- 测试自带十表 scope 声明并与 schema 列集合对拍;逐种引用非空命中,软导航字段显式
  列为范围外;外围 ES 完整 _source、res-other 字节各补负控制。
- 零 Embedding 改为发布段独立记账:ES + 对象存储两个可达 client,自定义 /v1/encode
  负控制;范围只声明本测试可达 client,正式全链留给 DS03。
- 冻结输入 bundle(十表行/目标种子/序列/ES/对象/DDL,逐表 hash):旧 6fe98c9 与新源码
  同一 bundle 文件;旧侧真实 23505,新侧发布成功 + 独立 oracle。
- 测试进程身份:runner 注入 test-only nonce/commit/树摘要,进程自报 executable hash。
- 历史兼容矩阵改同 catalog 初始化,三条序列显式存在并逐例 before/after。
- runner v2(证据根,不在本仓):失败关闭、finally 清理、所有权重核、keep-failure。

验证:make verify 16 项全绿;ds02_runner_v2 三次隔离运行(含负控制与 keep-failure)
raw 见 handoffs/develop-release-contract/ds02-v2-*;旧侧探针 ds02-bundle-old2。
2026-11-02 03:46:26 +08:00
..