目录 / 文档-技术白皮书 / 12-EFT.WP.Methods.Repro v1.0
I. 范围与目标
- 本章规定数据对象的不可变性、版本治理与血缘追溯口径,明确内容寻址 oid、合成指纹 fingerprint 的生成与校验,给出与复现度量 delta_rep、R_coef 的联动规则。
- 目标包括:
- 建立数据层与环境层的一致追溯模型,保证任一结果可由输入、代码、参数与时基映射 ts = alpha + beta * tau_mono 全量重建。
- 提供 Mx-30 到 Mx-34 的可执行流程,实现可验证审计轨与长期取证。
- 对变换、聚合与重采样等操作定义血缘边 E,确保谱与单位守恒在数据发布前通过 check_dim(expr) 与门限校核。
II. 术语与符号
- 对象与标识
- oid = hash( bytes(obj) ):对象内容寻址标识。
- fingerprint = hash( bytes(code) || bytes(params) || bytes(env) || bytes(inputs.meta) ):合成指纹。
- merkle_root = hash( multiset( oid_i ) ):批量对象的树根指纹。
- schema.version:模式语义版本,遵循语义化策略。
- 数据与窗口
- 观测窗口 window = [ t0 , t1 ],采样率 fs,窗口函数 window_fn,U_w,ENBW。
- 路径与测度:gamma(ell),d ell。
- 复现与度量(引用)
- delta_rep = ( norm( y_new - y_ref ) / max( norm( y_ref ), eps_floor ) ),R_coef = 1 - delta_rep。
- 谱一致性:var( x ) ≈ ( ∫ S_xx(f) df )。
- 冲突名与口径(强制)
- T_fil 与 T_trans 不得混用;n 与 n_eff 严格区分。
- 到达时两口径并行:
- T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
- T_arr = ( ∫ ( n_eff / c_ref ) d ell )
- 差异量 delta_form 必随报告。
III. 公设与最小方程
- P31-5 内容寻址与追溯公设(复述)
任一入湖对象以 oid 管理,任何字节级变更必产生新 oid 与 fingerprint;原对象不可变。 - P31-6 血缘封闭公设
数据产物的血缘图 L = ( V , E ) 在项目生命周期内封闭可达:给定任一产物节点 v ∈ V,存在有向路径回溯至原始采集或合成源头;所有边记录可执行变换描述与版本。 - S32-6 指纹一致性与结果一致性映射
若 fingerprint_new = fingerprint_ref,则在固定 EnvLock 下期望 delta_rep → 0 与 delta_psd → 0;若不成立,标记 E_NONDETERMINISM 或 E_TIMEBASE_SKEW。 - S32-7 版本推进与兼容性判据
定义 compat( schema.version_old , schema.version_new ):当且仅当字段集的语义保持、单位不变、映射函数无信息丢失且 delta_rep <= tau_rep_migrate 时为真。 - S32-8 批量一致性方程
对批次 B = { obj_i },有 hash( concat_sorted( oid_i ) ) = merkle_root;任一删除/新增将改变 merkle_root。
IV. 数据与清单口径
- 最小必填字段(入湖与发布)
- 标识:oid,merkle_root(若为批次),fingerprint,project_id,schema.version,submit_ts。
- 来源:source,acq.device,acq.driver,operator,site。
- 环境:EnvLock.digest,rng_family,seed,backend(CPU/GPU/other)。
- 时基:alpha,beta,tau_mono_origin,ts_origin,r_tb。
- 窗口与谱:window,fs,window_fn,U_w,ENBW,S_estimator。
- 守恒与单位:check_dim(expr) 结果,eps_norm,eps_mass,pass.conservation。
- 口径与路径:gamma(ell),measure.d ell,若涉及到达时附 c_ref 与 n_eff 列表及 delta_form。
- 复现指标:delta_rep,R_coef,delta_psd,pass.rep。
- 版本与通道
- 通道字段:release.channel ∈ { canary , stable , LTS },release.tag,changelog.ref。
- 版本推进规则:
- MAJOR:字段删除或语义改变;必须提供迁移器与双跑比对。
- MINOR:新增可选字段;要求兼容且 compat(...) 为真。
- PATCH:修复性更改;不改变语义与单位。
V. 算法与实现绑定
- I30-5 snapshot_provenance(artifacts:list) -> dict
- 输入:artifacts = [ code_pkg , params , env_lock , inputs_meta ]
- 输出:{ fingerprint , oid_list , merkle_root , L_edges }
- 要点:
- 计算 oid_k = hash( bytes(artifacts[k]) ) 并登记。
- 生成 fingerprint = hash( bytes(code_pkg) || bytes(params) || bytes(env_lock) || bytes(inputs_meta) )。
- 产出 merkle_root = hash( multiset( oid_k ) )。
- 构造血缘边 E:( oid_parent , transform_id , version , oid_child )。
- I30-2 emit_pipeline_card(state:any) -> dict
必含域:schema.version,steps[](每步包含 transform_id,params_digest,input_oid[],output_oid[],ts_window)。 - I30-7 compare_psd(x:any, y:any, window:dict) -> { delta_psd:float , pass:bool }
估计 S_xx(f) 后返回 delta_psd 与能量守恒校核。 - 异常枚举(与本章相关)
E_SCHEMA_MISMATCH,E_PROVENANCE_BREAK,E_ENV_DRIFT,E_TIMEBASE_SKEW,E_NONDETERMINISM。
VI. 计量流程与运行图
- Mx-30 数据登记与内容寻址
对原始与中间产物计算 oid 并入库;输出 merkle_root(批次)。 - Mx-31 环境冻结与卡片生成
生成 EnvLock,调用 emit_pipeline_card 写入 steps[] 与版本信息。 - Mx-32 时基与单位校核
标定 alpha, beta 并计算 r_tb;运行 check_dim(expr) 与 pass.conservation。 - Mx-33 血缘闭环验证
沿 L = ( V , E ) 回溯至源头,验证 fingerprint 可重建与 compat(...)。 - Mx-34 复现门与发布
计算 delta_rep、delta_psd,合成 pass.rep;通过则发布至指定 release.channel 并登记 changelog.ref。
VII. 验证与测试矩阵
- 不可变性与寻址
变更任一点字节,验证 oid 与 merkle_root 必变化;若未变更则报 E_PROVENANCE_BREAK。 - 兼容性与迁移
- 以旧版数据运行新版管线,检验 compat(...) = true 与 delta_rep <= tau_rep_migrate。
- 双跑比对:新旧版本并行,对比 R_coef、delta_psd 与 pass.conservation。
- 时基与口径
对 ts 与 tau_mono,验证 r_tb <= tau_tb;若存在 T_arr,并行两口径并发布 delta_form。 - 单位与量纲
随机抽检表达式 expr,执行 check_dim(expr);不通过则阻断发布。
VIII. 交叉引用与依赖
- 《Core.DataSpec》:字段模式、内容寻址与版本策略。
- 《Core.Metrology》:窗口与谱估计的 S_xx(f)、U_w、ENBW 口径。
- 《Core.Sea》:时基映射 ts = alpha + beta * tau_mono 与到达时两口径。
- 《Core.Errors》:门限、异常与告警策略。
- 《Core.Threads》:运行时 TS.* 观测、回退与限流。
IX. 风险、限制与开放问题
- 风险
- 第三方系统的隐性状态会绕过 fingerprint(如远程模型权重热更新);需强制登记外部依赖摘要。
- GPU/分布式规约的非确定性可能在 fingerprint 一致时仍出现 delta_rep > 0。
- 限制
- 超大批处理的 merkle_root 计算受限于内存与 I/O;需分层聚合策略。
- 历史外部资源下线导致血缘回放不可达。
- 开放问题
- 面向流数据的增量血缘与时间分片的最优切分。
- 跨站点 oid 冲突域与去重策略的全局协调。
X. 交付件与版本管理
- 产出件
- 数据登记规范与校验清单样例。
- 参考实现:I30-5 snapshot_provenance 与 I30-2 emit_pipeline_card。
- 审计轨模板:包含 oid,merkle_root,fingerprint,L_edges,alpha,beta,r_tb,delta_rep,delta_psd。
- 版本策略
- 对 schema.version 的 MAJOR/MINOR/PATCH 变更附带迁移器与双跑报告。
- 任何破坏性变更前必须在 canary 通道完成 Mx-30 → Mx-34 的全链验证并存档可取证材料。
版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/