Files
Jyotisha/docs/tasks/PROGRESS-consult-conversational-answer-20261006.md
T
Jesse_ChenandClaude Opus 5.5 da226db1d4
Independent Staging Quality Gate / validate (push) Failing after 18m5s
Independent Staging Quality Gate / publish (push) Skipped
fix(consult): blank-line paragraphs, drop the H2 contract line, remove the assistant avatar
Acceptance fix for 28113fa0 (TASK-consult-conversational-answer-fix-20261006):
- F1: chat-answer-detail no longer pins 'Every H2 must start its own line'
  (first turns carry no H2), assertion change noted in three columns.
- F2: Good examples separate paragraphs with a blank line and the shape says
  so; .message p is pre-wrap, so a single newline only wraps.
- Product request: remove the assistant avatar on every surface (consult,
  rectification, onboarding); --assistant-content-inset back to 0px.

Full suite 4941 / fail 24, identical to baseline 86cafe68 minus a timing flake;
build keeps / Static; first-load gzip -0.1%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-06 15:58:40 +08:00

9.7 KiB
Raw Blame History

PROGRESS:普通对话首轮改成聊天 — 2026-10-06

基线:origin/staging 86cafe68(任务书,只有文档)。形状文件上一次产品提交仍是 7806c72f / 6a02e5e9,没有更新的提交,没有变基。分支 codex/consult-conversational-answer-20261006,工作树 .worktrees/consult-conversational-answer-20261006。

未推 staging,未部署。BUG-1244、BUG-1245 状态是 fixed-pending-verify。Skill 版本不变。

做了什么

  1. 首轮形状只留在 frontend/src/lib/consultation-thinking-plan.ts。product-voice.ts、skill-binding.ts、index.ts、route.ts 引用它,不再各写一套标题。首轮不写二级标题;问到几个人就分段落、段首点名;行动不强制;通常三到六段,不设硬截断。追问仍讲清楚为准。换领域或要求完整看时,回到同样的段落形状(BUG-1244)。
  2. Good 示范改成段落。删掉三句会被照抄的行动(书面确认、这周去看小毛病、给妈妈打电话先问近况),也删掉「## 这周」。另加一条只示意结构的汇报体 Bad(BUG-1245)。
  3. 思考计划去掉「这周可以做什么」。正文没有二级标题时,流式中没有任何一节停在进行中,结算后一起完成。写作行是「组织回答」/「正在组织回答…」。历史消息里的旧标题仍能拆开。
  4. 文案:frontend/docs/VOICE.md 第七条、首轮只说一遍、对照表;frontend/DESIGN.md 写作行。真机清单 docs/testing/consult-conversational-answer-20261006.md。

提示词里还留下的旧标题(允许的兼容命中)

git grep -n "这周可以做的一件事" frontend/src 只剩:

  • frontend/src/lib/consultation-thinking-plan.ts:20:REPORT_HEADING.action。给旧回答拆段、缩短标题用,不拼进新提示词。

git grep -n "骨架不可省略" frontend/src:无。

git grep -n "REPORT_HEADING" frontend/src 都在 consultation-thinking-plan.ts,没有出现在模板字符串里:

行 用途
17–21 常量。注释写明只给 2026-10-06 之前的回答用
95–97 consultationReportHeadings() 返回这三个字符串,给旧回答对标题
140、152 思考节 heading 字段(schema 必填),值是「盘上依据」。无标题的新回答不靠它推进进度
160 时间节的 heading 字段,值是「时间怎么看」

frontend/src 的 *.ts / *.tsx 里没有 ## 盘上依据、## 时间怎么看、## 这周可以做的一件事。仓库根 SKILL.md 里也没有这三句。历史文档、旧任务书、旧真机记录里的标题没有改。

断言三栏(本单改过的)

位置 原值 新值 原因
思考计划节 四节,含「这周可以做什么」 三节:question / support / timing T3,BUG-1244
无标题时的进度 口语开场还没有标题时首节 active 整篇没有二级标题时没有 active;结算后全部 done 首轮不再写标题,避免一直转圈
时间节出现后的状态 done, done, done, active done, done, done 行动节已删,时间节是最后一节
续写 要求补三个固定二级标题 认出最后一个已有标题,接着用段落写,不再点名三个节名 D1
本命列表 并列点必须是 Markdown 列表 默认段落;用户要求列举,或三个以上时间窗,才用列表。每日星语仍用列表 D5
首轮指令 要求 ## 盘上依据 等三个标题 不要求任何 ## 节名;含段首点名、行动不强制、三到六段 D1–D3
口吻合同 「骨架不可省略」、不设字数上限 通常三到六段、不设硬截断;合同里没有「骨架不可省略」 D1/D3
技能骨架句 Level 2 模板就是回答形状;行动出现一次 Level 2 只是依据来源;六步宫位和 Yoga 表不贴在标题下 D1/D2/D6
长度句 There is no length cap usually three to six paragraphs;There is no hard cutoff D3,只约束首轮
行动句 一到三条破折号,只在最后一节 行动不强制 D2
父母 / 事业示范 带 ## 和行动清单 段落、段首点名、括号只放依据占位 D1/D4,BUG-1245
寒暄合同 opener-plus-skeleton paragraph shape D1。测试名保留
写作提示(两份路由测试) 提示里含三个固定 ## 标题 含段首点名、行动不强制、三到六段,且不含 ## + 旧节名 D1–D3。夹具正文仍带旧标题,只测续写和放出

