Skip to contents

U-M1s-12 ms_extract() 单方法(交付,随下轮审核)

  • FFI ms_extract_rust(kernel 层):单次种子化 KL/EU 拟合(StreamId::ZERO),布局契约 = R 传 t(counts);中断决策 = 单 fit 有界时长、max_iter 内不可中断(文档化取舍);引擎变体开关(kl/eu)进 FFI 防静默降级。
  • R 侧:ms_nmf(engine="kl"/"eu", max_iter, seed) 工厂(MsNmf spec,certified 注册,幂等助手)+ ms_extract(catalog, k, method) 泛型(对象一等公民 + “nmf” 糖 + NULL 默认)→ MsSignature 装配(catalog_summary 快照 + 展示归一:W 列归 1、H 同因子缩放保 WH——文档化)。工作流文法第三环贯通:ms_variants() |> ms_tally() |> ms_extract()。
  • 电池:Rust 200 双工具链、testthat 1342、Cargo.lock 零变化。
  • 偏离记录:signatures m×k(简报笔误纠正);engine 参数进 FFI(防 eu 静默降级);超参用原子属性(S7+codoc 兼容)。

U-M1s-14 KL 对拍:PASS——数值协议等价成立(A8/D11 记录)

  • 方案 A(外部初始化直跑随包入口,方案 B/C 不必要):NMF 0.28 brunet 为 C 内核,seed= 接受 NMF 模型外部 init;四探针强制有效性(maxIter=0 逐位保真、恰 T 步、停用早停、前缀性质自证)。
  • 关键发现(方法论):本平台 R 的 17 位十进制串→double 解析可差 1 ulp → 交换格式改用二进分数短精确十进制串,两侧 identical() 断言。
  • 数字:‖ΔW‖F/‖W_R‖F = 1.1e-15–6.4e-15(T=50/200、三案例),比 1e-10 门槛低 5 个数量级;H 同量级。case1 轨迹首分歧 t=86 = R log vs Rust ln 的 1-ulp 实现差(状态无分歧,t=80 检查点 W/H 相对差 2.7e-15,误差传播界全程 PASS)。
  • 副产物发现:brunet 每 10 步 pmax(·,2.2e-16) 底板(我方无,贡献 ≤1e-15);R nmf() 拒绝整零行/整零列崩溃而我方 ε 策略保持有限——真实低 TMB 形态用低计数样本替代。
  • 交付:tools/kl-crosscheck/(一键复跑、失败非零退出、清空 outputs 重跑字节级一致)。

审核轮(U-M1s-11 + 跨样本 P1 修复):PASS

  • P1 修复”教科书级”:语义出处→双层回归→golden 未变的邻接审计可独立复算;装配层”无损”是可证伪契约(直接 FFI 对拍 + 手推格值 + hash==hash(labels) 三重钉死)。
  • P3×3 备忘(provenance 键冲突优先级注记、跨模式 hash 负例、helper 双份拷贝 dedupe)——顺延清单。

PI 集成清理

  • tools/kl-crosscheck/driver/target 构建产物污染 tarball(check 1W/3N)→ .gitignore/.Rbuildignore 双排除 + cargo clean。
  • sitrep 文案更新(NMF 已可用、NNLS planned)+ 测试断言同步。
  • 基线恢复:testthat 1342 / check 0 error 0 warning 1 NOTE。

M1s 状态:13/14

  • 剩:U-M1s-13 夹具基建(实质已吸收进各单元测试与 channel-reference 体系,收尾即正式化)+ M1s 验收门:钉硬件性能 bench(目录 ≥50× SPMG、NMF ≥100× R NMF——U-M1s-14 的对拍基建可直接复用测吞吐)。
  • 之后进 M1s 验收 → r-universe 发布准备(v0.1 发布门)。