Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
11 KiB
11 KiB
TASK · 数据卡 v2:按占星顾问意见调整各卡,把引擎已有但未接入的技法接进普通对话(2026-09-27)
基线
- 开工时
git fetch后的最新origin/staging(须含数据卡 v1cd4dde9d与校正 grounding261d7b2e),写进 PROGRESS。 - 分支
codex/consult-evidence-card-v2-20260927,工作树.worktrees/consult-evidence-card-v2-20260927。 - 串行:
TASK-consult-gender-optional-20260927(性别选填)排在本单之后,基线须含本单。
背景与依据
- 数据卡 v1 已上线(
docs/tasks/PROGRESS-consult-evidence-card-20260927.md)。产品就「年运 / 时运卡」「三类检查清单」「基础段是否带 D9」请教了懂印度占星的顾问,请教单见 https://claude.ai/artifact/TTLEGmYt6m9R9sFnzynVJU 。顾问意见以本仓skills/jyotish-vedic-astrology/references/strict-workflow-router.md、事件裁决文档与 2026-09-15 能力真值索引为据,产品 2026-09-27 全部采纳。 - 核实(Claude,2026-09-27,数据卡调研缓存的
_compute_consultation_workflow原始输出,公开 AA 盘,VedAstro 关):- 普通对话输出里没有:Tajika / Varshaphala / Muntha(只出现在
technical_debt_contract与technique_debt清单里)、Mudda Dasha、双重过运结论、Punarphoo 判定、Argala、Karakamsha、Vargottama 与 D9 旺弱标记。 - 有:
machine_evidence_packet.sections.sahams(婚恋问法含 Vivah)、Ashtakavarga SAV/BAV、KP 结构、Chara Dasha、is_day、Arudha / Upapada。 - 引擎代码里已有模块:
scripts/tajika.py、scripts/varshaphala.py、scripts/muntha.py、scripts/annual_tajika_pack.py(Mudda)、scripts/punarphoo.py、scripts/argala.py、scripts/jyotish_engine.py(vargottama)、scripts/jaimini.py(karakamsha);双重过运相关逻辑见scripts/reading_orchestrator.py/scripts/unified_consultation_orchestrator.py(执行方先定位真正的原生实现)。unified_consultation_orchestrator.py里 annual 主题已声明需要TAJIKA,执行方核实 annual 问法下是否已有产出。 - 产品当前不记录用户性别(数据库与资料页均无),性别由串行的下一单处理;本单婚恋卡写「性别未知」并按下文规则处理。
- 普通对话输出里没有:Tajika / Varshaphala / Muntha(只出现在
决策记录(产品 2026-09-27,采纳顾问意见)
基础段(每张卡)新增 D9 摘要:D9 上升星座;各行星在 D9 的星座与旺弱;Vargottama 标记;相对 D1 的重大旺弱反转标记(如 D1 入旺 / D9 落陷)。D9 宫位与相位不进基础段(婚恋卡的 D9 完整段保留)。
年运卡:
- 必须带年盘:年盘上升与年主(Varshesha)、Muntha 落宫与 Muntha 主、Mudda Dasha 全年分段及起止日期、年盘中太阳 / 月亮 / 年主的 Tajika 相位(至少标 Ithasala / Easarapha)。年盘结论带
parameter_sensitive标签(Tajika 只完成首批目标集验证,不能写成全局闭环)。 - 宫位从「只 1 宫」改为:1 宫 + 当前 AD 主与下一 AD 主所主管的宫 + 全年木星、土星过境所落的本命宫。
- 行运只列关键日期:木星换座、土星换座、逆行 / 顺行转向、罗睺计都换座;不逐月列。
时运卡:
- 加:罗睺 / 计都行运(必加);双重过运判定结果(木土同时激活的宫 / 星,结论列表,不给原始度数);木星、土星当前所在星座的 SAV 值与 BAV 值(不放全表)。
- 月亮行运:不进卡,用户问到月份级或更细时经补取工具取。
- 分盘不再固定 D9:随同轮另一领域切换(事业 D10、婚恋 D9、财富 D2/D11 等);只有时运一个领域时默认 D9(基础段已有 D9 摘要)。
Chara Dasha:从年运、时运、事业、婚恋卡中移除,改为可补取(路由文档应期为 partial、对 KN Rao 基准匹配率约 24%,固定放卡会诱导模型当第三条时间轨)。双轨仍是 Vimshottari + Narayana(基础段已有)。
三类卡与清单(顾问逐项标注,「必看」进卡、「可选」补取、「可删」移除):
| 领域 | 进卡(在 v1 基础上新增) | 改为可补取 | 移除 |
|---|---|---|---|
| 事业 | AL(A10 已有);10 宫 SAV 与木星 / 土星当前所在宫 SAV;D9 确认由基础段 D9 摘要覆盖 | Karakamsha、宫主链、D1→D9→D10 联动、Argala、KP 副主星 | Chara Dasha |
| 婚恋 | 5 宫 / 5L 专项;昼夜盘(is_day);Punarphoo 判定(布尔,标 observation_only);双重过运激活 7 宫 / 7L / DK / UL;Vivah Saham(度数与落宫) |
KP 7 宫副主星 | Chara Dasha |
| 财富 | 8 / 12 宫在卡里点名(宫位数据基础段已有) | D10(收入来自工作时)、Argala、KP 到账类 | — |
- KP:精确宫头仍 blocked,任何卡都不得把 KP 当依据放进卡,只能补取且需带 blocked 说明。
- 清单精简为方案 B:普通对话给模型的领域清单缩成每类 5–8 行「必看项 + 分三层说 + 禁写规则」。分三层必须保留:事业「接触 / 结构性机会 / 公开落地」,婚恋「心动接触 / 关系成对 / 社会法律落地」;禁写规则至少含「5L 大运不等于法律婚」「金星过本命月不等于心动月」「Punarphoo 不得写成结婚」「Saturn 回归本命月是观察项不是结婚」。
- 性别:本单婚恋卡写「性别未知」;在性别未知时模型须同时看金星与木星、不按性别下夫星 / 妻星定论(写进精简清单)。
硬红线
- 引擎接入只新增输出,不改既有计算结果、打分、候选、冻结计分文件(ERR-110)。
scripts/jyotish_api_server.py不得增长:新接入放独立模块、由主文件或编排器薄注册(tests/test_api_server_growth_contract.py:类方法数与 handler 伪造点不得增长,注释里也不得出现伪造点字面量;行数粗护栏)。 - 年盘、Mudda、双重过运、Punarphoo、D9 旺弱与 Vargottama 的数值必须是引擎原生输出,卡只复制不换算(AGENTS §7.4);新增 golden 回归必须来自真实引擎响应(公开 AA 盘)。Vargottama / 反转标记若引擎没有现成字段,由引擎侧计算输出,不在前端卡构建器里推导。
- 数据卡 v1 的全部红线继续有效:答题契约不丢、事实逐字、Part B 覆盖(双轨大运、领域分盘、功能吉凶、原始数据)、BUG-1053 不回退、补取工具每轮 1 次且只读缓存。
- 精简清单只作用于普通对话给模型的领域清单。
strict-workflow-router.md同时服务报告等其他路径:执行方先查清谁在消费methodology与该文档;首选做法是新增普通对话专用的精简清单章节(或独立 reference)并只在咨询里下发,完整路由文档保持不变。若必须改 Skill 文本,按版本规则 bump(快照、测试三栏),CHANGELOG 写明。 - 体量:单领域模型可见内容(含答题契约与清单)目标 ≤ 12,000 字符;年运卡加年盘后若超出,在 PROGRESS 说明构成。
- 前端红线全套 + 全量 Python 门禁集必跑;改既有断言写三栏。
- 本单不动数据库;不改
.gitea/**、deploy/**。 - 禁止
git stash;只git add <具体路径>,提交前看git diff --cached --stat(ERR-112);不推送。
任务分解(每条带验收标准)
T1 引擎:把已有技法接进普通对话输出(Python)
- 定位原生实现,给普通对话输出新增:年盘包(annual 问法)、双重过运结论(时运 / 婚恋问法,或全局按需)、Punarphoo 判定、D9 摘要(D9 上升、各行星 D9 星座与旺弱、Vargottama、重大反转)、罗睺计都行运与关键换座日期(若现有行运输出没有)。
- 每项带来源模块名与边界标签(年盘
parameter_sensitive)。 - 验收:Python 定向测试 + golden(3 张公开 AA 盘,含 annual 与 timing 问法);growth contract 通过;本机一轮耗时变化写进 PROGRESS(预期毫秒级)。
T2 投影:新字段进入模型可见投影
frontend/src/mastra/consultation-workflow.ts白名单放行新字段(参照 BUG-1054 的做法,嵌套键逐一放行,不放宽深度 / 条数上限)。- 验收:golden 断言新字段原样出现在投影里(不能只断言键存在)。
T3 数据卡 v2
frontend/src/lib/consultation-evidence-card.ts:按上文决策调整EVIDENCE_CARD_SPECS与基础段;Chara Dasha 从卡移到补取清单;时运分盘随同轮领域切换;卡版本evidence-card-v2。- 补取工具(
read-consultation-evidence)的受限枚举同步:新增 Karakamsha、宫主链、D1→D9→D10 联动、Argala、KP(带 blocked 说明)、Chara Dasha、月亮行运、D10(财富用)。 - 验收:逐卡逐项测试(真实引擎 golden);3 盘 ×(10 问法 + 年运 + 时运)体量表;「本轮技法」折叠面板内容不变。
T4 精简清单与禁写规则
- 按硬红线 4 实现普通对话专用精简清单(每类 5–8 行,含分三层与禁写规则、性别未知规则);系统提示里对
methodology的描述同步。 - 验收:记录提示词的假模型测试断言事业 / 婚恋 / 财富下发的是精简清单、含分层与禁写规则、不含完整长清单;报告等其他路径的方法文档输出不变(回归)。
T5 记录
- CHANGELOG;
docs/tasks/PROGRESS-consult-evidence-card-v2-20260927.md(最终对照表、体量前后、红线测试、失败名单对比、三栏);docs/testing/consult-evidence-card-v2-20260927.md(真机:问「未来一年重点」看是否引用年主 / Muntha / Mudda 分段;问「今年婚恋」看是否分心动 / 成对 / 法律三层、不把 Punarphoo 写成结婚;问事业看是否提到 D9 旺弱确认);docs/tasks/README.md本单一行改「待验收」。若发现缺陷,BUG 编号开工时核对最大号(当前 BUG-1059)续号。
让步顺序
- T1 的 D9 摘要、Punarphoo、双重过运,T2、T3、T4 必须完成。
- T1 的年盘包若原生实现不能稳定产出(例如 Mudda 分段缺失),年运卡写明「年盘未接入」并在 PROGRESS 记录阻塞原因,不得用本命数据冒充年盘;其余照做。
- 关键换座日期若行运模块无现成输出,可降级为「木星 / 土星当前所在宫 + 下一次换座日期」。
开工前置命令
cd /workspace/Jyotisha && git fetch origin --prune
git worktree add -b codex/consult-evidence-card-v2-20260927 .worktrees/consult-evidence-card-v2-20260927 origin/staging
ln -s /workspace/Jyotisha/frontend/node_modules .worktrees/consult-evidence-card-v2-20260927/frontend/node_modules
cd .worktrees/consult-evidence-card-v2-20260927 && git status -sb
python3 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 # 涉及引擎,按 AGENTS §9
export PATH=/exec-daemon:$PATH # Node 22
先读:AGENTS.md(§5–§9、Part B)、docs/research/pre_work_error_ledger.md(ERR-110/111/112)、数据卡 v1 的任务书与 PROGRESS、strict-workflow-router.md §2–§5 与 §0.9、事件裁决文档(references/event_judgment_*.md)。开工先在未改动的基线上跑全量前端测试(Node 22)与全量 Python 门禁集,存日志作对比。