zizi cf0f4fb985 W20–W24:保存知识方法、迁移框架、审校修订与案例行为的集成成果
接续 88dd570,保存 W20–W24 已实现的共享接口、业务入口、迁移、工作台、测试与文档。
W20/W22/W23 保持 in_progress,W21/W24 保持 verified;此提交不宣称方法或规则正式启用、多轮返修、真实角色评测完成。

W25 新增实验、标定、逐调用交付与角色执行及其迁移/测试/索引留在实施工作树,原有私人和旧实现保留项不纳入。

验证:离线 571、前端 33 通过;PG 469 项通过、2 项浏览器未启用,2 项误带入的 W25 用例已移出本提交;最终任务与交付边界 37 项通过。make 检查、最终类型、84 项资源及 diff 检查通过。未重跑浏览器或 Pi 宿主,不以合成调用认证外部模型效果。
独立整体审查四维通过;证据保存在 R2-20260909/提交W20-W24。
2026-09-13 16:24:42 +08:00

34 lines
1.2 KiB
Python

"""源增量与目标一致性检查;只读报告不构成切换、发布或整包交付授权。"""
from __future__ import annotations
from 建立映射 import 旧快照
from 核对结果 import 核对迁移结果
def 核对快照变化(基线: list[旧快照], 当前: list[旧快照]) -> dict:
def 指纹(记录):
结果 = {}
for 项 in 记录:
结果.setdefault(项.source.对象键, set()).add((项.source.revision, 项.源哈希))
return 结果
旧, 新 = 指纹(基线), 指纹(当前)
return {
"added": sorted(set(新) - set(旧)),
"removed": sorted(set(旧) - set(新)),
"changed": sorted(k for k in set(旧) & set(新) if 旧[k] != 新[k]),
}
def 检查切换条件(装配, 身份, 基线: list[旧快照], 当前: list[旧快照], 映射, **目标参数) -> dict:
核对 = 核对迁移结果(装配, 身份, 基线, 映射, **目标参数)
增量 = 核对快照变化(基线, 当前)
return {
"reconciliation": 核对,
"source_delta": 增量,
"data_checks_passed": 核对["data_checks_passed"] and not any(增量.values()),
"production_switch_authorized": False,
"package_acceptance_claimed": False,
}