测试名没有删。新增两条:无标题首轮的思考节与写作行(BUG-1244);示范不含可抄行动和「## 这周」(BUG-1245)。

验证

项 结果
tsc --noEmit 0 错
npm run lint 0 error,126 warning。本单改过的文件里,只有 consultation-thinking-plan.ts 的 _domains 未使用,这是原来的参数。没有为清 warning 改业务代码
定向测试 consultation-thinking-plan、consultation-voice-contract、consultation-smalltalk、consultation-run-timeline、consult-career-yoga-functional-20261002、consult-no-presupposition-20261001:79 项,79 通过,0 失败,0 cancelled
npm test 4851 项,4706 通过,145 失败,0 cancelled,0 skipped。退出码 1
隐私标记 tests/test_repo_privacy_markers.py 通过。进度和 Bug 历史没有写入具体出生资料
next build --webpack 编译成功(2.9 分钟),TypeScript 检查通过。收集页面数据时在 /api/birth-time-guide 失败:现场技能符号链接 EPERM。没有打出路由表,因此没有 / 是否 Static、也没有首屏 gzip。这是本机工作树的已知环境缺口,不是这轮文案改动的编译错误

145 条失败里,和本单相关的文件是整文件加载失败,不是新断言没对上:consult-answer-the-question-20260927.test.ts、consult-single-pass-answer-20260927.test.ts 在导入 skill-binding 时抛 SkillPackageRegistryError,Windows 不允许为现场技能创建符号链接(EPERM)。同一原因还打红了 consultation-workflow-request、consult-condensed-checklist、consult-evidence-lookup、consult-gender-card、skill-binding.test.ts 等。本机工作树里的 skills/jyotish-vedic-astrology/SKILL.md 是 14 字节的链接文本(../../SKILL.md),不是真正的符号链接,所以「方法来自现场技能树」那一组也会空。数据库、备份、部署脚本失败是这台机器上原有的 Docker / 环境缺口。本轮没有在干净的 86cafe68 上再跑一遍全量做逐条对照。

写作提示那两条断言没有在测试进程里跑到。静态核对:frontend/src 和仓库根 SKILL.md 都不含 ## 盘上依据、## 时间怎么看、## 这周可以做的一件事。

T5 长度与离线

没有模型凭据,四道题(父母、事业、财运、伴侣)没有真跑,不把估计写成实测。新形状要求首轮通常三到六段,不设硬截断。相对旧的约 1,500 字、同一判断说三遍的父母样本,新指令去掉了固定节和行动清单。真机八步在 docs/testing/consult-conversational-answer-20261006.md。浏览器登录验收没有做。

构建

npx next build --webpack(Next.js 16.3.1):webpack 编译成功,接着的 TypeScript 检查也通过。收集页面数据时失败,原因与测试里的技能链接相同:SkillPackageRegistryError,无法为 skills/jyotish-vedic-astrology/SKILL.md 创建符号链接(EPERM)。路由表没有打出来。/ 是否仍为 Static、首屏 gzip 相对基线的变化,本机没有数。没有改用 Turbopack:工作树的 node_modules 是联接,Turbopack 会直接拒绝。

验收修复(Claude 直接执行,2026-10-06)

产品要求直接修复,并顺带去掉助手回答旁的头像。修复单 TASK-consult-conversational-answer-fix-20261006.md。

漏掉的原因:执行方在 Windows 上全量测试有 145 条因技能符号链接 EPERM 整文件加载失败,chat-answer-detail.test.ts 混在里面,进度记录也没有和基线逐条比对。

项 做了什么
F1 chat-answer-detail.test.ts:原值要求 Every H2 must start its own line / 新值不再要求 / 原因 首轮不写 ##
F2 父母题、事业题 Good 示范段落之间空一行;NATAL_ANSWER_SHAPE_SUMMARY、natalAnswerShapeBody()、ANSWER SHAPE 写明段落之间空一行(单换行在界面上不分段)。英文摘要里「One person or one matter stays one stretch of prose」改成「is not split by person」,避免单对象题被读成只写一段。新增合同测试一条
头像 删 AgentAvatar(对话、生时校正、首次引导三处)与 .agent-avatar 样式;--assistant-content-inset 两处回到 0px,.message-assistant 的 gap 删掉。推翻 09-16 071317f7「加回头像」。两条既有断言改三栏:rectification-timeline-20260909.test.ts、rectification-agentic-entry.test.ts(原值 calc(32px + var(--space-3)) / 新值 0px / 原因 产品 10-06 要求去头像)。新增「助手消息没有头像」测试一条

验证(Linux + Node 22.14,干净 npm ci):

项 基线 86cafe68 修复后
tsc --noEmit — 0 错
npm run lint — 0 error / 126 warning
npm test 4936 项 / fail 25 4941 项 / fail 24,名单与基线逐条一致(基线多出的 70 s 计时测试是并发抖动,单跑 3/3 通过)
next build / ○ Static / ○ Static
首屏 gzip 567,642 B 567,007 B(-0.1%)

环境缺口:无模型凭据,没有真跑新提示词;无浏览器,去头像后的版面没有截图核对,列入真机清单第 9、10 步。