diff --git a/docs/tasks/PROGRESS-rectification-in-chat-step1-20261006.md b/docs/tasks/PROGRESS-rectification-in-chat-step1-20261006.md index 45612a3e..c9627167 100644 --- a/docs/tasks/PROGRESS-rectification-in-chat-step1-20261006.md +++ b/docs/tasks/PROGRESS-rectification-in-chat-step1-20261006.md @@ -40,3 +40,18 @@ - 无 Docker:来源绑定 / 返回的真实库读写(`chat_sessions.messages` 读改写、`maybeSingle`、`order + limit`)未真查;只用了本地 Postgres 兼容层已实现的写法。部署后按真机清单第 4–8 步验。 - 无登录态浏览器:卡片、返回、自动返回、按钮不点不发均为渲染与源码合同测试,真机清单 11 步待产品。 + +## Claude 独立验收(2026-10-07) + +| 项 | 结果 | +| --- | --- | +| tsc / lint | 0 错 / 0 error(125 warning) | +| npm test | 4987 项 fail 24,失败名单与 `6ec8efd5` 逐条一致 | +| build | `/` ○ Static;首屏 gzip 567,201 → 568,343 B(+0.20%) | +| Python | `test_daily_and_rectification_entrypoints.py`、隐私标记通过 | +| page.tsx | 1357 → 1337 行,未增长 | +| 数据库写权限 | 复核迁移:`authenticated` 有 `update (title, theme, messages, updated_at)`(20260715030000),本地 Postgres 兼容层 `set local role authenticated` 后直接 `update public.chat_sessions`,写来源对话消息可行;`agentic_rectification_chat_sessions_case_guard` 只在改 `agentic_rectification_case_id` 时触发,不拦 | +| 断言三栏 | 抽查 16 个改动文件;`consultation-workflow-contract.test.ts` 漏写,验收时补上 | + +接受的风险(不阻塞上线,第二步一并处理):来源靠扫描本人最近 20 条咨询找提议卡;来源对话消息读改写无乐观锁(用户校正时同时在来源对话发问才会冲突);C2 判断的模型证据来自实现方的 DeepSeek 实测(4 场景各 2 次 + 卡片提示 3/3),验收未另跑。 + diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 3beac31e..0701978a 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -425,7 +425,7 @@ | `TASK-rectification-nadi-seconds-research-20261005.md` | `PROGRESS-rectification-nadi-seconds-research-20261005.md` | **「纳迪秒级校准」可证伪检验(离线)**:竞品宣传「问前事到天 → 秒级」。本仓主链只用三层小运,Sookshma / Prana 与 D150 从未进评价集;v5 真值 52/77 是整 5 分钟(秒级无真值可对)。N0 五层小运 + D150 底座(前三层与主链对账 0 差)、N1 拟合率 vs 安慰剂日期(核心)、N2 留一件预测、N3 六题后区间内再细分能否提头名、N4 岁差 / 坐标 / 时间扰动的噪声地板、N5 D150 结构层(原文比对 blocked)、N6 结论 + 对外口径草稿。规则先登记再跑;不改生产代码;不得重调 BUG-1091 已关的权重 | 已验收(Claude 10-05:N1/N2/N3/N5 不过门、N4 触发文案禁令;Linux 复跑内容 0 差,结果改 LF;补 Lahiri/KP/True Chitra 对照,月亮差 0.83′ 第 5 层仍换 94%)→ 不立实现单 | 分支 `codex/rectification-nadi-seconds-research-20261005`(BUG-1240 `closed_by_design`) | | `TASK-rectification-delivery-dup-adopt-20261006.md` | `PROGRESS-rectification-delivery-dup-adopt-20261006.md` | **校正交付一次两段回答 + 点「改用…盘解读」被拒 `adoption_not_allowed`**(10-06 真机):收尾补位按文字子串防重,遇采用旁白 Agent 改写版失效(BUG-1153 复发);accept/GET 调 `decideFromDossier` 不带出生日期,未成年探针复活致判定与出卡时相反(BUG-598/680 同族);卡片按钮不看公开 can_adopt、拒绝码直出英文。不放宽采用门,判定入参统一 + 结构防重 + 按钮判据 + 中文提示(BUG-1241~1243) | **已验收,待推 staging**(Claude 10-06:首版 `b977f482` 验收 T1/T3 过、T2 未过;修复单 F1 由 Claude 直接执行——防重改为「上一条包含交付句」,真实答题路径测试修前红修后绿;F2 疑似 BUG-1246 复核不成立已撤回、留守护测试。全量 npm 失败名与基线逐名相同、tsc 0、lint 0 error;PG17 重放未做,见 PROGRESS) | 分支 `codex/rectification-delivery-dup-adopt-20261006`;修复单 `TASK-rectification-delivery-dup-adopt-fix-20261006.md` | | `TASK-consult-conversational-answer-20261006.md` | `PROGRESS-consult-conversational-answer-20261006.md` | **普通对话首轮去汇报骨架,改成聊天**(10-06 产品反馈「像机器在汇报」):首轮取消全部 `##`(三个固定节 + 按对象标题,多人改分段落点名)、行动不强制(盘上有具体指向才顺口一句,问「怎么办」再展开)、首轮三到六段;示范删可抄的行动句(实测被逐字照抄);思考栏去「这周可以做什么」。推翻 10-01 D2 与 D8 首轮部分(BUG-1244~1245) | 已验收 | 28113fa0 验收未过 → 修复单 `TASK-consult-conversational-answer-fix-20261006.md` 由 Claude 直接执行(含去掉助手头像),复验通过后推 staging;真机清单 10 步待产品 | -| `TASK-rectification-in-chat-step1-20261006.md` | `PROGRESS-rectification-in-chat-step1-20261006.md` | **生时校正并入聊天 · 第一步**:删首页「生时校正」按钮与文字口令;普通对话里用户说不准时由 agent 分清读法 / 时间问题,时间问题出提议卡(本人、开关、价格服务端校验,同会话最多主动提一次);点卡带来源打开校正;采用 / 未采用 / 手动返回都回到原对话,分隔线 + 旧回答标「按校正前的时间」+ 点了才发的「按新时间重新看」;模型历史标注旧时间。须等 dup-adopt 单合入后开工;第二步(卡片嵌进同一对话)另立单(BUG-1247~1251) | 待验收 | 2026-10-07 产品要求直接执行;Claude fork 子代理实现,分支 `codex/rectification-in-chat-step1-20261006`(未推);不改表;真机清单 11 步 | +| `TASK-rectification-in-chat-step1-20261006.md` | `PROGRESS-rectification-in-chat-step1-20261006.md` | **生时校正并入聊天 · 第一步**:删首页「生时校正」按钮与文字口令;普通对话里用户说不准时由 agent 分清读法 / 时间问题,时间问题出提议卡(本人、开关、价格服务端校验,同会话最多主动提一次);点卡带来源打开校正;采用 / 未采用 / 手动返回都回到原对话,分隔线 + 旧回答标「按校正前的时间」+ 点了才发的「按新时间重新看」;模型历史标注旧时间。须等 dup-adopt 单合入后开工;第二步(卡片嵌进同一对话)另立单(BUG-1247~1251) | 已验收 | 2026-10-07 产品要求直接执行;Claude fork 子代理实现,分支 `codex/rectification-in-chat-step1-20261006`(未推);不改表;真机清单 11 步 | | —(直接执行,无任务书) | `PROGRESS-consult-readable-20261006.md` | **回答铺满一行、输出不抖、不念分析清单**(10-06 真机截图):答案正文去 `text-wrap: pretty`(WebKit 整段等长 + 逐字重排,BUG-1252);清单开头写明只用于分析、婚恋三层改生活说法、字段白话对照、括号最多两条(BUG-1253) | 已验收 | Claude 直接执行;真机清单 `docs/testing/consult-readable-20261006.md` 待产品 | | —(直接执行,无任务书) | —(记录在 BUG-1254) | **门禁偶发红:数据库测试排队等槽位超时**:46 个 fixture 文件抢 2 个槽位、固定等 5 分钟,排在后面的随机失败;改为槽位易手即续期、连续 10 分钟无进展才失败(BUG-1254) | 已验收 | Claude 直接执行;门禁实际效果待看 | | —(直接执行,无任务书) | —(记录在 BUG-1255) | **回答口吻改知心姐姐、放开读心**(10-07 产品决定):人设统一;读心守三条(先答再读、可能/多半一句、当事人要有依据且未受冲);删冲突的旧规矩。推翻 BUG-1070 读心部分 | 已验收 | Claude 直接执行;真机清单 `docs/testing/consult-voice-sister-20261007.md` 待产品 | diff --git a/frontend/tests/consultation-workflow-contract.test.ts b/frontend/tests/consultation-workflow-contract.test.ts index afcea20f..506acf94 100644 --- a/frontend/tests/consultation-workflow-contract.test.ts +++ b/frontend/tests/consultation-workflow-contract.test.ts @@ -306,6 +306,7 @@ test("personal consultation lets the Agent invoke the server-bound workflow tool // 原值: /return \{ "run-jyotish-consultation": consultationTool \};/ // 新值: 同一个工厂再返回只读补取工具(同请求缓存,每轮一次) // 原因: TASK-consult-evidence-card-20260927 T5(D8) + // 原值: 工具表只有 run-jyotish-consultation 与证据补取两项 / 新值: 另有 offer-birth-time-rectification(仅当本轮带提议上下文时) / 原因: BUG-1248(TASK-rectification-in-chat-step1-20261006 C3):对话里出校正提议卡 assert.match(tools, /return \{\s*"run-jyotish-consultation": consultationTool,\s*\[CONSULTATION_EVIDENCE_LOOKUP_TOOL_ID\]: lookupTool,\s*\.\.\.\(ctx\.rectificationOffer \? \{ \[RECTIFICATION_OFFER_TOOL_ID\]: createRectificationOfferTool\(ctx\) \} : \{\}\),\s*\};/); // 原值:transformText 读 workflowReceipt.preciseTiming === "allowed" 再套恒等壳 // 新值:Pass 4 只看 consultationMode,不再读 preciseTiming 开关去挖日期