Files
Jyotisha/docs/tasks/TASK-consult-card-full-source-20261007.md

13 KiB
Raw Permalink Blame History

TASK · 对话数据卡与报告同源,按领域给出综合判断表(2026-10-07)

2026-10-08 更新(Claude):前序两单都已部署 staging 3b70d1a7:上游同步第六轮、特殊上升点原生计算(BUG-1273)、章动修正(BUG-1275)、完整数据版报告(BUG-1272~1282)。报告单 T7 的资料包取值入口已经存在:scripts/pl9_full_data_export.py::read_full_data_domain(packet, domain)(领域清单 FULL_DATA_DOMAINS,测试 tests/test_full_data_domain_reader.py)。本单现在可以领取。注意两点:①完整数据版资料包本机生成约 20–27 秒(含渲染),只取资料包时约 8 秒,T1 缓存仍是前提;②年运资料包里 tajika_yogas 是对话用的候选格局列表,tajika_named_yogas 只给报告(BUG-1282),对话卡不得改读后者。与 TASK-rashi-dashas-native-20261008 可以并行,后合入者 rebase 并重跑全量。

  • 基线:origin/staging @ 3b70d1a7(开工时以最新为准)。
  • 分支 / worktree:codex/consult-card-full-source-20261007 / .worktrees/consult-card-full-source-20261007
  • BUG 编号:开工时核对 docs/BUG_HISTORY.md 最大号(写作时 BUG-1282)。

1. 事故实证

产品 10-07 反馈:对话里 AI「只看本命盘或 D10」,没有把事业代表星、大运主星和事业的关系、各项分值、KP、功能吉凶、相位、D10 映射回 D1 / D9 综合起来;也没用上资料库和公认技法。

用乔布斯 golden 盘(frontend/tests/fixtures/consult-evidence-card-golden.json)导出事业题的数据卡(buildEvidenceCard),约 7,600 字符:

产品说的缺口 引擎算了吗 卡上有吗(frontend/src/lib/consultation-evidence-card.ts)
10 宫、宫主、宫内星、照 10 宫的星 算了 有
事业的自然代表星(太阳、土星、水星、木星) 位置算了 没被点名:EVIDENCE_CARD_SPECS.career 的 planets: [],清单只要求看 AmK
大运主星和事业的关系 原料分散在各处 没有关系表。罗睺、计都当大运主星时没有功能吉凶(判定表只列七星)。样例当前正走罗睺大运,卡上没有一行写罗睺对事业的意义
分值综合 算了 Shadbala 七星有;八分法只给 10 宫 SAV;没有把各项放在一起的表
D10 映射回 D1 / D9 算了(consultation_native_layers.inter_chart_linkage:每星在 D1 / D9 / D10 落第几宫) 不在卡上,只能补取;D10 段只有星座,没有宫
卡外补取 — MAX_EVIDENCE_LOOKUPS_PER_TURN = 1
资料库 有 190 份 methodology.further_reading 的 19 条多为 oracle / 治理文件,KP、宫位对照、分盘深读、Argala、Jaimini 等技法书不在列
Avastha、Bhava Bala、Vimsopaka 报告资料包里有 对话链不算
KP 引擎有宫头 09-27 按顾问意见不上卡(observation_only_truth_blocked,原因 licensed_provider_not_terms_safe)
联网 — 卡上写死「全网资料核对、真实案例校准:未做,置信度封顶」

2. 根因

09-27 数据卡改造时,为了解决「模型可见 13–14 万字符、读不过来」,把每个领域压成约 1.2 万字符,并按当时的清单挑字段。挑法只覆盖必看项,没有「把各因素放到一起比」的结构;对话和报告从两条路取数,深度不同。

3. 决策记录

产品 2026-10-07 已定:

  1. 同源:对话数据卡的数值取自与报告完整数据版同一个资料包(报告单 T7 的取值入口),按领域挑选。对话链不再单独拼一套。
  2. 全领域一次做完:12 个领域都改。
  3. 任务书交 coding agent 执行,Claude 验收。

产品 2026-10-07 第二次回复:

  1. 已确认:每个领域上卡一张综合判断表(定义见 T2),由卡片构建器从资料包取值组装。模型只负责解读,不再自己从几处拼。
  2. 已确认并扩大:产品原话是「在顶级印度占星的复杂和丰富技法全量体系下,应该不止 D1 和 D9 盘的联动,还应该有其他的星盘报告信息参与」。因此不再只做「领域分盘 ↔ D1 / D9」,改为按 §3A 的参与清单:每个领域有一个共用层,再加本领域专属的盘与点。清单是 Claude 起草的候选,执行方在 T0 逐条到本仓 references/ 找出处,找不到出处的写 blocked,不自拟。

