把独立年度方法参考算进结果指纹,标准版不再白算这一章。
跑了修复单点名的测试、两次真算 PyJHora,以及 200 张英文扫描。 Co-Authored-By: Grok (agent loop)
This commit is contained in:
co-authored by
Grok (agent loop)
parent
683bd2fbc3
commit
c899e36509
@@ -19383,3 +19383,19 @@
|
||||
- 复发自:无
|
||||
- 修复版本:分支 `codex/full-data-parity-3-20261022`。
|
||||
|
||||
## BUG-1429 | 独立年度方法参考不进结果指纹,重算对不上
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-10-23
|
||||
- 最近更新:2026-10-23
|
||||
- 影响面:完整数据版资料包的结果指纹。阅读页正文不直接显示这串指纹。
|
||||
- 用户现象:报告里已经有「独立年度方法参考」,按同一份资料包重算指纹却对不上。防篡改核对会把这份报告看成被改过。
|
||||
- 触发条件:完整数据版组装资料包时挂上这一章,绑定指纹之前先把这一章摘掉,绑定后再放回去。
|
||||
- 根因:指纹故意不算这一章。允许排除的只有三类字段,这一章不在其中。重算时本章还在,所以两边不一致。
|
||||
- 修复:删掉摘除再放回的做法,恢复直接绑定。这一章算进指纹。标准版在已经知道版本之后才决定要不要算这一章,避免标准版白起一次计算;完整数据版仍在绑定之前挂上,指纹才算得到它。
|
||||
- 验证:`tests/test_pyjhora_annual_method_reference.py` 中两个不同标记的指纹不再相同。`tests/test_calculation_profile_contract.py` 仍要求绑定写在净化之后。`tests/test_report_reference_perf.py` 重算指纹与包上的指纹一致。
|
||||
- 防复发:上面三条。再把本章摘出指纹,标记不同却指纹相同的测试会失败,重算也对不上。
|
||||
- 相关记录:BUG-693、BUG-694。issue #93 第 1 次打回。
|
||||
- 复发自:无
|
||||
- 修复版本:分支 `codex/full-data-parity-3-20261022`。
|
||||
|
||||
|
||||
@@ -85,3 +85,42 @@
|
||||
- 子进程超时是 120 秒。45 秒会在这台机器上把已经算完的三年掐掉。
|
||||
- 没做容器内存曲线。
|
||||
- 开工前的基线对照没有形成可用数字。
|
||||
|
||||
## 第 1 次打回(2026-10-23)
|
||||
|
||||
合并了当时的 `origin/staging`(含修复单 `4d0e398ab`)。没有重做上一轮已经通过的隔离和三年表。
|
||||
|
||||
这一章现在算进结果指纹。不再先摘掉、绑定后再放回去。两份只差这一章内容的资料包,指纹不再相同。报告里有这一章时,按同一份资料包重算,能对上。
|
||||
|
||||
比较「去掉这一章之后,装与不装是否逐字相同」时,先把下面两行换成同一个占位符 `FINGERPRINT`,再比:
|
||||
|
||||
- `- 报告 ID: \`...\``
|
||||
- `- 计算结果摘要: \`...\``
|
||||
|
||||
这两行来自结果指纹。指纹把这一章算进去之后,它们本来就会变。其余行不抹。
|
||||
|
||||
标准版在已经知道「不是完整数据版」之后,不再去算这一章。完整数据版仍在写入指纹之前挂上这一章,所以指纹里有它。直接生成完整数据资料包的旧入口默认仍会算,阅读页和扫描不变。
|
||||
|
||||
部署说明不再写出年主对照开关的变量名,只说不要打开这个开关。
|
||||
|
||||
子进程超时仍是 120 秒。这是上限,不是目标。前端整份报告最多等 180 秒;120 秒加上其余排盘和排版,在 Linux 上实测整份约 20 秒,没有顶到 180 秒。这台 Windows 电脑上中英一起最高约 59 秒,也没有顶到。
|
||||
|
||||
### 改过的断言
|
||||
|
||||
| 测试 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| 结果指纹是否包含这一章 | 两个标记的指纹相同 | 两个标记的指纹不同,本章仍留在资料包里 | 交付包里有这一章时,重算必须对得上(BUG-1429) |
|
||||
|
||||
编号:BUG-1429。
|
||||
|
||||
## 这一轮跑过的检查
|
||||
|
||||
| 检查 | 命令 | 结果 |
|
||||
| --- | --- | --- |
|
||||
| 修复单点名的测试,去掉两次真算 PyJHora | 指纹、合同、阅读页、英文版、年主、Tajika、增长、卫生等 | 退出码 0,约 460 秒 |
|
||||
| 三张虚构盘真算 PyJHora,以及父进程月亮位置不变 | 两个隔离测试 | 退出码 0,129 秒 |
|
||||
| 200 张英文扫描 | 扫描里不启动 PyJHora 子进程 | 退出码 0,1362 秒 |
|
||||
| 全量 pytest 和快速门 | 未跑 | 留给验收 |
|
||||
| 前端 | 本轮没改页面 | 没跑 |
|
||||
|
||||
依赖的 staging 提交是合并进来的 `4d0e398ab`。
|
||||
|
||||
@@ -528,7 +528,7 @@
|
||||
| `TASK-goel-jaimini-strength-20261022.md` | `PROGRESS-goel-jaimini-strength-20261022.md` | #94 搬上游公开的 Goel Jaimini 强度与 Brahma / Maheshwara / Rudra(4 个上游原样文件,按 #81 决策 A 先例根目录预算 448→452;来源串改书目引用);只做计算、不改报告;冻结身份不变 | 已合入 staging | `codex/goel-jaimini-strength-20261022` |
|
||||
| `TASK-chart-subject-table-fix-20261022.md` | `PROGRESS-chart-subject-table-fix-20261022.md` | **#86 第 1 次打回**:报告所有表被强制单行(打印跑出纸面);保存他人复制了档案页代码且已分叉;点编辑框内边距会丢修改 | 已合入 staging | `codex/chart-subject-table-20261021` |
|
||||
| `TASK-full-data-parity-3-20261022.md` | `PROGRESS-full-data-parity-3-20261022.md` | #93 完整数据版补齐(三):「独立年度方法参考」正式环境调 PyJHora(子进程隔离;装上后其余输出逐字节不变,7 个换路径开关钉死);输入默认用本地时间与正确年份(D6 默认,未收到「照上游原样」) | 第 1 次打回,见修复单 | `codex/full-data-parity-3-20261022` |
|
||||
| `TASK-full-data-parity-3-fix-20261023.md` | `PROGRESS-full-data-parity-3-20261022.md` | **#93 第 1 次打回**:功能、隔离、速度都过(Linux 约 20 秒,worker 约 60 MB);结果指纹排除本章致重算对不上(违反 D2)、源码合同测试没跟改、自己的新测试与 deploy README 打架 | 执行中 | `codex/full-data-parity-3-20261022` |
|
||||
| `TASK-full-data-parity-3-fix-20261023.md` | `PROGRESS-full-data-parity-3-20261022.md` | **#93 第 1 次打回**:结果指纹算进独立年度方法参考;标准版不再白算这一章;部署说明不点名年主开关(BUG-1429) | 待验收 | `codex/full-data-parity-3-20261022` |
|
||||
| `TASK-synastry-staging-fix-fix-20261022.md` | `PROGRESS-synastry-staging-fix-fix-20261022.md` | **#85 第 1 次打回**(T7~T11 主体通过):新地址没登记进路由清单致快速门红;CHANGELOG 与 T11 矛盾;侧栏点亮测试是空断言 | 已合入 staging | `codex/synastry-staging-fix-20261021` |
|
||||
| `TASK-report-english-han-leak-fix-20261022.md` | `PROGRESS-report-english-han-leak-fix-20261022.md` | **#89 第 1 次打回**:改了冻结的校正打分文件 `jaimini.py`;测试的 PyJHora 屏蔽没传到子进程(测的不是生产那份报告,也是慢的原因);缺英文时留空藏住漏洞 | 已合入 staging | `codex/report-english-han-leak-20261021` |
|
||||
| `TASK-full-data-parity-1-fix-20261022.md` | `PROGRESS-full-data-parity-1-fix-20261022.md` | **#91 A 段第 1 次打回**:新六章 69 节里 16 节在三张虚构盘上整节「未判定」,其中 12 节数据在资料包里、是读错了字段;测试抓不到整节未判定;新六章绕过了报告口径替换;中文附录悄悄丢列和瑜伽条目要量出来 | 已合入 staging | `codex/full-data-parity-1-20261021` |
|
||||
|
||||
Reference in New Issue
Block a user