From 78b9c5b65cda44650e8c7ca019931ce33a85a95d Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Tue, 29 Sep 2026 15:04:43 +0800 Subject: [PATCH] docs(tasks): Claude acceptance for upstream sync 3 (BUG-1095/1097 resolved, BUG-1096 not applicable) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8 --- docs/BUG_HISTORY.md | 4 ++-- docs/tasks/PROGRESS-upstream-sync3-20260929.md | 8 ++++++++ docs/tasks/README.md | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 2f4c9efe..2c80170c 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -14689,7 +14689,7 @@ ## BUG-1095 | 太阳返照本地时间是 UT 原样:读者版「Varshapravesha」差一个时区,Sahams 昼夜按错误时刻判 -- 状态:resolved(2026-09-29 执行方自验;待 Claude 验收) +- 状态:resolved(2026-09-29 Claude 独立验收通过:6 测试文件+隐私守卫 156 passed;基线树 vs 分支北京虚构盘 A/B:solar-return 6 处差异全为修正项、tajika 0 差异;快速门 Python 步 1001 passed / 1 skipped 与基线一致,npm 步为 worktree 无 node_modules 的环境缺口) - 首次发现 / 最近更新:2026-09-29 / 2026-09-29 - 影响面:`scripts/solar_return.py`(`find_solar_return_ut` 返回 `dt_local = dt_ut`,注释「调用方另行加 tz」但无调用方加)、`solar_return_full_report` → `calc_all_sahams(tz=birth_tz)` 昼夜判定、`pl9_reader_export.py:1830/2201` 打印 `dt_local`、年运包 `annual_tajika_pack.py` 经 `cmd_solar_return` 同一路径。 - 用户现象:报告读者版「Varshapravesha:2026-06-15 08:04:52」实为 UT,北京盘应为 16:04:52;跨日时连日期都错(虚构北京盘 2028 年行 06-14 → 06-15)。 @@ -14719,7 +14719,7 @@ ## BUG-1097 | PL9 导出 JSON 在内存里再造一份报告大小的缩进字符串,文件体积翻倍 -- 状态:resolved(2026-09-29 执行方自验;待 Claude 验收) +- 状态:resolved(2026-09-29 Claude 独立验收通过:6 测试文件+隐私守卫 156 passed;基线树 vs 分支北京虚构盘 A/B:solar-return 6 处差异全为修正项、tajika 0 差异;快速门 Python 步 1001 passed / 1 skipped 与基线一致,npm 步为 worktree 无 node_modules 的环境缺口) - 首次发现 / 最近更新:2026-09-29 / 2026-09-29 - 影响面:`scripts/jyotish_engine.py::output_json` 与 `main()` 的 `pl9-export --output` 落盘。仅 CLI 与落盘路径;生产 API(`jyotish_api_server.py`)自行序列化,不经过此处。 - 用户现象:`pl9-export` JSON 9.57 MB(缩进),序列化峰值 46.9 MB。 diff --git a/docs/tasks/PROGRESS-upstream-sync3-20260929.md b/docs/tasks/PROGRESS-upstream-sync3-20260929.md index cc67ceaf..625a6ce1 100644 --- a/docs/tasks/PROGRESS-upstream-sync3-20260929.md +++ b/docs/tasks/PROGRESS-upstream-sync3-20260929.md @@ -123,3 +123,11 @@ B 慢是因为 `json.dump` 只能走 `iterencode` 纯 Python 路径(C 编码 ## 前端 `npm test`(本单零前端改动;临时软链主检出 `frontend/node_modules`,Node 22.14,跑完即删) `# tests 4357 / # pass 4302 / # fail 24 / # cancelled 0 / # skipped 31`,exit 1。24 条失败全是需要 Docker / 本地 PostgreSQL / 部署套件的用例(`local PostgreSQL applies the reviewed business schema…`、`migration runner…`、`staging backups…`、`Better Auth…` 等),与 09-29 已知基线 4302/24 的环境失败清单一致(无 Docker),无新增失败。 + +## Claude 验收(2026-09-29) + +- 测试:`tests/test_solar_return_timezone.py` + 任务书点名 5 个文件 + `test_api_server_growth_contract.py` + `test_repo_privacy_markers.py` = 156 passed。 +- 等价比对(独立重做):基线 `15be6a06` 独立 worktree vs 本分支,虚构北京盘 1990-06-15 10:30,`PYTHONHASHSEED=0`:`solar-return` 6 处差异(`dt_local` 08:04:52→16:04:52、`annual_location` ×2 新增、`daynight_evidence.julian_day_ut` 改为真实返照时刻、sunrise/sunset 第 9 位小数);`tajika --age 36` 0 差异。与执行方表逐条一致。 +- 硬红线 1 裁定:旧代码 `solar_return.py:221/249` `'dt_local': dt_ut # 调用方另行加 tz`,全仓无调用方加过,报告里的 Varshapravesha 时刻一直是 UT。「北京盘逐字节相同」的前提不成立,差异恰为修正项本身,**接受**。 +- 快速门:Python 步 1001 passed / 1 skipped(与执行方基线一致);`npm test` 步 exit 127 为本 worktree 无 `node_modules` 的环境缺口,本单零前端改动,执行方软链跑出 4302/24 与基线一致。 +- 结论:T1 / T3 通过,T2 不适用成立。遗留另开小单:前端 `personal-report-longform-birth.ts:79` 只传数字 `tz`,需把账户 IANA `timezone_id` 送到引擎。 diff --git a/docs/tasks/README.md b/docs/tasks/README.md index c60f840a..3a528321 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -287,7 +287,7 @@ | `TASK-upstream-sync-fix-20260903.md` | `PROGRESS-upstream-sync-fix-20260903.md` | 非原生主题恢复 `degraded`、finance Yogi/D11/confidence cap、模板注册表引用、VedAstro/MCP finance 路由与 quick CORE 扩列 | 已验收 | `4ee79210`(BUG-515);staging health 已到该 SHA;十主题 e2e 合同全对,Python 红 90→69 无新增 | | `TASK-upstream-sync2-20260909.md` | `PROGRESS-upstream-sync2-20260909.md` | 上游活跃分支 `b9a0ef8f`(未进 main):婚恋三层触发模型(punarphoo / event_class_split 进证据链)+ 十套条件大运接 full reading 与长报告时间系统表;快照锁推进;Skill 6.9.16;不取 shadbala profile / PL9 用户版 / 校正泄漏项 | 已验收(04ad3325):定向 176 通过、quick 门 708/1 env 失败、pl9 时间系统表 5+10 行;1 P1(网页咨询路径 `dasha_info` 无 MD/AD,事件类拆分空转)→ 修复单 `TASK-upstream-sync2-fix-20260909.md` | 分支 `codex/upstream-sync2-20260909`(BUG-608) | | `TASK-upstream-sync2-fix-20260909.md` | `PROGRESS-upstream-sync2-fix-20260909.md` | 修复单:`_thematic_dasha_info` 改读 `dasha_sub_periods.current`、婚恋 activation 句按事件类出、`_render_south_chart` 围栏失败不打断报告、health 版本读 `__version__` | 待验收 | `7d3bb0c5`(BUG-609~611) | -| `TASK-upstream-sync3-20260929.md` | `PROGRESS-upstream-sync3-20260929.md` | **上游同步 3(小单)**:上游 `19195f6e..db8cdf4a` 63 提交只抄三条报告面修复——返照时刻按时区本地化(`41d1c740`,本仓 `solar_return.py:275` 固定偏移)、年运面板装配丢失(`089858c0`,先核实再抄)、PL9 紧凑流式写出(`59c9139f`)。不推进快照锁(上游仍 29 处私人标记);**MEVG 不跟上游放松,AGENTS Part B3 维持**(产品 09-29) | 已实现待验收(执行方 09-29:T1 返照本地化做了且发现 `dt_local` 一直是 UT,北京盘差异=修正项本身,硬红线 1 需验收方判;T2 核实 10/12 键本仓无生产者,不适用;T3 紧凑 `dumps` 9.57→4.61 MB;前端 IANA 区未传是缺口) | `codex/upstream-sync3-20260929`(BUG-1095~1097),未合入 | +| `TASK-upstream-sync3-20260929.md` | `PROGRESS-upstream-sync3-20260929.md` | **上游同步 3(小单)**:上游 `19195f6e..db8cdf4a` 63 提交只抄三条报告面修复——返照时刻按时区本地化(`41d1c740`,本仓 `solar_return.py:275` 固定偏移)、年运面板装配丢失(`089858c0`,先核实再抄)、PL9 紧凑流式写出(`59c9139f`)。不推进快照锁(上游仍 29 处私人标记);**MEVG 不跟上游放松,AGENTS Part B3 维持**(产品 09-29) | 已验收(Claude 09-29:硬红线 1「北京盘逐字节相同」前提有误——旧 dt_local 本就是 UT,差异恰为修正项,判定接受;BUG-1096 不适用;遗留:网页端未传 IANA 时区 ID,夏令时地区仍固定偏移,另开小单)(执行方 09-29:T1 返照本地化做了且发现 `dt_local` 一直是 UT,北京盘差异=修正项本身,硬红线 1 需验收方判;T2 核实 10/12 键本仓无生产者,不适用;T3 紧凑 `dumps` 9.57→4.61 MB;前端 IANA 区未传是缺口) | `codex/upstream-sync3-20260929`(BUG-1095~1097),未合入 | | `TASK-rectification-occupation-dated-answer-20260911.md` | `PROGRESS-rectification-occupation-dated-answer-20260911.md` | 09-11 真机:职业题答出的年月被 `applyOccupationCollectLedgerNorm` 抹成 unknown 不计分(BUG-649)+ 工具轮缺口句未并入正文(BUG-650) | 已实现 `1fa994ea`,已部署 | `codex/rectification-occupation-dated-answer-20260911` | | `TASK-rectification-probe-pool-exhausted-exit-20260911.md` | `PROGRESS-rectification-probe-pool-exhausted-exit-20260911.md` | 09-11 真机:六道带年月题问完后决策仍判「出区分题」(性格题被当区分题)而持久化无载体 → 「没有拿到下一个问题」(BUG-651/652) | 已实现 `66f63c76` + `f870d3d7`,已部署 | `codex/rectification-probe-pool-exhausted-exit-20260911` | | `TASK-rectification-narrow-before-deliver-20260911.md` | `PROGRESS-rectification-narrow-before-deliver-20260911.md` | 09-11 真机:池空即出卡但范围仍 20 分钟——探针只在引擎跑时按初始簇生成一次、家人题被 0.85 先验丢弃、交付前无定向补事(BUG-653/654,Skill 10.0.24) | 已实现 `6c9a0896`,已部署;验收见修复单 | `codex/rectification-narrow-before-deliver-20260911` |