docs(tasks): consult answer-the-question brief — first-turn fixture, R6 repetition, D8 pending product
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0199rbQDTsUbCVw84wc8BTFe
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
ab41532d89
commit
2ce3c2165c
@@ -244,7 +244,7 @@
|
||||
| `TASK-engine-runtime-hygiene-20260901.md` | `PROGRESS-engine-runtime-hygiene-20260901.md` | Python 引擎运行时治理 | 已验收 | `124d3990`(staging 实机三条待部署窗口) |
|
||||
| `TASK-billing-pricing-20260830.md` | `PROGRESS-billing-pricing-20260830.md` | 计费闭环与功能级定价 | 已合入 | `aaaa5fb7`~`a499c344` |
|
||||
| `TASK-cost-accounting-gaps-20260927.md` | — | **成本记账补漏与缓存分价**:七处模型调用不入账(标题 / 摘要 / 校正意图 / 采用旁白 / 校正开场 / 生时引导 / 每日星语);缓存命中按全价算、单价表无缓存列;多事件账本 `metadata.cache` 被覆盖;失败运行无成本记录;测算页不显示 token 分位数;**后台模型表单没有单价输入框,单价只能是 0**。只加「记」不加「扣」,不动售价与会员参数 | 待领取 | BUG-1064~1069 预留;部署后由产品按 `docs/testing/cost-accounting-20260927.md` 采真实成本 |
|
||||
| `TASK-consult-answer-the-question-20260927.md` | — | **普通对话回答问的那句话**:反差只写盘上、删「按我的理解答」、禁写动机句;追问轮 ≤ 200 字直接回答不重开四标题骨架(服务端按「本会话已有解读」切指令,不用正则);清单是核对项不是段落大纲;步骤栏「先抓住你真正在问的事」改「先回答你问的这件事」 | 待领取 | 基线 `24a9a635`;BUG 从 1070 起;真机夹具由产品补 |
|
||||
| `TASK-consult-answer-the-question-20260927.md` | — | **普通对话回答问的那句话**:反差只写盘上、删「按我的理解答」、禁写动机句;追问轮 ≤ 200 字直接回答不重开四标题骨架(服务端按「本会话已有解读」切指令,不用正则);清单是核对项不是段落大纲;步骤栏「先抓住你真正在问的事」改「先回答你问的这件事」 | 待领取(D8 首轮只说一遍待产品确认) | 基线 `24a9a635`;BUG 从 1070 起;原文夹具已由产品补交 |
|
||||
| `TASK-cend-ui-claude-alignment-20260916.md` | `PROGRESS-cend-ui-r1/r2/r3-20260916.md` | **C 端界面向 claude.ai 产品界面对齐(三轮串行 R1→R2→R3,都动 `globals.css`,不得并行)**:根因是 `frontend/CLAUDE_DESIGN.md` 扒的是 **claude.com 营销官网**,它自己在 Known Gaps 里写明 claude.ai 产品界面不在范围内,而 `DESIGN.md:3` 把它当成了产品界面的实现契约。**R1**:`--font-display` 里 Tiempos Headline / StyreneB **从未加载**(无 `@font-face`、`public/` 无字体、`layout.tsx` 只 vendor 了 Inter),中文标题全站落到 **宋体 / SimSun**,波及 20 处含助手回答的 h2/h3(BUG-737);亮色强调色 `#85432f` 与暗色 `#d78064` 不同源,产品拍板亮色换 **Claude coral `#cc785c`**,**易漏点**是 `globals.css:16` 的 `--color-ring` 硬编码在 `@theme inline` 里不跟随 `:root`,另有第四个 `:root` 亮色块(`:4358`)必须同步(BUG-738);`.composer-footer` 常驻 44px + 顶栏 68px + `--composer-reserve` 148px,每屏固定吃掉 216px,模型选择器移进输入框内部、删掉底栏、顶栏收到 46px 并删「分析对象」副标题。**R2**:空状态是营销落地页(hero 卡 + 两张 132px 入口大卡 + 3 列 156px 主题卡),输入框被压在 **800px 以上**内容之下,重排成「问候 + 居中输入框 + 两枚入口 pill + 一排 chip」。**R3**:侧栏两个 `<details>` 拍平成一条「最近」、星盘的两个入口(侧栏分组 + 账户菜单)收敛到一处、删掉逐条助手头像。**决策记录 D3 推翻 DESIGN.md「报告强调色与应用同源」一句**(报告刻意保留深棕)。原型图 https://claude.ai/code/artifact/da275da6-2954-4f50-99aa-32bb8694d38b(三套画面 + 明暗,页面标题就是建议字体栈的实际渲染)。环境缺口:无登录态无 Chrome,四项真机观感留 `docs/testing/`。BUG 段 737–738 | 待领取 | — |
|
||||
| `TASK-cend-surfaces-claude-alignment-20260916.md` | `PROGRESS-cend-shell-20260916.md`、`PROGRESS-cend-report-20260916.md`、`PROGRESS-cend-rectification-20260916.md`、`PROGRESS-cend-chart-eph-20260916.md` | **次级页面对齐(上一单的续篇,R4→R5/R6,R7、R8 可并行)**:星盘 `/chart`、星历 `/ephemeris`、报告 `/reports` **各是脱离 app 外壳的独立全屏页**,顶部只有一个「返回对话」链接、侧栏整个消失,且三家各写了一套一模一样的 `*-shell`/`*-topbar`/`*-hero` 骨架——与上一单 E5 同根因(营销站 band 结构被套到产品界面)。**R4** 抽只读导航外壳 `AppNavRail`(只用现成的 `GET /api/sessions` + `GET /api/account`,会话行走 `sessionHref` 跳 `/?c=<uuid>`;**刻意不带**重命名/删除/收藏/归档——那套连着 `Home()` 的乐观更新与回滚,搬过来会撞 useState 增长门禁)。**R5** 星盘五 tab 下划线化 + 参数合表 + 行星表横向滚动;星历日期导航改 `‹ 日期 ›`。**R6** 报告中心卡片网格改行式列表;阅读页加常驻目录。**R7** 生时校正把可信区间从盘面板标题行提成常驻条(窄屏 `.is-compact` 下盘面板是 overlay,现在默认看不到区间),五个 `technique-audit` 折叠块收成两段。**R8** 设置内容区收窄(880px 弹窗里表单铺了 690px)、套餐卡三修饰符收敛成两态。**已解锁**:原挡路的设置单已于 `111b4a84`(BUG-698)合入。**两条不得回退**:BUG-698 的 `@supports (height: 1dvh)` 写法(重复声明回退会被 Lightning CSS 折叠)、BUG-616/617 的报告盘面 grid 实现。默认不占 BUG 号 | **R4–R8 全部已实现并验收合入** | R4:抽出 `AppNavRail`(只读,两个 GET,零写操作)+ `SecondaryShell`,三个次级页并入 app 外壳并删掉各自的 shell/topbar/hero;四个路由渲染标记**完全不变**(`/` `/chart` `/ephemeris` 仍 Static);CSS gzip −0.25%。`/reports/[reportId]` 留给 R6 与目录一起做。两处自身健壮性问题被测试抓到:`usePathname()` 可为 null、`fetch` 可能不存在。差点弄丢 BUG-717 的 eyebrow 文案(已放回)。R8:表单分区收窄到 440px(列表分区不变)、套餐卡三修饰符收敛成互斥的 `is-current` / `is-recommended`,`--highlighted` 删除改为滚动定位;手机端 `order:-1` 改挂 `[data-plan-alias]`(版位不是状态)。测试 3350→3354(净增 4),失败清单与基线逐条一致;`/` 仍 Static;我的干净构建实测 CSS gzip −3 字节。**遗留待产品拍板**:`?plan=` 深链现在完全没有视觉指向,只有滚动位置。R6:报告中心卡片网格改行式列表、阅读页并入外壳并把目录挪到右侧常驻。**任务书 E10 过期**——目录在 `cfcd369d` 就已存在,本轮是挪位置定稿而非从零加。挂外壳带出一个真实打印风险已处理:`.chat-app`/`.chat-panel` 是 `height:100%;overflow:hidden`,裸 `window.print()` 会把九节报告裁成一页,阅读页因此多挂一条只在挂载期生效的 print 样式解锁外壳。「生成中的分节进度」做不了——`REPORT_LIST_COLUMNS` 不返回节数,按 VOICE.md 不许前端编。R7:区间常驻条与盘面折叠收敛。**任务书 E9 也不准确**——对话区顶部早有常驻条 `RectificationTimeline` 且窄屏可见,真正只在盘面标题行的是**代表分钟**;因此没另造第二条,在既有条上补齐代表分钟与已答题数(与盘面同一次 `workingRectificationTime()` 调用)。折叠块实际是 **8 个**不是 5 个。**触发让步顺序第 5 条**:收窄进度未做——服务端无该字段,且 `candidate_range` 会放宽(BUG-572),前端相减会把一次放宽报成收窄,已写进 `BLOCKED.md`。顺带修掉一个**静默失效的旧断言**(`slice(indexOf(A), indexOf(B))` 在 B 改名后变成几乎整份文件,四条 `doesNotMatch` 假通过)|
|
||||
| — (产品口头拍板,无任务书) | `PROGRESS-chart-glyphs-20260918.md` | **星盘改用行星符号,度数进行星表(非 Bug,无 BUG 号)**:北印星盘(星盘页 / 校正右栏 / 我的报告三处共用 `VedicChartSvg`)宫内不再画「水 19°」「罗逆 29°」这类文本——一宫三颗星就叠三行、字号压到 8。改成九个彩色符号(☉☽☿♀♂♃♄☊☋),每行最多 3 个、逆行改符号下同色横线、第 1 宫加 `As`、盘下两行图例。颜色只认星不表吉凶,罗计共用中性灰,`--color-planet-*` 九个 token 在 `:root` 与两个深色块各一份;颜色挂 `is-*` 修饰类而非行内 `style`(报告标记合同禁 `style=`)。符号字体是 vendored 的 9 字形 Noto Sans Symbols 子集(OFL,1.5 KB),`--font-planet-glyphs`,♀♂ 带 U+FE0E 防 iOS 画成表情。星盘页行星表四列扩到八列(行星 / 黄道经度 / 速度 / 宫位 / 星宿 / 宿主 / pada / 状态),度数精确到分,首行是上升(`vedic.ascendant` 新字段)。数据来源:`toNorthIndianChart()` 加结构化 `occupantGlyphs`;校正与报告两条路线的模型只有引擎/golden 显示文本,按首字解析并有测试锁住。**星宿未译中文**——仓库无对照表,印度 27 宿与中国二十八宿不同源,不自造 | 已实现,待验收 | `codex/chart-glyphs-20260918`:tsc 0 / lint 0 error(118 warning 不变)/ npm test 3471→3484 条、36 红与基线 `84b293fb` 逐条相同、0 新红 / `○ /` Static / 首屏 JS gzip 1,450,774→1,455,017(+0.29%),CSS gzip +2.23%(构成见 PROGRESS §2)。真机走查欠(iOS 符号呈现、深浅两主题配色、375px 横滚、打印) |
|
||||
|
||||
@@ -15,7 +15,17 @@
|
||||
|
||||
截图可见的正文片段(脱敏,只引结构):回答按「母亲这一头(4 宫 + 月亮)……父亲这一头(9 宫 + 太阳)……D12(家世分盘)……还要说一句公道话……」逐段铺开整张父母卡;其中出现「她问的是结果,你要的是被听」这类对用户内心的断言。用户问的是一句是非题,得到的是一份父母领域的通盘解读,外加对提问动机的解释。
|
||||
|
||||
**环境缺口**:Claude 没有登录态与数据库访问,看不到这轮完整的问句与答句。上面的定性基于截图、产品转述与提示词源码;执行方开工前请产品把这轮的原问句和答句首段(脱敏后)贴进 PROGRESS 作为夹具。
|
||||
**产品补交的完整原文(2026-09-27 晚,会话首轮,「已完成 10 步」)**。问句是「我和父母的亲疏关系如何」——**不是是非题,也不是追问轮**。答句结构(盘面数值不入任务书,只记结构与不含出生资料的句子):
|
||||
|
||||
1. 口语开场约 350 字:反差「外顺内远」写的是盘(空宫 vs 宫主离家),这一步合格;结尾三条行动「本周替父母办掉一件具体的杂事 / 约父亲一次正事,说清时间 / 给母亲打电话只聊她的日子」。
|
||||
2. `## 先回答你的问题`:把开场已经说过的「母亲一头 / 父亲一头」再讲一遍,并出现对当事人和用户的动机断言:「她问的是结果,你要的是被听」「你自己这一端本来也是收着的——距离是双向拉出来的」。
|
||||
3. `## 盘里支持这个判断的地方`:一张六行表,把第 1、2 步的内容第三次列出;之后功能吉凶、木星两段。
|
||||
4. `## 时间怎么看`:四段子运,合格。
|
||||
5. `## 这周可以做的一件事`:三条行动「挑一件具体的杂事替他们办掉 / 给父亲发一条带时间的信息 / 跟母亲通话时先接她的话头」,与开场三条一一对应,几乎原句重复;再加一句总结。
|
||||
|
||||
全文约 1,500 字。同一个判断说了三遍,同一组行动给了两遍。用户说的「宽泛」,落在原文上就是**重复**:读完三遍同样的话,感觉是「说了很多但没多说什么」。「揣测」落在第 2 步那两句。产品转述里的「我问是不是 / 他答你是否需要」不在这一轮里,可能来自同会话另一轮;若能找到也贴进 PROGRESS。
|
||||
|
||||
**环境缺口**:Claude 没有登录态与数据库访问,上面的原文由产品贴出;执行方把问句与第 2、5 步的非盘面句子做成夹具(不带度数、星座、宫位数值)。
|
||||
|
||||
## 根因(按符号定位,基线 `24a9a635`)
|
||||
|
||||
@@ -32,6 +42,8 @@
|
||||
- **R4 追问轮也走整套骨架**。`jyotishInstructions`:「Call run-jyotish-consultation before answering every turn, including short follow-ups」;`natalSpokenReportContract` 末句:「One natal career/wealth/marriage/family question still uses the opener-plus-skeleton above」;每轮用户轮的 `natalAnswerShapeInstruction()`:「开场不要标题,先用口语回答问题;然后一次写完这四个二级标题」。没有任何一处区分「第一次问这个领域」和「对上一轮的追问 / 一句是非题」。于是一句「是不是 X」得到 ≤ 400 字口语开场 + 四个二级标题的完整解读。
|
||||
- **R5 清单被当成段落大纲**。`jyotishInstructions`:「work through their mandatory modules against the evidence you were given」;`natalSpokenReportContract` Never 段:「Skip a card fact the question needs」。父母卡(`consultation-evidence-card.ts` 第 144 行 `parents: spec({ vargas: ["D12"], houses: [4, 9], planets: ["Sun", "Moon"] })`)有 4 宫、9 宫、太阳、月亮、D12 五块,模型把五块各写一段,问题本身反而没有一句正面回答。「宽泛」不是缺盘面细节(截图里 4 宫主水星逆行、月亮 Mula 都有),是细节不服务于问的那句话。
|
||||
|
||||
- **R6 首轮形状本身要求说三遍**(原文证实,是首轮「宽泛」的主因)。`natalSpokenReportContract` 要求:口语开场(含判断 + 三条行动)→ `## 先回答你的问题`(再答一次)→ `## 盘里支持这个判断的地方`(表格再列一次)→ `## 这周可以做的一件事`(行动再给一次)。`natalAnswerShapeInstruction()` 同样写「先用口语回答问题;然后一次写完这四个二级标题」,第一个标题就是「先回答你的问题」。开场已经是答案,骨架又从「先回答」重新开始,模型只能复述;开场收尾三条行动与最后一节三条行动是同一份清单。这是 2026-09-17 口气定稿(`84b293fb`)把「口语开场」叠在既有四标题骨架上、而没有从骨架里减掉重合部分留下的。
|
||||
|
||||
### 不是根因的
|
||||
|
||||
- 服务端不改写问句:`resolveConsultationQuestion`(`consultation-entrypoint.ts`)对普通入口返回 `kind: "plain"`,模型看到的就是用户原句。
|
||||
@@ -46,6 +58,7 @@
|
||||
- D5 **思考栏第一节标题**改成「先回答你问的这件事」。
|
||||
- D6 判断「追问轮」用服务端事实(本会话此前是否已有一轮本命解读),不用正则识别用户意图(沿用 BUG-976/977 的口径);是非题 / 换领域由模型按提示词判断。
|
||||
- D7 排盘工具仍每轮调用(计算是请求级的,BUG-1053 后答案由看过工具结果的那一步写),本单只改答案形状,不改工具调用与结算。
|
||||
- D8 **首轮解读只说一遍(Claude 建议,待产品确认后执行方才做 T6;未确认则 T6 不做,其余照做)**:口语开场保留反差、谁推谁修、扮演哪个象,**不再带三条行动**;删掉 `## 先回答你的问题` 这一节(开场就是回答);`## 盘里支持这个判断的地方` 只写开场没说过的依据,表格与正文二选一,不得把开场的判断再列一遍;三条行动只出现在最后一节 `## 这周可以做的一件事`。首轮全文目标 ≤ 900 字。这条修改 09-17 口气定稿的骨架顺序,但保留其口语开场形状;`REPORT_HEADING.question` 相关的思考栏节、续写提示、测试一并调整。
|
||||
|
||||
## 硬红线
|
||||
|
||||
@@ -96,12 +109,20 @@
|
||||
|
||||
**验收**:timeline 测试通过;组件快照若有变化写三栏。
|
||||
|
||||
### T6 首轮只说一遍(R6、D8;产品确认后才做)
|
||||
|
||||
- `natalSpokenReportContract`、`natalAnswerShapeInstruction()`、`skill-binding.ts` 的 `NATAL_REPORT_SKELETON`、`index.ts` 里「Write in Simplified Chinese: a heading-free spoken opener first (… → 最多三条短行动 …)」四处同步:开场不带行动;骨架三个标题 `## 盘里支持这个判断的地方`、`## 时间怎么看`、`## 这周可以做的一件事`;依据节只写开场没说过的,表格或正文二选一。
|
||||
- `consultation-thinking-plan.ts`:`REPORT_HEADING.question` 与 `natalConsultationThinkingPlan` 第一节按 D5 改名后保留为思考栏节,但不再对应正文标题(或删除该节,执行方按快照测试改动量选,写进 PROGRESS);`consultationContinuePrompt` 的标题清单同步。
|
||||
- `frontend/docs/VOICE.md` 「口语层的形状」与「七条原则」同步;`frontend/DESIGN.md` 若有正文标题清单同步。
|
||||
- **验收**:voice 契约测试与 route 用户轮测试更新(三栏);用夹具问句跑一次假模型测试确认指令里不再同时要求「开场三条行动」与「这周可以做的一件事」;真机清单第 1 条改成:首轮开场无行动、无「先回答你的问题」标题、行动只在最后一节出现一次、全文约 900 字内。
|
||||
|
||||
### T5 记录
|
||||
|
||||
- `docs/BUG_HISTORY.md`:从 **BUG-1070** 起(开工时核对最大号,`TASK-cost-accounting-gaps-20260927` 已预留到 1069):
|
||||
- BUG-1070 普通对话把是非题改写成「你是否需要」并解释提问动机(R1、R2)。
|
||||
- BUG-1071 追问轮重开 ≤ 400 字开场 + 四标题骨架,一句是非题得到整份领域解读(R4、R5)。
|
||||
- BUG-1072 步骤栏显示「先抓住你真正在问的事」(R3)。
|
||||
- BUG-1073 首轮解读同一判断写三遍、三条行动给两遍(R6);产品未确认 D8 时记为 `investigating`,不修。
|
||||
- 三条都关联 `84b293fb`(口气定稿)与 BUG-1053(答案由看过工具结果的步写);修复版本写本单 commit;状态在 Claude 验收前写 `fixed_pending_acceptance`,不写 `resolved`。
|
||||
- `CHANGELOG.md` 一条:普通对话追问轮直接回答、不再揣测动机;Skill 不 bump。
|
||||
- `docs/tasks/PROGRESS-consult-answer-the-question-20260927.md`:基线、测试数字(开工 / 完工)、三栏表、偏离。
|
||||
|
||||
Reference in New Issue
Block a user