Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
22 KiB
PROGRESS · 事业题看行业与名声、开场守「只说迹象」、功能吉凶典籍对照表、传统格局上卡(2026-10-02)
- 任务书:
docs/tasks/TASK-consult-career-yoga-functional-20261002.md - 执行方式:产品负责人要求子代理直接执行(Claude 子代理);只 commit、未 push。
- 基线:
origin/staging8e978cab(任务书提交;代码同6987875b) - 分支 / worktree:
codex/consult-career-yoga-functional-20261002/.worktrees/consult-career-yoga-functional-20261002 - T1 触发硬红线 3,已停:T1 单独放在分支
codex/consult-career-yoga-functional-t1-20261002(1d039429,未合入本分支),交产品决定。本分支不含 T1,回测与 golden 都按不含 T1 的代码生成。 - BUG 编号:开工核对最大号 BUG-1173;本单 BUG-1174~1177(T2~T5),更新 BUG-1158 / 1159 / 1164 / 1167 / 1168。
开工预检
python3 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45:status pass;唯一 ok: false 是 .venv 不存在(本机用系统 python3,已知环境缺口)。
T1 功能吉凶 BPHS 第 34 章对照表(BUG-1158)— 已实现、未合入(硬红线 3)
出处
- EN:公开英文译本「Brihatparāśarahorāśāstra」第 34 章「Yoga Karakas」第 13、19–44 颂(vedpuran.net 流传的 PDF,印地语术语版,文件内未署译者;不是 R. Santhanam 原版排印,因此代码与本文都不写成 Santhanam)。
- SA:enjoylearningsanskrit.com「bṛhat-pārāśara-horā-śāstram chapter 34」梵文原颂 + 逐词英译,颂号与 EN 一致。
- 两份都逐颂读完(第 1–46 颂),没有凭记忆填格。每格的出处写在
scripts/functional_benefics.pyBPHS_CH34_TABLE的注释和citations字段里。
填格规则
- 该上升的颂里点名 pāpa / malefic → 凶;śubha / auspicious → 吉;sama / samaphala / madhyaphala → 中性。
- yogakaraka(决策 D1①):只认同一颗星同时主一个角宫(4、7、10)和一个三方宫(5、9)(第 13 颂),且该上升的颂没有判它为凶。命主不因主 1 宫成为 yogakaraka。
- 颂里点名「成对」给 raja yoga 的(如天秤「月亮与水星」),记在
raja_yoga_pairs,不算 yogakaraka。 - 颂里没有给吉凶判词的星、或 EN 与 SA 意思不一致的格,保留公式值并标
formula_fallback(公式同 v1,只是 1 宫只算三方宫、不算角宫;8 宫主为日月时按第 7 颂判中性)。
12 上升旧值 / 新值
| 上升 | 旧值(v1 公式)YK / 吉 / 凶 / 中 | 新值(BPHS ch.34)YK / 吉 / 凶 / 中 | 出处 | formula_fallback |
|---|---|---|---|---|
| 白羊 | 火 / 木火日 / 水土 / 月金 | — / 木火日 / 水土金 / 月 | v19–22 | 月 |
| 金牛 | 土金 / 水土金 / 木火月 / 日 | 土 / 水土日 / 木火月金 / — | v23–24 | 火、水 |
| 双子 | 水 / 水土金 / 火日 / 木月 | — / 水土金 / 木火日 / 月 | v25–26 | 月、水、土 |
| 巨蟹 | 火 / 木火月 / 水土金 / 日 | 火 / 木火月 / 水土金 / 日 | v27–28 | 土 |
| 狮子 | 火 / 木火日 / 水月土金 / — | 火 / 木火日 / 水土金 / 月 | v29–30(YK 依第 13 颂) | — |
| 处女 | 水 / 水土金 / 火月日 / 木 | — / 水土金 / 木火月 / 日 | v31–32 | 土 |
| 天秤 | 土金 / 水土金 / 木日 / 火月 | 土 / 水土 / 木火日 / 月金 | v33–34(YK 依第 13 颂) | 月 |
| 天蝎 | 火 / 木火月 / 水土金 / 日 | — / 木月 / 水土金 / 火日 | v35–36 | 日 |
| 射手 | 木 / 木火日 / 土金 / 水月 | — / 火日 / 土金 / 木水月 | v37–38 | 水、土 |
| 摩羯 | 土金 / 水土金 / 木火 / 月日 | 金 / 水土金 / 木火月 / 日 | v39–40 | 土 |
| 水瓶 | 土金 / 水土金 / 木火月 / 日 | 金 / 土金 / 木火月 / 水日 | v41–42 | 日 |
| 双鱼 | 木 / 木火月 / 土日金 / 水 | — / 木火月 / 水土日金 / — | v43–44 | 木 |
(木 = 木星,火 = 火星,日 = 太阳,月 = 月亮,水 = 水星,金 = 金星,土 = 土星。)
验收要求逐条:白羊无 yogakaraka 火星 ✔;金牛 / 天秤只有土星 ✔;巨蟹 / 狮子只有火星 ✔;摩羯 / 水瓶只有金星 ✔。tests/test_functional_benefics_bphs_table.py 锁 12 上升全部格子、每格出处、yogakaraka 必须同时主角宫与三方宫。
交产品与占星顾问复核的格(formula_fallback 与歧义)
- 金牛水星:EN「Budh is somewhat inauspicious」,SA「budhas tv alpa-śubha-pradaḥ」(给的好处少)——两个译法相反,保留公式值(吉)。
- 双子:第 25 颂「eka eva kaviḥ śubhaḥ」(只有金星吉),但没判水星(命主)、土星(9 宫主)为凶——保留公式值(吉);若按「只有金星吉」应改中性。
- 射手土星:第 37 颂「eka eva kaviḥ pāpaḥ」(只有金星凶),又说土星是 killer——保留公式值(凶),与「只有金星凶」字面冲突。
- 只被点名为 maraka(killer)、没有吉凶判词的:金牛火星、巨蟹土星、水瓶太阳——保留公式值。
- 只出现在「成对 yoga」里的:天秤月亮、天蝎太阳、射手水星、双鱼木星(命主)——保留公式值;对应的对子记在
raja_yoga_pairs(处女金+水、天秤月+水、天蝎日+月、射手日+水、双鱼火+木)。 - 狮子火星、天秤土星的 yogakaraka:该上升的颂只说「吉」,yogakaraka 依第 13 颂(同一颗星主角宫与三方宫)推出,没有逐上升点名。
- 水瓶第 41 颂 SA 行尾带「bṛhaspatiḥ」,EN 只译金星为唯一 raja yoga 星;同颂判木星为凶,按金星唯一处理。
- 天秤金星(命主兼 8 宫主)判中性、天蝎火星(命主兼 6 宫主)判中性、射手木星(命主)判中性、金牛金星(命主兼 6 宫主)判凶:都是颂的原文,与 v1「命主一律吉」不同,属已知变化。
- 另一套实现
scripts/yoga_engine.pyfunctional_malefics()/functional_benefics()(瑜伽规则引擎内部用)不读本模块,本单未改,口径仍是旧的;是否统一交产品决定。
生时校正回归门(硬红线 3)
命令:python3 scripts/research/holdout_v5_baseline.py --dataset v5 --out-dir <scratchpad>(v5 77 例;改前在 origin/staging 一次性 worktree 跑,改后在 1d039429 一次性 worktree 跑,只差 T1)。
| 指标 | ±10 改前 → 改后 | ±30 改前 → 改后 | ±60 改前 → 改后 |
|---|---|---|---|
| 引擎先验头名(sweep top1) | 0.1818 → 0.1688(−1.3 pp) | 0.0779 → 0.0779 | 0.0649 → 0.0649 |
| 覆盖(sweep coverage) | 1.000 → 1.000 | 1.000 → 1.000 | 1.000 → 1.000 |
| 六题回放头名(sweep replay_top1) | 0.6364 → 0.5974(−3.9 pp) | 0.4935 → 0.4675(−2.6 pp) | 0.2597 → 0.2857(+2.6 pp) |
| 线上区间回放头名(cluster_width top1) | 0.6753 → 0.6364(−3.9 pp) | 0.4935 → 0.5195(+2.6 pp) | 0.3247 → 0.3896(+6.5 pp) |
| 线上区间覆盖(cluster_width coverage) | 0.987 → 0.987 | 0.987 → 0.987 | 0.974 → 0.974 |
| 区间宽度中位(cluster_width) | 15 → 13 | 35 → 35 | 63 → 65 |
结论:±10 的头名掉 1.3~3.9 个百分点、±30 六题回放掉 2.6 个百分点,超过 1 个百分点,按红线停在 T1。覆盖不变;±60 反而上升。逐例看,±10 六题回放是 8 例丢、5 例得(净 −3),±30 是 5 丢 3 得,±60 是 5 丢 8 得——属于换牌式的波动,与 09-29 研究「42 个特征在 77 例上多为噪声」一致,但红线按数字执行。T1 提交保留在 codex/consult-career-yoga-functional-t1-20261002,交产品决定:①接受这次波动合入;②只合入「yogakaraka 必须同时主角宫与三方宫」这一条、吉凶表另议;③不合入。
T2 瑜伽检测不跳过(BUG-1174)
scripts/consultation_native_layers.py新增collect_consultation_yogas/merge_detected_yogas:规则引擎(yoga_expansion.detect_all_yogas+yoga_engine.detect_yogas)每次都跑,与chart.yogas按归一化名字合并去重,再进 Raman 筛选;规则引擎抛错时保留chart.yogas(原先chart.yogas非空时本就不跑)。scripts/jyotish_api_server.py:删掉if not compact:分支,改为调用上面的函数(+2 / −18 行,tests/test_api_server_growth_contract.py过;类方法数不变)。tests/test_consultation_yoga_detection_merge.py:锁「chart.yogas 非空时规则引擎仍运行」、去重、引擎失败退回、服务端源码里不再有if not compact:。
改前 / 改后 modules.yogas 的 hits(四条路由的并集;三位 golden 名人即前三位):
| 名人 | 改前 hits | 改后 hits |
|---|---|---|
| Steve Jobs | — | Matrunasa、Sunaphaa、Vosi |
| Barack Obama | Matrunasa、Sunaphaa、Vosi、Ubhayachara、Dharidhra、Swaveeryaddhana | 同左(排盘本无自带瑜伽,原先就跑了规则引擎) |
| Elizabeth Taylor | — | Bahu Puthra、Eka Puthra、Matrunasa、Anaphaa、Vosi、Ubhayachara、Swaveeryaddhana |
| Marilyn Monroe | — | Matrunasa、Sunaphaa、Anaphaa、Duradhara、Vosi、Ubhayachara、Swaveeryaddhana |
| Judy Garland | — | Eka Puthra、Matrunasa、Anaphaa、Dharidhra、Swaveeryaddhana |
| Édith Piaf | — | Eka Puthra、Matrunasa、Sunaphaa |
| Frida Kahlo | Matrunasa、Dharidhra | 同左 |
| George W. Bush | — | Matrunasa、Anaphaa、Vosi、Ubhayachara、Dharidhra、Swaveeryaddhana |
| Zinedine Zidane | — | Matrunasa、Vosi、Ubhayachara、Swaveeryaddhana |
观察(未改,不在本单范围):泰勒、齐达内的排盘自带「Kemadruma Yoga」(月亮两侧无星),规则引擎同时判出 Anaphaa / Vosi / Ubhayachara(月亮或太阳两侧有星)——两套检测器对同一张盘结论相反,现在两条都会进到模型可见的数据里。建议另开单核对。
T3 传统格局栏(BUG-1175)
- 引擎:
build_traditional_yogas(_guard包裹)从raman_support.yogas的hits+ungoverned_detected里按封闭名单取成立项,挂consultation_native_layers.traditional_yogas = {status, source, label, names}。名单按引擎实有名称对齐:Ruchaka、Bhadra、Hamsa、Malavya、Sasa(含 Shasha)、Gajakesari、Neecha Bhanga Raja(引擎名 Neechabhanga Raja Yoga / … (Kendra))、Budha-Aditya(引擎另有同一组合的「Surya-Budha Yoga」,并成一行)。名单内每个格局引擎都有检测器,没有新写检测器。 - 投影:
consultation-workflow.ts新增traditional_yogas白名单(status / reason / source / names;label 由卡片自己写)。 - 卡片:general、career、wealth 三张卡加
traditional_yogas: {label, names},label固定为EVIDENCE_CARD_LABELS.traditionalYogas「传统格局,本站未验证,只作参考」;没有成立项就不出现。 - 通用读法第 8 行:「
traditional_yogas只用来说明力量,不单独下结论,不算受冲,也不抵消受冲。」 - 各名人检测结果(golden 实测):Jobs Gajakesari;Obama Sasa、Neecha Bhanga Raja、Budha-Aditya;Taylor Hamsa、Gajakesari、Budha-Aditya;Monroe Budha-Aditya;Garland Bhadra;Piaf Budha-Aditya;Kahlo 无;Bush 无;Zidane Budha-Aditya。
- 验收:
frontend/tests/consult-career-yoga-functional-20261002.test.ts(奥巴马综合卡含 Sasa、Neecha Bhanga Raja;乔布斯、泰勒含 Gajakesari;只有三张卡带;空时不出现;标签原文)。数据卡 12,000 / 18,000 字符断言原样通过。
T4 事业清单(BUG-1176)
career 清单第 1 行后加任务书定稿的两行(原文,未改字)。清单 7 → 9 行。
T5 开场规则(BUG-1177)
natalAnswerShapeBody 第一句换成定稿句;合同测试锁句并断言不再有「第一句就是结论」。另:product-voice.ts ANSWER SHAPE 第 1 条(系统提示里的同一条开场规则)补一句「开场的结论只说哪条线顺、哪条线有压力迹象,不替用户断定在不在身边、几段感情、有没有病,不写程度结论」——任务书 T5 只点名 natalAnswerShapeBody,但系统提示里同一规则仍写「第一句就是结论」,不补会与 D5 冲突;原句保留,既有合同测试 /开场一到三句人话,第一句就是结论/ 不受影响。VOICE §7 ① 同步。
改动的既有断言
| 文件 · 测试 | 原值 | 新值 | 原因 |
|---|---|---|---|
consult-affliction-reading-20261001.test.ts「T1: the shared reading is the first section…」 |
CONDENSED_SHARED_READING_LINES.length === 7 |
=== 8 |
T3 定稿给通用读法加一行(BUG-1175) |
| 同文件「T3: career, marriage and wealth each carry their affliction line」 | 三份清单 5–8 行 | marriage / wealth 5–8 行,career 5–9 行 | T4 定稿给事业清单加两行(BUG-1176) |
consult-condensed-checklist-20260927.test.ts「each condensed list is 5–8 lines」 |
三份 5–8 行;全部清单 2–8 行 | career 上限 9,其余不变 | 同上 |
T1 分支(未合入)tests/test_mcp_strict_workflow_functional_layer.py |
source == "strict_functional_benefic_malefic_v1" |
"bphs_ch34_table_v1" |
D1 推翻 v1 公式 |
T6 回测(BUG-1167 补记)
- 评分表
docs/research/consult_biography_backtest_rubric.json版本 2026-10-02:9 位事业项加expected_field(按任务书)与public: true,how_to_score.career_field写明「行业对」与「专业 / 幕后误判」的判法。T1 未合入,乔布斯事业expected_signals「10 宫主水星是 yogakaraka」保持原样。 - golden:两份都用 capture 脚本重新生成(
PYTHONHASHSEED=0 JYOTISH_API_CHART_CACHE_TTL_SECONDS=0),同一代码两次输出逐字节相同;未手改。 - 命令:
--repeats 2 --concurrency 4 --correction barack_obama,marilyn_monroe,judy_garland,edith_piaf,72 份 + 8 份纠正,失败 0。逐份阅读评分,结果见docs/testing/consult-affliction-backtest-20261001.md「改动后(第三轮)」。
| 通过线(任务书 T6) | 第三轮 | 达到 |
|---|---|---|
| 事业「行业对」≥ 14 / 18 | 3 / 18(其中 1 份弱) | 否 |
| 「专业 / 幕后」误判 ≤ 3 / 18 | 12 / 18 | 否 |
| 对照组严重误报 0 | 0 | 是 |
| 对照组轻度误报 ≤ 2 | 3 | 否 |
| 严重冲突总数 ≤ 5 / 72 | 15 / 72(事业 12、父母 3) | 否 |
| 其余领域不比第二轮差 | 父母持平(严重 3);婚姻持平(误报 1 → 0,读反 0 → 1 轻);健康持平略好(读反 1 → 1,误报 3 → 2,全部轻) | 是(持平) |
| 禁句 0 | 0 | 是 |
读出来的主因:模型确实按 T4 的「星的本性」取行业了,但这几张盘上 10 宫、10 宫主、AmK 落到的是水星 / 木星 / 土星(分析、顾问、组织),按清单的对照表本来就推不出「表演 / 竞技 / 政治」;「公众型」的几条依据(太阳或 10 宫主强在角宫、AL / A10 落角宫)在乔布斯、布什、齐达内盘上也不成立。也就是说,按 D4 定稿的对照表,这批盘的行业和公众性从盘面读不出来——不是模型没照做,是对照表与这批名人的生平对不上。要过线需要产品与占星顾问决定事业口径(例如 D10、AL 落 10 宫、入旺星的权重),不是改措辞。开场规则(T5)有效:对照组开场下结论的轻度误报 6 → 3。
门禁
| 项 | 基线(origin/staging 一次性 worktree) |
本分支 |
|---|---|---|
tsc --noEmit |
— | 0 错 |
npm run lint |
— | 0 error / 126 warning |
npm test(Node 22) |
4,898 项:pass 4,833 / fail 24 / cancelled 0 / skip 41 | 4,904 项:pass 4,839 / fail 24 / cancelled 0 / skip 41;失败名单与基线逐条同名(24 项都是需要 Docker / PostgreSQL / 部署环境的套件) |
next build |
/ ○ Static |
/ ○ Static |
首屏 gzip(预渲染 index.html 引用的 /_next/ 脚本 gzip-9 求和,同法实测) |
952,189 B | 952,189 B(0%) |
| Python 定向 | — | test_consultation_yoga_detection_merge.py、test_consultation_native_layers.py、test_api_server_growth_contract.py、test_active_rectification_events.py、test_report_longform_parity.py、test_cli_smoke.py、test_consultation_consumer_context.py、test_api_server_security.py 全过;test_consult_evidence_card_research.py::test_source_parsers_keep_family_split_gap 失败,基线同样失败(与本单无关) |
快速门 run_quality_gate.py --profile quick(系统 python3 + Node 22) |
— | pytest 1,041 passed / 1 skipped;门内 npm test 与上行相同(24 项环境失败),门禁总状态因此为 failed |
| 隐私标记 | — | tests/test_repo_privacy_markers.py 在快速门内通过 |
环境:frontend/node_modules 用硬链接拷贝(Turbopack 拒绝工作树外软链),未提交;模型 key 只从环境变量读,没有写入文件、日志或提交;模型输出在 scratch/consult-biography-backtest/round3-20261002/(gitignore)。
第二轮:产品 10-02 决定后的改动
A. yogakaraka 窄修(BUG-1158 部分)
- 产品决定:只合入「yogakaraka 须同时主 4/7/10 之一与 5/9 之一,1 宫不计入」;吉 / 凶 / 中性分组不变(命主仍为吉)。提交
ffafa28b,SOURCE = strict_functional_benefic_malefic_v2(jyotish_engine.py、jyotish_api_server.py两处 blocked 兜底字符串、mcp_server.py同步改名)。 - 12 上升 yogakaraka 旧 → 新:白羊 火 → 无;金牛 土金 → 土;双子 水 → 无;巨蟹 火 → 火;狮子 火 → 火;处女 水 → 无;天秤 土金 → 土;天蝎 火 → 无;射手 木 → 无;摩羯 土金 → 金;水瓶 土金 → 金;双鱼 木 → 无。吉 / 凶 / 中性分组 12 上升逐格与 v1 相同(脚本逐格比对)。
- 生时校正 v5 77 例(改前
81f6e513、改后ffafa28b,各在一次性 worktree 跑):
| 指标 | ±10 | ±30 | ±60 |
|---|---|---|---|
| 引擎先验头名 | 0.1818 → 0.1818 | 0.0779 → 0.0779 | 0.0649 → 0.0649 |
| 六题回放头名 | 0.6364 → 0.6364 | 0.4935 → 0.4935 | 0.2597 → 0.2597 |
| 线上区间回放头名 | 0.6753 → 0.6753 | 0.4935 → 0.4935 | 0.3247 → 0.3247 |
| 覆盖(区间) | 0.987 → 0.987 | 0.987 → 0.987 | 0.974 → 0.974 |
| 宽度中位 | 15 → 15 | 35 → 35 | 63 → 63 |
逐项相同,未触发红线(生时校正打分只读吉凶分组,不读 yogakaraka)。
- 测试:新增
tests/test_functional_yogakaraka_kendra_trikona.py;tests/test_mcp_strict_workflow_functional_layer.py两处 source 断言:原值strict_functional_benefic_malefic_v1/ 新值..._v2/ 原因:产品 10-02 yogakaraka 定义改动。 - T1 分支保持原表不动,只追加复核清单
docs/research/bphs_ch34_functional_table_review_2026_10_02.md(c66c122a)。更正:待复核的formula_fallback格是 15 个,首次回报写成 14 个。
B. 上游 e9beae6b 移植(未执行,权限)
协调方随后要求改为移植上游 /workspace/yinduzhanxing e9beae6b 的 functional_benefics.py(原样)、pancha_mahapurusha.py(原样)、yoga_engine.py 局部与 references/functional-role-profile.md。已核对:我方两份文件与上游改动前版本逐字节相同。但本会话的自动权限判定以「Untrusted Code Integration」拒绝了从另一仓库原样拷入代码,按规则没有用别的办法绕过,移植未做,需要用户在权限设置里放行后再执行。因此主分支仍是 A 的窄修;回退方案里的 pancha_mahapurusha 修复(同样来自上游)也未做。career_analysis.py、jyotish_api_server.py 的上游改动按指示不移植。另记:上游的 references/functional-role-profile.md 若移植,references/ 是 Skill 包(硬红线 5),应放 docs/research/ 并改 rule_reference。
C. 事业「不猜行业,问用户」(BUG-1176 决策日志)
CAREER_FIELD_ASK_RULE定义在consultation-thinking-plan.ts,事业清单第 1 行引用(取代「先讲一生事业形态:公众型还是幕后型」与第一轮加的两行);AL 一行去掉「落 10 宫 = 公众形象就是事业」;CAREER_FOLLOW_UP_RULE进追问轮形状。VOICE §8 同步。事业清单 9 → 7 行,第一轮放宽的「career 5–9 行」断言改回原值 5–8。- 改动的既有断言:
consult-no-presupposition-20261001.test.ts(原值:career[0] 以「先讲这张盘一生的事业形态」开头、含「受冲只说阻力和代价,不改写事业形态」/ 新值:以CAREER_FIELD_ASK_RULE开头、含「不替用户断定他做哪一行、是公众型还是幕后型」/ 原因:产品 10-02 决定);consult-condensed-checklist-20260927.test.ts「the writer's prompt carries…」(原值:career 必含「事业形态」/ 新值:必含「不替用户断定他做哪一行」/ 同上)。 - 回测脚本加
--correction-domain、--correction-texts(每位名人一条追问)。 - golden 用 capture 脚本重生成(yogakaraka 变化),两次逐字节相同。评分表:
how_to_score.career_field改为第四轮口径,pass_lines_career_round4;乔布斯事业expected_signals不再说水星是 yogakaraka。
D. 第四轮回测(详表见测试文档「改动后(第四轮)」)
| 通过线 | 第四轮 | 达到 |
|---|---|---|
| 事业行业 / 类型与生平冲突 ≤ 1 / 18 | 9 / 18 | 否 |
| 事业段末请问一句 ≥ 16 / 18 | 18 / 18 | 是 |
| 严重冲突总数 ≤ 5 / 72 | 12 / 72(事业 9、父母 3) | 否 |
事业追问(足球运动员 / 演员 / 政治家 × 2)6 / 6 按真实职业读、不编依据。新出现禁句 1 处(Piaf 健康 r2);3 份全篇两处请求。
门禁(第二轮)
| 项 | 结果 |
|---|---|
| tsc | 0 错 |
| lint | 0 error / 126 warning |
| npm test(Node 22) | 4,905 项:pass 4,840 / fail 24 / cancelled 0 / skip 41;失败名单与基线逐条同名 |
| build | / ○ Static;首屏 gzip 952,189 B(0%) |
| Python 定向 | yogakaraka、mcp 功能层、瑜伽合并、native layers、生时校正事件、报告长文、cli smoke、consumer context、api security、增长合同、隐私标记全过 |
提交
主分支 codex/consult-career-yoga-functional-20261002(未 push):c74bfcc0、dd817c8e、5af6b222、81f6e513、ffafa28b、6a02e5e9 及本文档提交。T1 分支 codex/consult-career-yoga-functional-t1-20261002:1d039429、c66c122a。