Files
Jyotisha/docs/tasks/TASK-rectification-1012-batch-fix-20261012.md
T

7.3 KiB
Raw Blame History

TASK · 生时校正 10-12 三单验收修复(2026-10-12)

  • 基线:origin/staging @ e6baff95(三条功能分支都从这里分出)。
  • 受影响分支:
    • codex/rectification-explicit-entry-20261012 @ 6a799582(BUG-1306):验收通过,本单 F3 是合入后的跟进项。
    • codex/rectification-nearest-boundary-opening-20261012 @ b285011a(BUG-1307):未通过,F1 修完才能合入。
    • codex/rectification-d12-parent-probes-research-20261012 @ 11fee0a3(BUG-1308):研究结论成立,F4 补齐文档后可合入。
  • 串行顺序:explicit-entry 先合入 staging(由产品点头)→ 把 F1/F2 做在 nearest-boundary 分支上,然后在 explicit-entry 之上变基(试合只冲突 CHANGELOG.md、docs/tasks/README.md,都是文档)→ F3 从合入后的 staging 新开分支。F4 与上述并行。
  • 合入 staging 一律等产品明说,执行方只推各自的功能分支。

1. 验收实证

分支 门禁 结论
explicit-entry tsc 0;lint 0 error / 125 warning(同基线);npm test 5013 条,失败 25(24 条同基线,另 1 条 consult-evidence-lookup-20260927「a lookup does not reset the answer clock」是负载下计时抖动,单独跑 3/3 通过);build / Static;gzip +0.02%;page.tsx 未增长 通过;T0 日志取证、T5 模型实测为环境缺口
nearest-boundary tsc 0;lint 同基线;npm test 5006 条,失败 25 逐名同基线;build Static;gzip 0%;Python 定向 136 passed;打分 / decision_policy / 闸门 / api_server diff 为空 门禁过,F1 缺陷不过
d12 research 15 测试过;结果 JSON 两次复跑逐字节一致(除 Python 版本号);预登记 ad89e410 早于打分 11fee0a3,其后 0 改动;冻结身份 / 隐私 94 项绿 结论「欠力」成立;下一步与编码问题未写进报告

2. 缺陷与根因

F1(P1,BUG-1307)开场分界按 Raman 算,引擎按用户岁差算。 scripts/rectification_varga_segments_api.py 三处写死 "ayanamsa": "raman"(profile、逐分钟 compute_chart、payload);frontend/src/lib/rectification-agentic/opening-boundary.ts::fetchOpeningBoundary 请求体不带岁差。校正引擎打分用 resolveAyanamsa(snapshot)(v9/engine-client.ts)。分界随岁差移动:私人样例一例里 Raman 与 Lahiri 的分界相差约 7 分钟,分界落在记录时间两侧。结果:非 Raman 用户开场说的「差几分钟、两边哪里不同」与引擎实际扫描矛盾;选题开关打开后更会自相矛盾。 任务书 TASK-rectification-nearest-boundary-opening-20261012 没有写岁差要求,是任务书漏写,不是执行方违规。

F1b(P2,新 BUG-1309)同一端点给盘型段汇总用时也写死 Raman。 v9/segment-scan.ts(BUG-1115 那批)调同一个 /api/rectification/v5/varga-segments,同样不传岁差。非 Raman 用户的交付卡 D9 / D10 段与档位按 Raman 算,引擎打分按用户岁差。这是 staging 现存问题,F1 改端点时一并改。

F2(P2,BUG-1307)本命上升也换段时开场不说。 开场只列「婚恋、住处、学业、子女、父母、钱、身体」;D1 也换时这是最大的变化,却不提。

F3(P3,BUG-1306 跟进)打开失败时卡片仍说「已经开始」。 提议记录在服务器结算时就写成 opened,早于浏览器真正开案;开案失败(断网、冲突)时对话显示「出生时间核对已经开始。」。点卡片「继续核对」可重开,不卡死。

