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

61 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`)为准。