fix(consult): complete natal chart tool on homepage topic cards (BUG-630)
Thinking models were spending the first natal step on skill_read or a Level 2 draft, so home chips such as 家庭 never satisfied the calculation contract. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -9715,3 +9715,19 @@
|
||||
- 相关记录:BUG-623、BUG-572
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-630 | 初始化后点首页「家庭」报运行合同未完成(runtime_contract_incomplete)
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-09
|
||||
- 最近更新:2026-09-09
|
||||
- 影响面:首页主题卡、「家庭」等 onboarding 建议、`POST /api/consult` 本命 agentic 路径、`run-jyotish-consultation` 合同门禁
|
||||
- 用户现象:填完生辰和地址后点「家庭」,对话里出现用户问题(例如「请帮我看看我家庭关系的整体模式和特点」),随后红字「Agent 未完成必要的方法与计算步骤,本次不会扣点。」不扣点是对的,但没有回答。
|
||||
- 触发条件:已有可用出生分钟的账号完成初始化,从首页「从一个主题开始」点家庭(或其它主题卡);模型为 thinking 模式(事故为 `deepseek-v3-flash`)。
|
||||
- 根因:本命合同要求本轮成功调用一次 `run-jyotish-consultation`。Skill 已由服务端写入系统提示,用户回合仍写「先加载 Jyotish Skill」,thinking 模型会把第一步花在 `skill_read` 或直接按 Level 2 骨架空写。家庭路由没有 named strict checklist,模型更容易不调计算工具。主题卡也不带入口身份,领域钉死只覆盖「深入看今日」和生时校正,家庭卡的 `theme: family` 可被改写成别的合法领域。Python 家庭 workflow 本身能算完,不是计算 400/500。
|
||||
- 修复:本命 Agent 第一步 `prepareStep` 只开放 `run-jyotish-consultation`,`toolChoice: "auto"`(thinking 提供商拒绝 named/required)。合同补跑与空回答补跑用同一钩子。分段写作和续写仍用原来的 `streamOptions`,禁止把该钩子接到无分钟 / 声明窗口 Agent。首页主题卡带 `entrypoint: guided_topic`,钉死路由主题且不改写可见问题。钉死入口的用户回合去掉「先加载」,并要求调用时不要填 `domains`。普通手输问题仍可自选领域。
|
||||
- 验证:`frontend/tests/consultation-agentic-runtime.test.ts` 家庭 `guided_topic` 忽略 `domains: ["general"]`、第一步工具 id;`consultation-workflow-contract.test.ts` 锁 natal `prepareStep` 不进共享 `streamOptions`、分段仍 `toolChoice: "none"`;`consultation-entrypoint.test.ts` / `starter-questions.test.ts` 锁入口枚举与主题卡接线。
|
||||
- 防复发:本命 `requireTool: true` 的第一步必须能调到计算工具。`prepareStep` 不得套到 general/window Agent,也不得套到 `composeSection`。主题卡必须带 `guided_topic`。不得把 `domains` 改成自由字符串来绕过 BUG-255 的枚举拒绝。
|
||||
- 相关记录:BUG-205、BUG-214、BUG-255、BUG-257、BUG-612
|
||||
- 复发自:BUG-214(同一句用户文案和合同门;本条是模型根本没成功调计算工具,不是失败计数把成功次数算超)
|
||||
- 修复版本:待发布
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
| `TASK-agent-voice-20260901.md` | — | Agent 输出语气 | 已合入 | `ed9497e7`(PR #48) |
|
||||
| `TASK-chat-streaming-ux-20260901.md` | `PROGRESS-chat-streaming-ux-20260901.md` | 流式体验与双会话面统一 | 已验收 | `4dc0c8c7`(BUG-473~478) |
|
||||
| `TASK-unified-loading-20260902.md` | `PROGRESS-unified-loading-20260902.md` | 首页一次等待一次揭幕 | 已验收 | `482796fc`(BUG-479) |
|
||||
| — | — | 初始化后点首页「家庭」报运行合同未完成:本命第一步未强制计算工具、主题卡无入口钉死 | 待验收 | `codex/consultation-family-contract-incomplete-20260909`(BUG-630);走查 `docs/testing/consultation-family-contract-incomplete-20260909.md` |
|
||||
|
||||
### 个人报告
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# Staging 人肉复核 · 初始化后点「家庭」必须写出回答(2026-09-09)
|
||||
|
||||
给产品负责人。不要把真实出生资料或对话正文写进任何记录。
|
||||
|
||||
对应 BUG-630。测之前先做第 0 条。
|
||||
|
||||
## 0. 确认测的是新版本
|
||||
|
||||
浏览器打开 `https://staging.jyotisha.chat/api/health`,看 `deployment.gitCommit` 前 8 位是否等于本单合入 staging 后的提交。不一致 = 先别测。
|
||||
|
||||
账号需要已填出生日期、时间和地址,且标准咨询计费已配置(否则会先撞到计费 503,不是本单)。
|
||||
|
||||
## 1. 点首页「家庭」必须得到回答(P0)
|
||||
|
||||
1. 登录后完成初始化(生辰 + 地址),回到首页。
|
||||
2. 在「从一个主题开始」点 **家庭**。
|
||||
3. 等活动区走完计算。
|
||||
|
||||
- ✅ 预期:助手写出家庭关系的回答,不是红字「Agent 未完成必要的方法与计算步骤,本次不会扣点。」用户气泡仍是个性化那句问题,不会被改成别的提示词。
|
||||
- ❌ 失败:只有那句红字;或活动区走完却没有正文。
|
||||
|
||||
## 2. 其它主题卡同样不能报步骤没完成(P1)
|
||||
|
||||
同一账号再开一次新对话,点 **事业** 或 **关系**。
|
||||
|
||||
- ✅ 预期:同样先计算再回答,不出现第 1 条那句红字。
|
||||
- ❌ 失败:只有家庭修好,其它主题卡仍报步骤没完成。
|
||||
|
||||
## 3. 输入框里的普通问题仍可一次看多个领域(P1)
|
||||
|
||||
在对话里手打一句「事业和财富一起看」,不要点首页主题卡。
|
||||
|
||||
- ✅ 预期:可以按多个领域作答,不会被钉成单一「家庭」或「时运三节」。
|
||||
- ❌ 失败:手打问题也被写成首页主题卡的固定骨架,或再报步骤没完成。
|
||||
Reference in New Issue
Block a user