产品 2026-10-07 第三次回复「都同意」:

  1. 已确认:卡外补取上限从 1 次改为 3 次(产品知悉:每多补取一次,回答可能慢几秒)。
  2. 已确认:further_reading 改为按领域的技法资料目录。

决策 1–7 全部确认,本单定稿,可以领取。

明确不做:

  1. KP 不上卡:产品 10-07 说「先记下」,维持 09-27 决定,补取时仍带 EVIDENCE_LOOKUP_KP_NOTE。
  2. 不做每轮实时联网。
  3. 不接上游书籍 / 文章语料(references/book_corpus、article_corpus、search_jyotish_books.py):第三方作品不随仓库授权,商用前需要产品另行决定。

本单推翻的既有决定(执行方据此可以改,不得拒改):

  • 09-27 数据卡 v1 / v2 的「每领域卡 ≤ 12,500 字符、加清单 ≤ 18,500 字符」上限(BUG-1160 / 1161 / 1221)。新上限由 T6 实测后报产品定,在此之前按卡 ≤ 20,000、加清单 ≤ 26,000 执行。
  • 09-27 D8「卡外只补取一次」。

3A. 参与清单(决策 5;候选,T0 逐条核出处)

共用层(12 个领域都带,取与本领域相关的宫和星)

层 说明
三个参照点(Sudarshana) 同一件事从上升、月亮、太阳三个起点各看一遍(月亮盘、太阳盘);资料包有 Sudarshana 三盘
D9 星的真实力量与 D1 是否互相印证(Vargottama、D1 ↔ D9 尊贵反转)
Bhava Chalit 星是否跨宫,跨宫时按哪一宫读
力量 Shadbala(星)、Bhava Bala(宫)、Avastha(星的状态)、Vimsopaka(星在 16 张分盘的综合强弱)
八分法 本领域宫的 SAV、相关星的 BAV
功能吉凶 每颗相关星;罗计按红线 3 处理
相位 Parashari 星照与 Jaimini 星座照,分开列
Argala 对本领域宫的支撑与阻碍
定位星链 本领域宫主的定位星一路追到终点
时间 Vimshottari 与 Narayana 双轨(主),Yogini(第三条线,只作参照);行运与双重过运;问今年时加年盘
瑜伽 只认 hits,按领域标签

领域专属

领域 专属的盘与点
事业 D10;A10、AL;AmK 及 Karakamsha;Ghati 上升;太阳、土星、水星、木星
财富 D2、D11;Hora 上升、Indu 上升、Sree 上升;AL 起第 2、11 宫;木星、金星、水星
婚恋 D9 第 7 宫与 7 宫主;UL 及 UL 起第 2 宫、A7、DK;金星、木星;Vivah Saham;火星煞
健康 D6、D8、D30;第 22 个 Drekkana、第 64 个 Navamsa;Badhaka;Gulika / Mandi;Pranapada
子女 D7;PK;第 5 宫;木星
父母 D12;MK、PiK;太阳、月亮;第 4、9 宫
学业 D24(及现有 D5);水星、木星;第 4、5、9 宫
迁居 D4、D12;第 4、9、12 宫;罗睺
家庭 D4、D7、D12
流年 年盘 Tajika、Muntha、年主、Mudda 大运、Sahams
时间 同共用层的时间行,加上 Narayana 子运与年盘
综合 D1、D9、D10、D2;AL;Karakamsha

出生时间精度闸:分盘越细,对出生时间越敏感(D10 约每 12 分钟换一次星座,D60 约每 2 分钟)。所以 D16 及以上的分盘,以及 Ghati、Vighati 这类按分钟变化的点,只在出生时间为 confirmed 或校正已交付分钟时参与;否则在卡上写「出生时间精度不够,不参与」。闸门口径沿用生时校正现有的精度判定,不另立一套。

不参与:KP(决策 8)。