F4(文档,BUG-1308)研究报告缺下一步与编码问题。 6 例计入中 3 例编码站不住:奥巴马「母亲照料更多=是」引文只讲上哪所小学;伊梅尔达·马科斯「父亲体制内=是」引文是自己执业律师;索菲亚·罗兰「父亲体制内=是」引文是国家铁路临时工作(预登记规定短期任职不算主业,赫本父亲名誉领事却记「不清楚」,尺度不一)。另李小龙「父亲指导学业=是」依据是教太极(未计入)。维基百科计入率约 8%,凑满预登记的 60 例需 700+ AA 例,现有数据做不到;岁差改判 36–42%(门槛 20%)。

3. 决策记录

  1. F1:开场与段汇总一律用 resolveAyanamsa(snapshot),与打分同源;岁差进缓存键。不新增「强制选岁差」(产品 10-03 已拒)。
  2. F2(Claude 定口径):D1 也换段时,开场先说「这里连本命上升都换」,再说其余会变的事;其余不变。
  3. F3:结算时提议记录写 opening(或保持 offered 并带 autoOpen 标记),浏览器开案成功、来源绑定后才改 opened;失败时卡片按 offered 显示,可点开。具体状态名由执行方定,须向后兼容已存的 offered / opened / returned。
  4. F4:本方向暂停,不立实现单。报告写明:继续的唯一路线是换数据源(传记 / 访谈)+ 双人独立编码 + 重新预登记;且岁差敏感 36–42% 本身使过门可能性很低。BUG-1308 状态改 closed_by_design(研究欠力,方向暂停)。

4. 硬红线

  1. 不改打分、decision_policy、闸门、4 件 3 域、scripts/jyotish_api_server.py;不改迁移。
  2. F1 后 v5 77 例(全 Raman)的段汇总与回放结果必须与改前逐字节一致——岁差参数缺省值仍为 raman。
  3. 用户文案不得出现秒级、「记录时间是错的 / 不准」。
  4. 改既有断言写「原值 / 新值 / 原因」三栏;文档同提交更新(BUG_HISTORY、CHANGELOG、VOICE、DESIGN)。
  5. 不得写入真实用户出生资料。

5. 任务分解

项 内容 验收
F1 端点收 ayanamsa(白名单,与 resolveAyanamsa 取值一致,缺省 raman),进 profile、compute_chart、payload、缓存键;fetchOpeningBoundary 与 segment-scan.ts 传 resolveAyanamsa(snapshot) Python 测试:同窗口 raman / lahiri 分界不同且缓存键不同;缺省等于显式 raman;前端测试:两处调用的请求体带用户岁差;v5 回放逐字节一致
F2 D1 换段时开场句式 前端测试:D1 换 / 不换两种文案;VOICE 记录
F3 提议状态在开案成功后才转 opened 前端测试:开案失败后卡片可再开、文案不说「已经开始」;旧会话三种状态照常显示
F4 报告与 BUG-1308 补「编码问题清单 + 下一步二选一结论 + 暂停」 文档;tests/test_repo_privacy_markers.py 过

6. 让步顺序

F1 不可让。F2 可延到下一轮(写进 BUG-1307 已知限制)。F3 可单独排期。F4 不可让(不写清下一步,研究等于没收口)。

7. 开工前置

git fetch origin --prune
git fetch origin +refs/heads/codex/rectification-nearest-boundary-opening-20261012:refs/remotes/origin/codex/rectification-nearest-boundary-opening-20261012
git fetch origin +refs/heads/codex/rectification-d12-parent-probes-research-20261012:refs/remotes/origin/codex/rectification-d12-parent-probes-research-20261012
git status -sb

在原 worktree 续做(或按同名分支新建 worktree);F3 待 explicit-entry 合入后从 origin/staging 开 codex/rectification-offer-opened-state-20261012。

8. BUG 编号

F1、F2 记入 BUG-1307;F3 记入 BUG-1306;F4 记入 BUG-1308;F1b 新建 BUG-1309(开工时核对最大号,写作时 1308)。