Files
Jyotisha/docs/tasks/TASK-consult-affliction-reading-20261001.md
T

137 lines
13 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.
# TASK · 普通对话「先看受冲、再看旺弱」读法,补齐各领域清单,健康改口径(2026-10-01,三单之二)
- 基线:`TASK-consult-card-affliction-data-20261001` 推上 staging 的提交(开工时写进进度记录);不得早于它开工。
- 分支 / worktree:`codex/consult-affliction-reading-20261001` / `.worktrees/consult-affliction-reading-20261001`
- 范围:普通对话的方法清单(`frontend/src/lib/consultation-condensed-checklist.ts`、`consultation-methodology.ts`)、健康领域的名称与默认问题(`consultation-domain-registry.ts`、`guided-jyotish-topics.ts`)。写作形状、`product-voice.ts` 不在本单(第三单)。Skill 文件不改。
- 串行:第一单 → **本单** → `TASK-consult-no-presupposition-and-backtest-20261001`。
- BUG 编号:预留 1160~1166(以第一单实际用到的最大号顺延,开工时核对)。
## 1. 事故实证
见 `docs/research/consult_affliction_audit_2026_10_01.md` 第 2、3 节。本单负责 B 类(有数据、没读法)与 E2(健康口径):
- 模型默认「旺 = 好」:奥巴马父母篇把 9 宫里的火星读成「他对你有要求,也有分量」;泰勒健康篇「两颗星都处在正常状态,没有受损」;泰勒婚姻篇「罗睺更多是噪音」;乔布斯婚姻篇伴侣代表星火星落 8 宫,只读成「对方有劲」。
- 有清单的领域(婚姻、财富)明显好于没有清单的领域;现有三份清单只讲时间分层,没讲受冲。
- `consultation-methodology.ts` `domainMethodology`:父母、子女、学业、迁居、家庭、年运、综合 7 个领域 `strictRoute: null`,不发任何读法;健康、时运发英文 strict route 模块清单。
- 健康:`consultation-domain-registry.ts` health `label: "身心压力"`、默认问题「我近期的身心压力模式和调节重点是什么?」,模型把终身重病的体质写成「作息、睡眠是弱项」。
## 2. 根因
数据卡给的是事实,没有一句告诉模型哪些事实算受冲、受冲和旺弱冲突时听谁的。模型只能用常识:入旺 = 好,Shadbala 高 = 没事,于是对同一类信号系统性读反。
## 3. 决策记录(产品 2026-10-01 授权)
- **D1 全领域统一「先看受冲、再看旺弱」。** 一段通用读法每轮只下发一次,所有领域共享;各领域清单再写本领域的必看项。
- **D2 受冲达到门槛要先说出来。** 同一个人或同一件事有两个及以上独立受冲信号时,结论第一句先写这一面,用「可能」,并说是哪几条盘面;只有一个时作为补充一句。门槛「两个」是产品启发式,不是典籍规则;第三单的名人回测负责校验误报。
- **D3 父母修法 A、D 落在本单**:A 父母清单;D 禁写没有区分度的推论(「宫主不在本宫 = 往外跑」「逆行 = 反复」等)。
- **D4 健康改口径**:名称「身心压力」改为「健康」,默认问题改为「我的身体底子怎样,哪些方面要多留意?」;先讲体质底子,再讲近期压力。非医疗边界不变:不诊断、不给治疗建议、置信度封顶 low 不变。
- **D5 补齐清单**:父母、子女、学业、迁居、家庭、年运、综合、健康各一份中文精简清单(第 5 节给出定稿文本,执行方不得改意思,只可改错字与格式);时运保留英文 strict route,前面加通用读法。事业、婚姻、财富三份各补一行受冲读法。
- **D6 推翻**:`consultation-methodology.ts` 注释「A checklist the router does not declare is reported as absent instead of substituted」对普通对话失效。本单之后 `domains_without_strict_checklist` 在普通对话里应为空。Skill 路由文件本身不改,报告等其他面不受影响。
## 4. 硬红线
1. 不改 Skill 文件(`skills/**`),不 bump Skill 版本。
2. 不放宽置信度上限(`confidenceCap`),不删非医疗边界。
3. 清单只能引用卡上真实存在的字段名(含第一单新增的 `aspected_by`、`conjunct_with`、`combust`、`lord_rows`、`significator_rows`、`saturn_from_moon_house`);引用不存在的字段视为未通过。
4. 不得用正则判断问题领域或意图(沿用 BUG-976/977 口径)。
5. 改既有断言写三栏。
## 5. 任务分解
### T1 通用读法(BUG-1160)
在 `consultation-condensed-checklist.ts` 新增 `CONDENSED_SHARED_READING_LINES`,由 `consultationMethodologyForDomains` 在每轮的 `sections` 最前面推入一次(标题「通用读法 · 先看受冲」)。定稿文本:
1. 先看受冲,再看旺弱。旺弱和力量(入旺、入庙、Shadbala、SAV)只说明这颗星自己有没有力气,不说明它管的那件事顺不顺、那个人在不在你身边。
2. 受冲信号,每条算一个:①宫、宫主或代表星与罗睺、计都、土星、火星同宫(`conjunct_with`),或被土星、火星照(`aspected_by`);②宫主落 6、8、12 宫,或落在从该宫数起的第 6、8、12 宫;③宫主或代表星是本上升的功能凶星;④落陷或燃烧(`combust`);⑤对应分盘里同号宫有凶星,或宫主落分盘的 6、8、12 宫。
3. 同一个人或同一件事有两个及以上受冲信号:这一段第一句先写这一面,用「可能」,括号里写是哪几条;只有一个:补充一句;没有:不写。吉的一面同样要有依据,吉凶都有时两面都说。
4. 力量大的星如果本身是 6、8、12 宫主,它带来的麻烦也有力量,不得因为「强」就说「没事」。
5. 不写没有区分度的推论:逆行不等于「反复、打回来」;宫主不在本宫不等于「往外跑」;某星不在某宫不等于「离得远」;空宫不单独下结论。
6. 不断言死亡、离婚、疾病诊断、流产、不孕。
**验收**:`consultationMethodologyForDomains(["parents"])` 等任一领域,`sections[0].title` 为通用读法,且每轮只出现一次(两个领域同轮也只一次)。
### T2 新增 7 份领域清单 + 健康中文清单(BUG-1161)
写入 `CONSULTATION_CONDENSED_CHECKLISTS`,并在 `domainMethodology` 给对应领域填 `strictRoute` 名(父母、子女等可用 `"consult-<domain>"` 这类本地名,注释说明来源是本任务书),保证 `domains_without_strict_checklist` 为空。定稿文本:
**parents**
1. 父亲:9 宫、9 宫主、太阳、PiK(卡上有才看);母亲:4 宫、4 宫主、月亮、MK;D12 同号宫及其宫主。看 `roles.father/mother` 的 `lord_rows`、`significator_rows`。父亲、母亲各自判断,依据不混用。
2. 先判断「在不在身边、近不近」,再谈性格:受冲信号两个及以上,这一段第一句写「爸爸(妈妈)可能不常在你身边 / 很早就有距离 / 关系断断续续」,不得写成「有分量」「站得住」。
3. 4 宫、4 宫主、月亮都落双体星座(双子、处女、射手、双鱼),且有受冲信号:可以提「照顾你长大的可能不止一位」,只作可能。
4. 不拿太阳、月亮的旺弱代替关系好坏。
5. 禁写:凭单一信号断定父母离婚、去世、生病。
6. 时间:9 宫主、4 宫主、太阳、月亮的大运子运,配 Narayana 当前段。
**children**
1. 必看:5 宫、5 宫主、木星、PK;D7 上升、D7 的 5 宫与 5 宫主落 D7 第几宫。
2. 先分清问的是「有没有、来得顺不顺」还是「和孩子怎么相处」。前者看受冲信号(5 宫主落 6、8、12;D7 的 5 宫主落 D7 的 6、8、12;木星落陷、燃烧、受冲),只能说「可能晚、可能要费些周折」。
3. 孩子性别不写,统一写「孩子」。
4. 禁写:断言不孕、流产、孩子性别、孩子的健康诊断。
**education**
1. 必看:4 宫(正规学业)、5 宫(理解力、考试)、9 宫(高等教育)及宫主;水星、木星;D24 上升与 4、5、9 宫。
2. 学历路和真本事分开说:4、9 宫受冲而 5 宫、水星有力,常见「学历这条路不顺,本事不靠学历」。
3. 分盘行只有星座:旺弱以卡上 `d9` 段和本命 `status` 为准,不自己推分盘旺弱。
4. 禁写:断言考不上、拿不到学位。
**migration**
1. 必看:4 宫(家乡、住处)、12 宫(远方、异地居住)、9 宫(远行)及宫主;罗睺;D4。
2. 先说这张盘一生迁动多不多(包括早年),再说现在的时间。
3. 禁写:只凭一次行运断言搬家、出国。
**family**
1. 先分清问的是谁(父母、兄弟姐妹、伴侣家人、孩子),按人分开,各自取宫:父母见父母清单,兄弟姐妹 3 宫、3 宫主、火星,家里整体 2 宫、4 宫。
2. 受冲读法同通用读法。
**annual**
1. 年盘(年主、Muntha、年运)只作当年层;一生的底子仍以本命为准。
2. 必看:当前大运、子运的星主管哪几宫、和谁同宫、被谁照;Narayana 当前段所在宫;土星、木星行运所在宫;`saturn_from_moon_house` 为 12、1、2 时是土星压月亮那几年,只说压力大、节奏慢,不说灾。
3. 罗睺、计都主事的大运要点出来:落哪宫、和谁同宫。
4. 禁写:凭一次行运断言具体事件或日期。
**general**
1. 命宫、命主、月亮、太阳的强弱与受冲是底子,先讲。
2. 入旺或入庙的星坐 1、4、7、10 宫是大力量,要说出来;落陷的星,卡上瑜伽有取消才说取消。没上卡的格局不得自造名字。
3. 起步与后劲分开说;不得因一颗星落陷就说「起步慢、没天赋」。
**health**(取代普通对话里的英文 health route;报告面不变)
1. 先讲体质底子:命宫、命主、月亮、太阳的强弱与受冲。命主兼 6、8 宫主,或与 6、8 宫主同宫,底子偏弱、需要长期照顾。
2. 必看:6 宫(疾病)、8 宫(慢性、手术)、12 宫(住院)及宫主;土星、火星;D6、D8、D30 上命主、6 宫主、8 宫主落第几宫、和谁同宫。
3. 宫位对应的身体部位只作提示(如 4 宫胸、心、肺),不写成诊断。
4. 分三层:一生底子;压力窗(当前大运子运激活 1、6、8、12 宫主);恢复窗。
5. 禁写:诊断、病名、治疗建议、手术或死亡的断言;保留「这不是医疗意见」。
**验收**:每份清单只引用卡上字段(硬红线 3),合同测试列出每领域 `sections` 标题;`domains_without_strict_checklist` 对全部 12 个领域为空。
### T3 事业、婚姻、财富补受冲行(BUG-1162)
- career 加一行:「AL 落第几宫要说出来(落 10 宫 = 公众形象就是事业);10 宫主、AmK 的受冲按通用读法。」
- marriage 加一行:「7 宫主或金星与罗睺、计都同宫,火星照 7 宫,UL 第 2 宫有凶星,伴侣代表星落 6、8、12:受冲两个及以上就写「感情可能不止一段 / 可能有断续」,只作可能;不预设用户现在有伴侣或单身。」
- wealth 加一行:「8 宫也管版税、继承、意外之财,不只读成纠纷;2、11 宫主与 9 宫主同宫或互照是财富组合。」
### T4 健康改口径(BUG-1163)
- `consultation-domain-registry.ts` health:`label: "健康"`,`aliases` 保留 `身心压力`,`prompt: "我的身体底子怎样,哪些方面要多留意?"`;`claimBoundary`、`confidenceCap` 不变。
- `guided-jyotish-topics.ts` 与所有展示「身心压力」的入口同步(`git grep -n "身心压力" frontend/src` 只剩 alias 一处)。
- `frontend/docs/VOICE.md` 健康口径更新;改 UI 文案的同一提交更新 `frontend/DESIGN.md`(若无视觉变化,进度记录写明)。
### T5 文档与记录
`docs/BUG_HISTORY.md` 登记 1160~1163,关联 BUG-1070、BUG-1132、BUG-1134;`CHANGELOG.md` 一条(Skill 不 bump);进度记录与索引。
## 6. 让步顺序
T1、T2 的父母与健康清单、T4 不可让步;其余领域清单可以分两次提交,但同一单内完成。不能为了字符预算删清单行:先确认 12,000 字符断言是否只算「契约 + 卡」(清单不在内,见 `consult-evidence-card-20260927.test.ts` 的 `methodHeavy`),再决定。
## 7. 开工前置命令
```bash
git fetch origin --prune
git log origin/staging --oneline | grep -m1 "BUG-115[4-9]" # 确认第一单已上 staging
git worktree add -b codex/consult-affliction-reading-20261001 .worktrees/consult-affliction-reading-20261001 origin/staging
grep -o "BUG-1[0-9]\{3\}" .worktrees/consult-affliction-reading-20261001/docs/BUG_HISTORY.md | sort -u | tail -1
```
验收口径同第一单(前端四件套 + build Static)。本单不跑模型;效果由第三单的名人回测验收。