From 8e978cabc48f525a160ca8206f0e112d36837df3 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Fri, 2 Oct 2026 08:03:33 +0800 Subject: [PATCH] docs(tasks): career field/fame reading, opener rule, BPHS functional table, traditional yogas Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE --- docs/tasks/README.md | 1 + ...consult-career-yoga-functional-20261002.md | 96 +++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 docs/tasks/TASK-consult-career-yoga-functional-20261002.md diff --git a/docs/tasks/README.md b/docs/tasks/README.md index e8b55fcd..564d2a1e 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -406,3 +406,4 @@ | `TASK-consult-card-affliction-data-20261001.md` | `PROGRESS-consult-card-affliction-data-20261001.md` | 普通对话「盘上有信号、模型没认出」三单之一:数据卡补相位(谁照谁)、同宫、燃烧,父母卡带宫主与代表星完整行,健康卡加 1/12 宫、学业卡加 4 宫,瑜伽按领域分流(预留 BUG-1154~1159);排查记录 `docs/research/consult_affliction_audit_2026_10_01.md` | **已实现待验收**(Claude 子代理直接执行,BUG-1154~1159;未推送);三单串行第一 | 分支 `codex/consult-card-affliction-data-20261001` | | `TASK-consult-affliction-reading-20261001.md` | `PROGRESS-consult-affliction-reading-20261001.md` | 三单之二:全领域「先看受冲、再看旺弱」通用读法,补齐父母/子女/学业/迁居/家庭/年运/综合/健康中文清单,健康改名「健康」先讲体质底子(预留 BUG-1160~1166) | **已实现待验收**(Claude 子代理直接执行,BUG-1160~1163;未推送);年运 / 时运字数口径产品 10-02 已定(同事业 / 婚姻 / 财富),实现在第三单分支 `ec06d422` | 分支 `codex/consult-affliction-reading-20261001` | | `TASK-consult-no-presupposition-and-backtest-20261001.md` | `PROGRESS-consult-no-presupposition-backtest-20261001.md` | 三单之三:写作形状去掉「对象在场」预设、受冲时请用户确认、删被照抄的「逆行」示例、用户纠正时不辩护;建立名人生平回测作为普通对话提示词改动的固定验收(预留 BUG-1167~1172) | **已实现待验收**(Claude 子代理直接执行,BUG-1164~1168;未推送);基于第二单分支 + staging;名人回测已跑改动后:严重冲突 39→19、禁句 7→0、纠正追问 8/8,对照组误报 1→15;产品 10-02 改「迹象 + 范围」口径(`066558a6`)后第二轮:严重 15/72、误报 6(轻)、排查 5 份 8/10、新增名人严重 6/32、事业 12/18,修订通过线仍只有禁句达到;含产品 10-02 年运 / 时运字数口径(第二单 blocker 解除) | 分支 `codex/consult-no-presupposition-backtest-20261001` | +| `TASK-consult-career-yoga-functional-20261002.md` | `PROGRESS-consult-career-yoga-functional-20261002.md` | 三单回测遗留三项:事业题按星的本性看行业、按名声信号看公众/幕后;开场守「只说迹象」;功能吉凶改 BPHS 第 34 章对照表(推翻 v1 公式,命主不再一律 yogakaraka);瑜伽检测不跳过;大格局以「传统格局,本站未验证」上卡(产品授权放宽 §8.4 仅限此栏)(BUG-1174 起) | **待执行**(子代理直接执行) | 分支 `codex/consult-career-yoga-functional-20261002` | diff --git a/docs/tasks/TASK-consult-career-yoga-functional-20261002.md b/docs/tasks/TASK-consult-career-yoga-functional-20261002.md new file mode 100644 index 00000000..000ab000 --- /dev/null +++ b/docs/tasks/TASK-consult-career-yoga-functional-20261002.md @@ -0,0 +1,96 @@ +# TASK · 事业题看行业与名声、开场守「只说迹象」、功能吉凶改典籍对照表、大格局按「传统格局」上卡(2026-10-02) + +- 基线:`origin/staging` `6987875b`(含 `f361365a` 三单与名人回测) +- 分支 / worktree:`codex/consult-career-yoga-functional-20261002` / `.worktrees/consult-career-yoga-functional-20261002` +- 范围:功能吉凶层(`scripts/functional_benefics.py`,全站共用)、普通对话瑜伽检测与数据卡、事业清单、开场写法、名人回测评分表。报告面、生时校正面**只承受功能吉凶层变化的后果**,不改其逻辑。 +- BUG 编号起点:`BUG-1174`(开工时 `grep -o "BUG-1[0-9]\{3\}" docs/BUG_HISTORY.md | sort -u | tail -1` 核对,当前最大 1173)。 + +## 1. 事故实证 + +见 `docs/testing/consult-affliction-backtest-20261001.md`「改动后(第二轮)」与 `docs/research/consult_affliction_audit_2026_10_01.md`。 + +1. **事业题 12/18 被写成「专业型 / 幕后」,行业也读不出。** 齐达内(球星):「能变成钱的主线是说话、写东西、分析信息」;乔布斯:「偏知识型、偏幕后,不是靠曝光度」;奥巴马:「专业交付这条路,出头偏慢」。各盘开头几乎是同一段。 +2. **对照组 6 份轻度误报都在开场。** 布什父母开场「距离感明显」「偏外,见面少」;齐达内健康「不是能硬扛的类型」。段内已经给了范围,但开场先下了结论。 +3. **功能吉凶(BUG-1158)。** `derive_functional_benefic_malefic` 把 1 宫同时算作三方宫和角宫,除日月外的命主一律进 `yogakarakas`:12 个上升里有 10 个多标(白羊火星、金牛金星、双子水星、处女水星、天秤金星、天蝎火星、射手木星、摩羯土星、水瓶土星、双鱼木星)。另有流派差异:12 宫主一律判凶(处女太阳、狮子月亮),吉星管角宫判中性(双子木星、处女木星、双鱼水星),凶星管角宫判中性(天蝎太阳),摩羯月亮(7 宫主)判中性。 +4. **大格局(BUG-1159)。** `scripts/jyotish_api_server.py` 普通对话 yogas 块只在 `chart.yogas` 为空时跑规则引擎(`if not compact:`);乔布斯、泰勒排盘自带 1~2 条,于是 Raman 包成员规则大多被判「未命中」,`hits` 可能漏报。Sasa、Neecha Bhanga Raja、Gajakesari 不在任何 Raman 包,只进 `ungoverned_detected`,卡上没有;奥巴马综合篇因此把落陷木星读成「早年自我评价偏低」。 + +## 2. 根因 + +1. 事业清单只讲时间分层与受冲,没有「从盘上看行业、看名声」的读法;模型用「稳妥上班族」模板补位,「先看受冲」又把人人都有的土星照 10 宫推到开头。 +2. `natalAnswerShapeBody` 开场「第一句就是结论」不受 `AFFLICTION_RANGE_RULE` 约束(该规则写的是「这一段」)。 +3. 功能吉凶用一条公式推,没有典籍出处;`kendras = {1,4,7,10}` 让命主恒满足 yogakaraka 条件。 +4. 规则引擎的跳过条件是性能优化遗留,与「检测完整」冲突;大格局的治理范围从未定过。 + +## 3. 决策记录(产品 2026-10-02 授权) + +- **D1 功能吉凶改为典籍对照表。** ①yogakaraka 只认「同时管一个角宫(4、7、10)与一个三方宫(5、9)」,命主本身不因管 1 宫成为 yogakaraka;②12 个上升的吉 / 凶 / 中性 / yogakaraka 改为按《Brihat Parashara Hora Shastra》第 34 章逐上升写死的对照表,每格注明出处(译本、章、颂),不再用公式推。原文含义有歧义的格子,在进度记录里列出、保留公式值并标 `source: formula_fallback`,交产品与占星顾问复核。**推翻** `strict_functional_benefic_malefic_v1`(`09817b96`,2026-06-28)。全站(报告、生时校正、合盘、今日星语、数据卡)随之变化,属产品已知代价。 +- **D2 修瑜伽检测跳过。** 规则引擎每次都跑,与排盘自带的瑜伽合并去重;这是完整性修复,不放宽任何边界。 +- **D3 大格局以「传统格局,本站未验证,只作参考」上卡。** 引擎检测到的封闭名单内大格局(五大人格 Ruchaka / Bhadra / Hamsa / Malavya / Sasa、Gajakesari、Neecha Bhanga Raja、Budha-Aditya,执行方可按引擎实有名称对齐,名单外不加)单列 `traditional_yogas`,只放成立的(hit),带固定标签。读法:只能用来说明「这颗星 / 这条线有力量」,不能单独下结论,不进受冲计数,不改置信度上限。**产品明确授权在这一处放宽 AGENTS §8.4「不得放宽验证边界」**,范围仅限这一栏的展示;Raman 治理包与 `modules.yogas` 不变。 +- **D4 事业清单加行业与名声读法,禁写无依据的定性。** 定稿文本见 T4。 +- **D5 开场守同一条规则。** 开场不得替用户断定 `AFFLICTION_RANGE_RULE` 列出的事实,也不写「距离感明显」「不是能硬扛的类型」这类程度结论;开场只说哪条线顺、哪条线有压力迹象。 +- **D6 回测加「行业对不对」。** 名人回测的名人都是名人,「公众型」天然成立,所以事业题改看行业与公众性是否与生平相符。 + +## 4. 硬红线 + +1. `scripts/jyotish_api_server.py` 只允许 bugfix 级改动(≤ 10 行,`tests/test_api_server_growth_contract.py` 必须过);逻辑放 `scripts/consultation_native_layers.py` 或独立模块。 +2. 功能吉凶对照表每格必须有出处;不得凭记忆填表。原文取自公开译本(如 R. Santhanam 译本),引用写进代码注释与进度记录。 +3. **生时校正回归门**:`scripts/active_rectification_event_engine.py` 等读功能吉凶层。改动前后各跑一次生时校正评测(`docs/research/` 下 v5 77 例评测的现成脚本,按 `rectification-scoring-research-20260929` 记录的命令),命中率与 Top-k 不得下降超过 1 个百分点;超过就停在 T1、报告数字,交产品决定。 +4. golden 由真实引擎重新生成;数据卡 12,000 / 18,000 字符断言不改。 +5. 不改 Raman 治理包、`claim_boundary`、置信度上限;不改 Skill 文件。 +6. 改既有断言写「原值 / 新值 / 原因」。 + +## 5. 任务分解 + +### T1 功能吉凶对照表(BUG-1158 改 resolved,或新号) + +- `functional_benefics.py`:新增 `BPHS_CH34_TABLE`(12 上升 × {yogakarakas, benefics, malefics, neutrals, citations}),`derive_functional_benefic_malefic` 改为查表;`SOURCE` 改为 `bphs_ch34_table_v1`;`owned_houses` 照旧计算。 +- 进度记录给出 12 上升「旧值 / 新值 / 出处」对照表。 +- **验收**:Python 定向测试锁 12 上升全部格子;白羊不再有 yogakaraka 火星;金牛 / 天秤 yogakaraka 只有土星;巨蟹 / 狮子只有火星;摩羯 / 水瓶只有金星;硬红线 3 的评测前后数字写进进度记录。 + +### T2 瑜伽检测不跳过(BUG-1174) + +- 规则引擎每次都跑,与 `chart.yogas` 合并去重后再进 Raman 筛选。 +- **验收**:三位 golden 名人 + 回测 9 位,改前 / 改后 `hits` 对照表写进进度记录;新增测试锁住「chart.yogas 非空时规则引擎仍运行」。 + +### T3 传统格局栏(BUG-1175) + +- 引擎侧:从检测结果里按封闭名单取成立项,挂 `consultation_native_layers`(`_guard` 包裹)。 +- 卡片:general、career、wealth 卡加 `traditional_yogas: {label, names}`,`label` 为固定文字「传统格局,本站未验证,只作参考」(进 `EVIDENCE_CARD_LABELS`);没有成立项就不出现。 +- 通用读法加一行:「`traditional_yogas` 只用来说明力量,不单独下结论,不算受冲,也不抵消受冲。」 +- **验收**:奥巴马综合卡含 Sasa、Neecha Bhanga Raja(以引擎实际名称为准);乔布斯、泰勒含 Gajakesari;对照组按实际检测;字符断言通过。 + +### T4 事业清单(BUG-1176) + +career 清单加两行(定稿,执行方只可改字段名对齐): + +1. 「行业看星的本性:10 宫里的星、10 宫主、AmK,以及 10 宫主在 D9 的定位星。太阳 = 权力、公职、管理;月亮 = 公众、照护、流动;火星 = 体力、竞技、工程、军警;水星 = 沟通、写作、商业、分析;木星 = 教育、法律、顾问、宗教;金星 = 艺术、表演、娱乐、美;土星 = 劳动、组织、长期工程;罗睺 = 新技术、跨界、海外、大众传播。先说最强的一两颗,不平均罗列。」 +2. 「公众型还是幕后型要有依据:太阳或 10 宫主强且在角宫、AL 或 A10 落角宫、10 宫或命宫有入旺入庙星、`traditional_yogas` 有大格局,偏公众;10 宫主落 12 宫且无上述信号,才偏幕后。没有依据就不写这一句。不写「出头慢、越往后越稳、靠专业交付」这类人人适用的话,除非能指出具体盘面。」 + +### T5 开场规则(BUG-1177) + +`natalAnswerShapeBody` 开场句改为(定稿):「开场不要标题,先用一到三句人话回答问题;开场同样守受冲规则:不替用户断定在不在身边、几段感情、有没有病,不写程度结论,只说哪条线顺、哪条线有压力迹象。不给这件事起名字,开场不写行动清单。」合同测试锁句。 + +### T6 回测与评分表(BUG-1167 补记) + +- 评分表每位名人的事业项加 `expected_field`(齐达内:体力、竞技;泰勒、梦露:表演;嘉兰:表演、唱歌;琵雅芙:唱歌、表演;卡罗:绘画、艺术;布什、奥巴马:政治、公职、法律;乔布斯:技术、商业)与 `public: true`。 +- 全量回测 9 × 4 × 2 + 纠正追问,逐份阅读评分,新增「改动后(第三轮)」一节。 +- **通过线**:事业「行业对」≥ 14/18;「专业 / 幕后」误判 ≤ 3/18;对照组严重误报 0、轻度 ≤ 2;严重冲突总数 ≤ 5/72;其余领域不比第二轮差;禁句 0。 + +### T7 文档 + +`docs/BUG_HISTORY.md`(1174 起,BUG-1158 / 1159 / 1164 / 1168 更新)、`CHANGELOG.md`(功能吉凶变化要写成用户能懂的一句)、`frontend/docs/VOICE.md`、`docs/tasks/PROGRESS-consult-career-yoga-functional-20261002.md`、`docs/tasks/README.md`。 + +## 6. 让步顺序 + +T1 触发硬红线 3 时先停 T1,其余照做。T3 名单内某格局引擎没有检测器,写进进度记录,不自己实现检测器。回测不达线如实报告,不得改通过线。 + +## 7. 开工前置命令 + +```bash +git fetch origin --prune +git worktree add -b codex/consult-career-yoga-functional-20261002 .worktrees/consult-career-yoga-functional-20261002 origin/staging +grep -o "BUG-1[0-9]\{3\}" .worktrees/consult-career-yoga-functional-20261002/docs/BUG_HISTORY.md | sort -u | tail -1 +python3 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 +``` + +验收口径:Python 定向 + quick 门;前端 tsc 0、lint 0 error、全量测试失败名单与基线逐条一致、build `/` Static;生时校正评测前后数字;名人回测按 T6。