Files
Jyotisha/docs/tasks/PROGRESS-consult-evidence-card-research-20260927.md
T

6.3 KiB
Raw Blame History

PROGRESS · 普通对话数据卡调研(2026-09-27)

开工基线

  • 计量时 origin/staging 是 76924e3362c0a47d9d8de896c448c66055826f70(任务书自己的文档提交)。任务书里写的 5f2e007f 已被那次推送盖过。
  • 推送前 staging 又到了 3b67d8e9(BUG-1052、BUG-1053)。本地提交已接到这个 tip 上再快进。计量数字仍是 76924e33 上的引擎与投影;toModelOutput 的裁剪规则没有被这两单改动。
  • 工作树 .worktrees/consult-evidence-card-research-20260927,分支 codex/consult-evidence-card-research-20260927。
  • 主检出仍在 staging,没有在主检出上提交或切分支。
  • PYTHONHASHSEED=0。Python C:\Users\74082\anaconda3\python.exe 3.11.7。Node v22.23.2。

做了什么

  • 3 张公开 AA 盘 × 10 种问法,调用 JyotishAPIHandler._compute_consultation_workflow,再用现有的 toAgentConsultationContext / toModelOutput,并按 toModelDomainPlanContext 的单领域分支包成模型可见文本。
  • 五类分区与总字符数一致。草案卡只复制投影。验收点名的事实与引擎逐字一致。
  • 投影丢掉当前 Narayana 段和子运日期,记为 BUG-1054,状态 investigating,没有改投影代码。
  • 本机计了本地层。外部 VedAstro 没有调用,也不计入耗时。
  • 报告:docs/research/consult_evidence_card_research_2026_09_27.md。

没做什么

  • 没有改 frontend/src/**、scripts/*.py(scripts/research/ 除外)、Skill 文本、数据库。
  • 没有推送,没有部署。
  • 没有下占星结论。
  • 没有重测线上约 31 秒/领域的外部取证等待。

环境缺口

  • 预检 scripts/pre_work_check.py 退出 1。Python、远端、外部适配器正常。两条碎片扫描测试失败:这台机器没有 .workbuddy/skills/jyotish-vedic-astrology,工作树残留计数 3638。不挡住本单。没有往错误台账追加,因为这是本机工作树布局,不是新的引擎故障。
  • Windows 把 skills/jyotish-vedic-astrology 下的符号链接检出成小文本文件。投影前在工作树里接了 junction,并复制了 SKILL.md。这些改动不提交。
  • 无浏览器验收:本单不改界面。

验收(Claude,2026-09-27)

  • 范围:提交只含 scripts/research/、tests/test_consult_evidence_card_research.py、docs/**,未改线上代码、Skill、迁移。
  • 测试:tests/test_consult_evidence_card_research.py + 隐私标记 + bug 历史测试全部通过。
  • 复跑:Linux 临时工作树、PYTHONHASHSEED=0 重跑 consult_evidence_card_run.py --skip-timing,30 次里卡体量与逐字核对结果 30/30 与提交的库存 JSON 完全一致;10 次 Obama 问法的模型可见字符比提交值多 12 个(约 0.01%,推测为 Windows/Linux 环境差异),不影响任何结论。
  • BUG-1054 我核对了代码:consultation-workflow.ts timingKeys 没有 md/ad/pd 与 pratyantardashatimeline,projectAllowlistedTree 按键白名单丢弃,结论成立。
  • 结论:调研验收通过;7 项拍板清单交产品。门禁 run 2958(d8d03b5a)部署结果另行核对。

门禁补修(Claude,2026-09-27)

门禁 run 2958(d8d03b5a)红在 tests/test_api_server_growth_contract.py 两条:调研脚本 consult_evidence_card_run.py 新增了两处 handler 伪造点(全仓 33 > 上限 31;scripts/ 4 > 上限 2)。改为复用 capture_report_blocked_repairs_golden._handler(),伪造点回到 31 / 2。复核:growth contract + 调研测试通过;Python 门禁集 948 passed / 1 skipped;steve_jobs × 父母 重跑的投影、分类、卡体量、逐字核对、样例卡与提交的库存 JSON 逐项相同。验收时我只跑了调研相关的 3 个测试文件、没跑全量 Python 门禁集,是漏检;以后含 scripts/** 的调研提交一律跑全量门禁集再放行。

逐条验收(Claude,2026-09-27,对照任务书验收标准)

项 验收标准 结论 证据
R1 盘点 字段→类别→大小→重复总表;五类合计与总量误差 < 1% 通过 库存 JSON 30 次 sum_error_ratio 最大 0.0;total_chars = 投影 model_chars 30/30;重复:consultations 整包 2 份,审计表/分盘谱/西洋谱各 4 份
R2 对照表 非程序员可读表 + 机器可读草案;Part B 覆盖 通过 报告 R2 表;草案 JSON 含 10 张卡(含父母、子女);30 次 part_b 双轨大运/领域分盘/功能吉凶全 true、无缺分盘;MEVG 与真实案例标 kept_backstage(拍板第 4 项)
R3 原型 体量对比;逐字一致或记缺陷、不改卡值 通过 卡/现状 2.34%–4.33%;上升、月亮星座与宫位、大运起止、子运 AD 起止 30/30 一致,D12 9/9 一致;Narayana 当前星座与 PD 起止 30/30 不一致→记 BUG-1054,卡未改值(我已核对 timingKeys 白名单)
R4 提速 模块耗时表 + 全算 vs 按卡算估计 通过 timings JSON;本机一轮约 2.6 s,校正门约 2.5 s,研究分盘合计 < 0.01 s;外部取证未计入并注明
R5 埋点 字段表 + 汇总视图 + 隐私核对 通过 6 字段;草案 JSON telemetry.does_not_store 列出不存项(问题/回答/出生资料/姓名/邮箱/用户与会话 id/匹配原文)
R6 报告 结论先行、复跑命令、一页内决策清单;PROGRESS、看板行 通过 报告首节 7 项拍板;各节附复跑命令
红线 1 不改线上 只动 scripts/research、tests、docs 通过(有瑕疵) 未改线上代码;但调研脚本新增 2 处 handler 伪造点,门禁 run 2958 红,已由 560d4fc2 修复
红线 2 公开数据 只用公开 AA 盘 通过 Steve Jobs / Barack Obama / Elizabeth Taylor,来自 references/real_case_calibration/,带 Rodden 评级
红线 3 可复跑 数字附命令,同机比较 通过 Linux 复跑卡体量与逐字核对 30/30 一致;模型可见字符 10 次差 12 字符(≈0.01%,平台差异)
红线 4 不下结论 不写占星解读 通过 样例卡只列事实
预检 跑 pre_work_check.py 环境缺口 执行方机器退出 1(缺 .workbuddy 镜像目录、碎片计数),已写进环境缺口

总结论:验收通过。7 项拍板清单交产品;门禁问题已修,部署以 run 2959(560d4fc2)为准。