Add date-isolated caches and regression coverage, align scoring identity, and freeze full research reruns while preserving historical artifacts. Record unresolved cache/receipt identity and end-to-end acceptance gaps for branch review only. Co-Authored-By: Claude Code <noreply@anthropic.com>
9.9 KiB
当前冻结实现的 v3 固定口径重跑(2026-09-20,BUG-981 后重新冻结)
当前正式结果已迁到
sealed_holdout_rerun_cross_midnight_2026_09_20.json;旧同名 JSON 与旧.freeze.json原字节保留,不代表本轮身份。本文修订前的 Markdown、JSON、冻结记录、契约和评测器均逐字节归档在history/rectification_pre_cross_midnight_2026_09_20/,由manifest.json校验。历史冻结不刷新、不追认。
结论
已补上当前实现可归属、可复算的成绩;没有补成新的独立官方盲测。 既有 v3/v4 人物与成绩已经曝光,重新冻结今天的打分文件不能消除曝光。任务书 T2 中「首次口径干净的官方盲测」在既有 BUG-427 / BUG-428 红线下仍为 blocked,不得改名通过。确认门保持关闭。
这是每例只有 3 件事的低信息量(任务书称「下限」)口径,不代表真实会话;事件少不等于数学上保证成绩更低,因此也不是准确率下界。
固定口径与可审计文件
| 项目 | 本次实际值 |
|---|---|
| 数据集 | references/real_case_calibration/minute_rectification_holdout_v3.json |
| 数据集 SHA-256 | 45aa76ab79dfc6c6404b6252083e1aa5c7e2e2b7de811fc11042a8ad2da3f0ea |
| 计算规格 | ayanamsa raman / node mode mean |
| 半径 / 步长 | ±10 分钟 / 1 分钟,含两端;真值为窗心 |
| 算法 | birth-time-event-fact-ranker-v4-shadow,不是生产 V9 问答链 |
| 当前打分身份 | b15d9ea15227cd58b3097555537fa7c37fb5a993905ada4f5aa04f52de1f8f18(前缀 b15d9ea15227cd58) |
| 样本 / 事件 | 20 例 / 每例 3 件;validator 排除 0 例 |
| 资料审计状态 | corrected_known_date_errors,不等同全新独立人工重审 |
| 排名标签隔离 | 排序和稀疏证据判定完成后才读取真值标签 |
| 独立官方盲测 | official_valid_independent_blind=false;有效官方盲测试次仍为 0 |
本轮冻结记录:sealed_holdout_rerun_cross_midnight_2026_09_20.final.freeze.json。在 2026-09-20T04:56:54.914584+00:00 以独占创建模式预冻结,然后重跑。12 文件身份继续为 b15d9ea15227cd58b3097555537fa7c37fb5a993905ada4f5aa04f52de1f8f18;实际修复在这 12 文件之外,故增加以下身份,不能拿旧 12 文件哈希不变冒充生产未变:
| 身份 | SHA-256 |
|---|---|
扩展生产评分(18 文件,含 scoring_service.py 与 dasha_transition_proximity.py) |
7fffd1db612af1f244a8b5d5eac2f1a3f5a8e9e138c09ac6b3743b98f9a47a51 |
| 研究/校验(7 文件) | 2931d4661bf53dde5c57f6492de65be4c00877293b7277353279a05eda5af215 |
| 本轮冻结文件 | b74f70d21011f98b78f141535b1bfa49b20701418812a3ad97f9350cc793c67d |
| 旧产物归档 manifest | 6102a26a840be207b5858b3a4c0509274468ae9071e86d308cbbac7371d6864e |
每个文件的字节哈希与有序文件集身份均在冻结记录内;评分前后都核对数据集、评测器与扩展实现。文件集为显式范围,不冒称完整传递依赖或环境锁。历史 v3 frozen_scoring 原值 f41c298dd6cdcebe… 未改。
脱敏逐例结果:sealed_holdout_rerun_cross_midnight_2026_09_20.json,只含公开集序号、排名、误差、门禁原因,不含出生分钟、坐标或事件正文。复算:
python scripts/research/sealed_holdout_rerun.py --json
五项预注册指标与门槛
本表统一口径:v3 / raman / mean / ±10 / 1 分钟 / b15d9ea15227cd58。
| 指标 | 实测 | 预注册门槛 | 数值对照 |
|---|---|---|---|
| top-1(旧协议竞争排名,含并列) | 0.45 | ≥0.60 | 未通过 |
| top-3(旧协议竞争排名,含并列) | 0.50 | ≥0.85 | 未通过 |
| 头名平均绝对分钟误差(哈希打破并列) | 6.45 分钟 | ≤2.00 分钟 | 未通过 |
| 误确认率(全样本分母) | 0.00 | ≤0.05 | 通过,但无确认覆盖,不能证明确认精度 |
| 信息不足正确拒绝率(每例仅首件事件) | 1.00 | ≥0.90 | 通过 |
| 确认覆盖率(补充) | 0.00 | 本单禁止抬高 | 保持关闭 |
| 作为独立盲测发布成绩的资格 | 不适用 | 新封存、未曝光、独立审计 | blocked,不可当发布指标 |
重要口径纠正:旧 top-1/top-3 不是哈希选中那个分钟的命中率。 现有评测的 true_rank = 1 + 严格高于真值分数的候选数 会把同分的多个分钟全算第一;本次为保证与旧协议可比保留它,同时增加哈希全序的真实选中指标,不暗改预注册定义。
| 附加指标(同一上述口径) | 实测 |
|---|---|
_opaque_winner 真正选中的头名命中 |
0.05 |
| 同一哈希全序中的 top-3 命中 | 0.10 |
这两个数字不能与旧 0.45/0.50 混称同一种准确率。没有据此改权重、换半径、换案例或剔除失败例。
契约改了什么、没有改什么
current_tree_scorer绑定本次真实哈希及新报告,新增固定口径试次数与成绩;旧current_tree_unfrozen_diagnostic历史块保留。source_audit_status对齐数据集;evaluated_on表示最新固定口径重跑日期,并新增作用域说明。历史顶层指标仍有metrics_produced_by的旧日期与来源,未伪装成本次结果。status、valid_public_aa_cases、required_cases、top_1_rate、confirmation_coverage_rate、sealed_benchmark_id六个 runtime 键的值与类型全不变;尤其status=not_ready、确认覆盖率为零。official_eval_implementation_hash_matches=false、official_eval_trial_count=0保留;新增重跑记录不冒充已重新获得独立性。- 本轮生产代理修复 transition-proximity 候选日期并将矩阵算法身份升为
rectification-v5-matrix-scoring-8,落在历史 12 文件之外。本研究未改权重、候选/事件/半径,未改_candidate_moments()或request_from_case()。
BUG-981 前后逐例对比
20/20 例全部字段相同,改变 0 例;五项指标和附加 opaque 指标均不变。 当前 JSON 的 historical_comparison.trials 保留全部 20 例 before/after 与 changed_fields,包括未变化行,并校验旧报告 SHA-256。不是只保留变化样本。
原因边界:本协议是 shadow fact ranker,build_feature_fact_rows() 原先已使用 candidate_at 日期,不调用被修复的 transition-proximity helper。扩展生产身份用于标识同一工作树上下文,不得写成该 shadow 路径执行了生产 helper。旧成绩因身份更新不再充当当前报告,但不能把数值本身说成错误;重新冻结也不恢复独立盲测资格。
准备阶段曾生成两份 *.freeze.json 和一个 *.cross_midnight.rerun.json。因安全工具拒绝覆盖旧 JSON,改用新的正式报告路径,停止未完成的 900 组合准备运行,评测器最终路径修改后重新冻结再完整重跑。所有准备产物保留并由历史目录的 preparation_manifest.json 标为 superseded_preparation_not_final_report;不得当最终结果。
防复发与既有断言变更
新增 tests/test_sealed_holdout_contract_freshness.py 钉死当前树身份、审计状态、冻结记录、报告汇总与独立性声明;冻结身份不符必须在计算前拒绝。tests/test_rectification_validation_integrity_gate.py 将其和偏差评测回归纳入现有 test_rectification_*.py 快速门,不改 workflow。
| 原断言 | 新断言 | 原因 |
|---|---|---|
Python / 前端:current_tree_scorer.implementation_sha256 等于旧 post-audit sidecar 的哈希 |
等于新固定口径报告 frozen_record.implementation_sha256,另验证当前树与新报告 |
契约当前树块的含义就是当前实现;继续绑定旧报告会强制过期。新增身份断言更严格,不弱化门禁 |
| 官方标志 false、官方试次 0、六键等于历史报告、确认门全套行为断言 | 原值保留,另加固定口径重跑身份/试次和独立盲测 false | 固定口径重跑不是新的独立盲测,不借元数据迁移打开确认门 |
本轮既有测试调整三栏(此前 BUG-978 的三栏保留在上表):
| 原值 / 原断言 | 新值 / 新断言 | 原因 |
|---|---|---|
FREEZE 指向旧 sealed_holdout_rerun_2026_09_20.freeze.json,当前 REPORT 指向旧同名 JSON |
指向新 sealed_holdout_rerun_cross_midnight_2026_09_20.final.freeze.json 与新 JSON;保留原完整身份相等断言 |
历史冻结不可刷新,新实现/评测器必须重新预冻结;旧文件继续逐字节校验 |
| 当前树身份只核对 12 文件 | 保留 12 文件相等与数量断言,另核对生产 18 文件、研究 7 文件、每文件哈希、归档 manifest、契约及报告 | 修复位于旧 12 文件之外;新增身份漂移拒绝,不弱化原断言 |
| 当前报告与冻结身份一致 | 原断言全部保留,另核对冻结时间早于评分开始、评分前后身份一致、全部旧新逐例对比、六键类型与值不变 | 防止事后追认、选样与误开确认门 |
| Python 确认合同仅比较 legacy 实现身份 | 原断言保留,新增扩展身份相等与 helper 在文件集内 | 原 12 文件不变不足以证明当前修复已被绑定 |
| 前端确认测试读取旧固定口径 JSON | 由 T4 协调改为新正式 JSON,原门禁与身份断言保留 | 报告地址迁移,不改变确认行为 |
本轮定向四文件合计 52/52 通过(含 quick 桥接重复收集),身份/历史字节/全部 before-after 独立复核通过。20 例重跑用时 3.158 秒;当前报告 SHA-256:0122d3cd1545416e1de9029b912d665d130049e9ea768a8972d18bb917331d38。
本机 Python 3.11.7 可跑;python3 Windows 别名退出 49。开工预检 remote verified,但 23 通过 / 1 既有 Windows 镜像路径断言失败,不冒写预检通过。本轮测试清单与环境/广域基线对照由 ../tasks/PROGRESS-rectification-cross-midnight-20260920.md 统一记录;前轮记录仍在 ../tasks/PROGRESS-rectification-validation-20260920.md。既有 v2 冻结身份测试不属刷新范围,不得为了通过而改历史封存或断言。