Archive research scripts, regression tests, M1 results and safe M0 smoke. Keep the incomplete study and failing quick gate explicit. Exclude full M0 JSON, raw logs and unrelated oracle newline changes. Co-Authored-By: Claude Code <noreply@anthropic.com>
14 KiB
PROGRESS · 生时校正分盘上升段研究(BUG-1105)
更新时间:2026-09-30
本次 staging 归档范围(用户要求推送后)
用户在收到未验收、快速门失败及隐私补扫缺口说明后要求 push 到 staging。本次仅归档可通过隐私扫描的阶段性研究代码、测试、M1 机器结果和文档;不是研究验收通过,不批准生产实现,不关闭 BUG-1105。下文“未提交/未推送”均是此前收尾时的历史状态;本次远端是否写入以 push 与远端 SHA 核对为准。
- 提交范围:3 个研究脚本、研究测试、
artifacts/varga-resolution/varga_resolution_m1.json、现有测试必需的artifacts/varga-resolution/m0-smoke.json,以及本轮报告、进度、索引、BUG 历史、BLOCKED 和错误台账。M0 smoke 与 M1 JSON 均经显式隐私扫描,0 findings;smoke 不代替 M0 全量证据。 - 明确不提交 M0 全量原始 JSON、所有原始运行日志/其余烟测产物,以及 5 个 oracle 换行副作用文件。它们在原研究工作树保留,不删除、不改编码规避扫描、不改隐私例外;文中这些路径指本地证据,不代表远端已包含。
- M0 原始 JSON 的 SHA-256:
c19faccb95076855420b9e5fbbbff9de13b4e611e2fe4f699af39474bd82506c;M1 JSON 的 SHA-256:a0f481e85e926fa3ca400c6cae06b608407540418f73fd6b0960067627b2ed24。哈希仅用于身份追溯,不证明二次复跑。 - 推送前 fetch 成功,远端从研究基线
82db6373d前进到5208f19b7(4 个提交);新增远端提交未改scripts/、tests/、公开评价集及本任务书。先整合远端,禁止强推覆盖。 - 推送前
pre_work_check.py再次 exit 1:remote verified;focused 除历史镜像路径断言外,还出现candidate_count=6 < workspace_residue_count=29的数量断言。保持失败,不造目录、不清其他会话文件;本地日志artifacts/varga-resolution/push-pre-work.log。 - 全量 quick 仍采用本页所列实际失败结果;已知失败和 M0/M1 验收欠项不因允许归档而转绿。隐私要求只对明确选择的提交子集重新验收,未提交产物仍保留未通过状态。
- 将上述 13 个精确路径加入 index 后,研究与隐私测试合跑 140 passed,exit 0(6.73s)。此次 tracked 隐私门已覆盖拟提交的新脚本、测试和两个 JSON,不再仅依赖未跟踪文件的补扫。两个机器 JSON 保留原始 CRLF 字节及哈希;默认 whitespace check 报 CRLF,采用单次命令
core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol检查通过,不改仓库配置,不改机器证据。
当前结论(M0/M1 产物已落盘,整单未验收)
本轮已完成 M0 首轮运行与 M1 全量分析,未修改生产代码、未提交、未 push。M0 起点表逐格一致性及第二次字节复跑未闭环;M1 专项测试与记录补验见下文。M2/M3 为 not_started,M4 仅有阶段性报告,不能写成整单结论。±60 D9/D10 真值段保留各 74/77,低于任务书区间基线 75/77,明确不过硬红线 1,不建议接入生产。
M0 · 首轮运行完成,验收未闭环
- 评价集:
references/real_case_calibration/minute_rectification_holdout_v5.json,77 例。 - 参数:
ayanamsa=raman、node_mode=mean。 - 评分候选网格:固定 2 分钟;每档评分候选数为 ±10=11、±15=16、±30=31、±60=61。
- 分盘段扫描网格:独立固定 1 分钟;每档扫描点数为 ±10=21、±15=31、±30=61、±60=121。
- 探针口径:既有
event_probes.discriminating_event_probes,固定refresh=False;首轮空探针如实记录,不切换refresh=True制造题目。 - 连续段:按 D1/D9/D10 上升星座在 1 分钟扫描序列中的最大连续运行编号;非连续再次出现的同一星座不合并;
23:59 -> 00:00视为连续,缺样本不跨接。 - 线上结果口径:机器结果同时保存评分网格候选、
still_valid_public展开的真实保留候选集合和unionStillValidRange等价的首尾区间包络;包络不等于真实集合。 - 完整逐案对账:四个半径均为 77/77 例,
changed_case_count=0,错误数 0。单例零差只作 smoke;本结论使用了 77 例×每档半径完整对账。
M0 实际汇总(分母均为 77)
| 半径 | D1 窗内单一上升星 | D9 平均段数 | D10 平均段数 | D1×D9×D10 平均组合 | 真值段仍在真实保留集合 |
|---|---|---|---|---|---|
| ±10 | 64/77 | 2.43 | 2.51 | 3.84 | D1 76/77;D9 76/77;D10 76/77 |
| ±15 | 51/77 | 3.22 | 3.26 | 5.27 | D1 75/77;D9 75/77;D10 76/77 |
| ±30 | 37/77 | 5.34 | 5.60 | 9.62 | D1 76/77;D9 76/77;D10 76/77 |
| ±60 | 10/77 | 9.64 | 10.29 | 18.36 | D1 76/77;D9 74/77;D10 74/77 |
注意:以上是真实保留集合上的段保留统计,不是只对区间包络统计;区间包络中的并列、空 coverage 另列于机器 JSON。
机器结果与脚本
scripts/research/varga_resolution_lib.pyscripts/research/varga_resolution_probe.pydocs/research/varga_resolution_baseline_2026_09_30.jsonartifacts/varga-resolution/m0-full.logtests/test_varga_resolution_research.py
机器 JSON metadata 明确记录:评分 2 分钟、扫描 1 分钟、refresh_probes=false、真实集合/区间包络区别、77 例逐档对账分母和跨午夜段定义;不含生成时间或耗时字段,便于逐字节复跑。
M1 · 已完成(研究侧)
- 新增
scripts/research/varga_resolution_m1.py,沿用 M0 的 2 分钟评分 / 1 分钟扫描 /refresh_probes=false链路,不改生产代码。 - 全量完成
77 × 4 = 308个 case-radius,errors=0;结果见artifacts/varga-resolution/varga_resolution_m1.json,日志见m1-full-v2.log。 - 每盘分别计算
raw、percent、uniform段质量;输出固定阈值0.5/0.6/0.7/0.8/0.9、全样本拟合对照、逐案例留一法阈值选择与验证结果。 - 留一法严格排除验证案例;输出
eligible / coverage / accuracy / truth_retained,并单列空 coverage、并列、真值排除和1900年前 LMT 分层。 - 关键结果(raw,全量正确率 / 真值段保留;LOO 选阈值后的 eligible、accuracy、retained):
| 半径 | 盘 | 全量 top 段正确 | 全量真值段保留 | 全量 ≤2 段 | LOO eligible / accuracy / retained |
|---|---|---|---|---|---|
| ±10 | D1 | 76/77 | 76/77 | 77/77 | 77 / 0.987 / 0.987 |
| ±10 | D9 | 71/77 | 76/77 | 68/77 | 23 / 0.913 / 0.957 |
| ±10 | D10 | 69/77 | 76/77 | 63/77 | 29 / 0.931 / 0.966 |
| ±15 | D1 | 74/77 | 75/77 | 77/77 | 77 / 0.961 / 0.974 |
| ±15 | D9 | 61/77 | 75/77 | 50/77 | 14 / 0.929 / 0.929 |
| ±15 | D10 | 59/77 | 76/77 | 52/77 | 8 / 0.875 / 0.875 |
| ±30 | D1 | 75/77 | 76/77 | 77/77 | 75 / 0.973 / 0.987 |
| ±30 | D9 | 50/77 | 76/77 | 25/77 | 11 / 1.000 / 1.000 |
| ±30 | D10 | 52/77 | 76/77 | 25/77 | 16 / 1.000 / 1.000 |
| ±60 | D1 | 68/77 | 76/77 | 76/77 | 54 / 0.944 / 0.981 |
| ±60 | D9 | 41/77 | 74/77 | 11/77 | 17 / 0.588 / 0.941 |
| ±60 | D10 | 34/77 | 74/77 | 10/77 | 9 / 0.778 / 1.000 |
LOO 的高准确率部分来自只交付少量 eligible 案例,不能当全集准确率;±30 以上分盘的覆盖和并列退化明显。三种模式完整逐案例结果在机器 JSON,uniform 的并列数显著更高;LMT 单列,不能剔除。
- M0 第二次全量字节复跑未完成:
m0-full-rerun.log仅约 103 行,目标 rerun JSON 不存在,不能宣称逐字节一致;首轮 M0 全量仍是唯一完整复现证据。
M2 · not_started
尚未执行段级信息增益排序、六题与早停分开结果、候选保留集合逐格比较、wrong1/wrong2 和日期 ±7 稳健性。refresh=False 首轮探针为空的案例必须保留为空,不能用刷新探针补齐。
M3 · not_started
尚未执行事业(D1+D10)、婚恋(D1+D9)、综合(D1+D9+D10)三种取盘策略,也未统计各半径目标盘只有 1 段的“不用校正”比例。
M4 · pending
已创建阶段性报告 docs/research/rectification_varga_resolution_2026_09_30.md,含候选档位、诚实出口与实现前置条件;M2/M3 无实测,尚未形成最终研究结论或实现单。不得把研究候选档位当成已校准的产品阈值。
运行命令与证据
- M0 全量:
PYTHONUTF8=1 PYTHONHASHSEED=0 python scripts/research/varga_resolution_probe.py --radii 10,15,30,60 --json-out docs/research/varga_resolution_baseline_2026_09_30.json - M0 日志:
artifacts/varga-resolution/m0-full.log - 首轮 M0 定向测试:
PYTHONUTF8=1 python -m pytest -q tests/test_varga_resolution_research.py,当时 4 passed;当前收尾复验为 77 passed,见下文。 - 既有基线定向测试:
artifacts/varga-resolution/baseline-targeted.log,exit 0。 - 快速门:
artifacts/varga-resolution/baseline-quick.log;需以命令实际 exit 与日志内容报告,不能把开工预检当作通过。 - 开工预检:
artifacts/varga-resolution/pre-work.log,status=fail;失败原因是仓库环境的 preflight fragment-scan 合同缺少预期.workbuddy/skills/jyotish-vedic-astrology镜像路径。该环境缺口不归因于本研究,也不能伪称通过。
本轮收尾复验(2026-09-30)
- 报告 ±30 D1 的 LOO 数字已从误写的
75 / 1.000 / 1.000修正为75 / 0.973 / 0.987,精确值为 0.97333333 / 0.98666667;新增测试逐行对比 M1 报表全部 12 行与机器 JSON。 PYTHONUTF8=1 PYTHONHASHSEED=0 python -m pytest -o addopts='' -q tests/test_varga_resolution_research.py:77 passed,exit 0(主会话独立复验 1.19s),日志artifacts/varga-resolution/closure-targeted.log。原 4 个测试断言不变,新增合成算术、空训练、LOO held-out 身份隔离、并列、LMT、308 唯一 case-radius、36 组汇总重算测试;没有重跑引擎,不证明全量字节复现。- M0/M1
--help均 exit 0,日志closure-m0-help.log、closure-m1-help.log。 PYTHONUTF8=1 PYTHONHASHSEED=0 python -m pytest -o addopts='' -q tests/test_repo_privacy_markers.py:63 passed,exit 0,日志closure-privacy.log。只覆盖当前 tracked repository;新增研究文件仍未跟踪,不能据此宣称产物隐私全绿。- 对全部本轮脚本、文档、测试及研究 JSON/log 复用现有
build_rules/scan_text显式补扫:未通过。29 个成功解码文件中 M0 baseline JSON 有 R003 共 3 次命中(扫描时刻字符串字段,未输出标记值);旧baseline-quick.logUTF-8 与 GB18030 严格解码均失败。初次 UTF-8-only 扫描 exit 1,带严格回退的补扫也 exit 1,证据closure-explicit-privacy.log。未删改研究证据或放宽隐私例外;提交前需独立核查这些命中并完成原日志的保真扫描。 - 回放不是每例答满六题:308 个 case-radius 中无探针 36、零回答 38,实际 0–6 题分布为 38/6/5/9/11/16/223。全部保留分母。top 命中包含并列;percent 为后验质量归一化,不是独立概率校准。报告已补真实定义与局限。
- M1 metadata 的确定性标志不构成复跑证据;M0 任务书起点表逐格对齐仍欠。M2/M3 未执行,BUG-1105 保持 investigating,索引已同步为部分完成。
- 最终完整 quick 补验使用本机 Python 3.11.7,日志
artifacts/varga-resolution/closure-quick.log,exit 1。Python 子段为 1000 passed、1 failed、1 skipped、3 subtests passed(473.06s);唯一列出的 pytest 失败是tests/test_consultation_native_layers.py::test_the_new_layer_leaves_every_existing_output_unchanged,在去除既有 volatile 字段后比较两次输出的 JSON 等价性断言失败。日志差异片段涉及 VedAstro 请求清单,但详情截断,根因未确定。本次在 Python 步骤停止,不以开工时的 tsx 失败解释本次失败,不能声称与基线逐项一致。 - quick 运行期间 5 个 tracked oracle pending packet JSON 变脏。独立只读核查确认:全部 JSON 与 HEAD 语义相同,归一换行后字节相同,只有 LF→CRLF。写入链为
run_quality_gate.py→test_external_oracle_sanity_closure.py→external_oracle_sanity_closure.py→oracle_closure_master_dashboard.py→tajika_annual_closure_status.py→tajika_annual_oracle_queue.py:272–284的文本模式写入。未恢复或暂存这些非计划文件,排除在本研究候选交付之外;不能把这一副作用当作上条测试失败的已证根因。 - 独立验收复核全部 M1 表格和回答分布与 JSON 一致,另跑研究定向 77 passed,exit 0(1.34s);只发现本页一处残留“当前 4 passed”,已改为首轮历史值。复核不覆盖完整引擎二次复跑,也不推翻 quick / 隐私补扫未通过的结论。
最终文档收口复验
- 最终文档更新后合跑研究定向与 tracked 隐私守卫:140 passed,exit 0(6.63s),即 77 项研究测试 + 63 项隐私测试;日志
artifacts/varga-resolution/closure-final-checks.log。 - 对本轮 7 份修改文档(含未跟踪报告/进度及错误台账)复用现有隐私规则显式扫描:0 findings。此结论仅覆盖这 7 份文档,不覆盖全部研究 JSON/log,不解除此前产物补扫的 3 处命中及旧日志解码缺口。
- 本轮 tracked 文档
git diff --checkexit 0;全工作树另有已确认的 5 个 oracle 换行副作用,未恢复、未暂存。生产代码、前端、线上评分权重和门槛未改,未提交、未推送、未部署。完整 quick 仍为未通过,整单仍未验收。
未完成原因与恢复点
第二次全量 M0 复跑已于本轮中止,未完成:artifacts/varga-resolution/m0-full-rerun.log 仅有 103 行(已输出 约 26 例×4 档中的前三档,远少于完整 77×4=308 个 case-radius 行),artifacts/varga-resolution/varga_resolution_baseline_rerun.json 不存在,因此没有第二次复跑 exit/hash 可报告,也没有逐字节一致性证据。当前没有残留 Python 进程。不得把该日志算作全量通过;首跑的 m0-full.log/baseline JSON 才是 M0 全量证据。后续若恢复,须从头完成 77×4 并再比较 hash;本轮不再等待。M1 后续已完成 308 条全量分析,见上文,不再沿用“M1 未开始”的旧状态。M2/M3 为 not_started、M4 为部分完成;后续按原任务书让步顺序 M0 > M1 > M3 > M2 推进,不能以当前文档收尾替代研究验收。