4. 硬红线

  1. 卡上数值一律从资料包原样复制,不改写、不四舍五入、不翻译(现有 consultation-evidence-card.ts 的不变式保持)。缺什么写进 gaps,不补。
  2. 综合判断表里的「受冲条数」只是计数,不设门槛、不下结论。产品 10-02 已定:只说压力迹象和现实范围,请用户补充;「≥2 条就判定」是被推翻的设计,不得复活。
  3. 罗睺、计都的功能吉凶:引擎没有就不填。只列它们的定位星、同宫星与这些星的功能角色,表头注明「罗计不单独定功能吉凶」。该怎么判写进给占星师的下一轮问题。
  4. 自然代表星表必须有出处:从本仓 references/(如 house-domain-planet-mapping.md、event_judgment_*.md、strict-workflow-router.md)逐条引用文件与段落;本仓找不到出处的领域写 blocked,不自拟。
  5. 普通对话的生平回测(scripts/research/capture_consult_biography_backtest_golden.py 一套)严重冲突数不得高于开工基线;对照组误报不得增加。没有模型 key 时写成环境缺口,不得宣称通过。
  6. 首轮回答的形状、口吻规则(BUG-1244、1245、1255)不改;系统提示不增长(BUG-1256 的 26.6K 为上限)。新增的读法说明进清单,不进系统提示。
  7. 前端红线照常:tsc 0、lint 0 error、npm test 失败名单与基线相同、build / Static、gzip ±2%。scripts/jyotish_api_server.py 不增长。

5. 任务分解

# 内容 验收标准
T0 盘点:对话链现在怎么拿数(run-jyotish-consultation → toAgentConsultationContext / toModelOutput → buildEvidenceCard);资料包里每个领域能取到的字段;12 个领域各自的「宫 / 宫主 / 自然代表星 / Jaimini 代表星 / 分盘」清单及出处 进度记录里有 12 行领域对照表,每行注明出处或 blocked
T1 资料包缓存:按「星盘身份 + 计算档(岁差、交点)+ 引擎版本」缓存资料包(放 api_scratch)。星盘新建或修改资料后在后台预热;对话命中缓存直接读;未命中就同步计算 命中时每领域取数耗时不高于现状(约 1.66 秒 / 域);未命中时 2 vCPU 档位实测耗时写进进度记录,超过 20 秒就停下报产品;改出生资料后缓存一定失效(参照 BUG-1251)
T2 综合判断表:每个领域一张,每个因素一行。因素包括本领域的宫、宫主、自然代表星、Jaimini 代表星、当前 Vimshottari MD / AD / PD 主星、当前 Narayana MD 星座及其主星。每行的列:D1 星座 / 宫 / 尊贵;功能角色;Shadbala 与 BPHS 最低要求;该星所落星座的 BAV 与本领域宫的 SAV;受冲条数及各条明细(按 CONDENSED_SHARED_READING_LINES 的规则);D9 星座、尊贵、Vargottama;本领域分盘的落宫;与本领域宫的关系(主管 / 落入 / 照 / 与宫主同宫) 乔布斯、奥巴马、泰勒三盘 × 12 领域都能生成;每格都能追到资料包里的字段;新增测试逐格对照资料包
T3 参与清单上卡:按 §3A 共用层 + 领域专属,从资料包取值;事业的三盘联动用 inter_chart_linkage;精度闸按 §3A 12 个领域每项都有值、gaps 或 blocked(附出处);精度闸用一张 confirmed 盘和一张未校正盘各测一次
T4 补取 3 次:MAX_EVIDENCE_LOOKUPS_PER_TURN = 3;第 4 次仍按现有方式拒绝 测试覆盖第 3 次成功、第 4 次拒绝;步数上限 AGENT_MAX_STEPS 是否需要加,按实测决定并写明
T5 资料目录:further_reading 改为按领域列出本仓技法资料(每领域 ≤ 8 条,去掉 oracle / 治理文件);清单说明中写「需要时用 skill_read 读对应章节」 12 个领域各有目录;路径都真实存在(测试断言)
T6 体量与耗时:沿用 docs/testing/prompt-slim-20261007-model-runs.md 的 A/B 做法,比较改前改后的输入 token、首字时间、总耗时、空答率 数字写进进度记录,供产品定新的卡片上限;没有 key 就写环境缺口
T7 回测:生平回测改前改后各跑一次(每份 2 次) 按红线 5 判定
T8 记录 docs/BUG_HISTORY.md、CHANGELOG.md、docs/tasks/PROGRESS-consult-card-full-source-20261007.md、状态板、docs/testing/ 真机清单(事业、婚恋、财富、健康各问一题,看回答是否引用了综合判断表里的因素)

6. 让步顺序

T5 → T4 → §3A 共用层里的 Argala 与定位星链 → T3 中事业以外的领域(先保证事业)。T1、T2、红线 1–5 不让步。

7. 开工前置命令

git fetch origin --prune
git worktree add -b codex/consult-card-full-source-20261007 .worktrees/consult-card-full-source-20261007 origin/staging
grep -o "^## BUG-[0-9]*" docs/BUG_HISTORY.md | sed 's/## BUG-//' | sort -n | tail -1