fix(consult): BUG-945~949 领域截断、思考分片、Pass 4 按模式分流
schema 上限与执行上限解耦;校正思考改分片门;日期观察不删字,保证句与无分钟个人盘退回重写。
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# PROGRESS · 三通道重做修复单(2026-09-18)
|
||||
|
||||
工作树:`.worktrees/consult-three-channels-fix-20260918`
|
||||
分支:`codex/consult-three-channels-fix-20260918`
|
||||
基线:`origin/staging` @ `b4fcb946`(任务书写 `7ae3aa9a`,其后两笔纯文档已快进)
|
||||
任务书:`docs/tasks/TASK-consult-three-channels-fix-20260918.md`
|
||||
|
||||
## 任务状态
|
||||
|
||||
| 任务 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| BUG-945 领域 schema 与执行上限解耦 | 完成 | 计划最多 6 条,执行仍按墙钟 2 条,其余 `omitted_domains` |
|
||||
| BUG-946 31s 预算断言 | 完成 | 6 条按 MAX=2 / 31s 重写,附三栏 |
|
||||
| BUG-947 校正思考分片 | 完成 | 选方案 (b):分片级 CJK 门,不复用 8 字条目门 |
|
||||
| BUG-948 Pass 4 按模式分流 | 完成 | 日期观察、保证句退回、无分钟个人盘整段拒绝 |
|
||||
| BUG-949 容量算术 | 完成 | 按四标题计划重测上下界 |
|
||||
|
||||
## 947 选型
|
||||
|
||||
选 **(b)**。校正流仍按 `reasoning-delta` 分片推到浏览器,不能拿 Pass 2 的整条门(≥8 字 + 句末标点)去滤。新门 `acceptThinkingFragment` 只判非空、含 CJK、不含工具名,不改写、不删词。另给 `createThinkingFragmentAssembler` 证明连续分片能拼出可见行。
|
||||
|
||||
## 948 让步
|
||||
|
||||
1. 有 `composeAnswer` 的本命路径:Pass 4 命中保证句 / 个人盘时退回 Pass 3 一次,二次再落地(丢保证句或整段拒绝句)。正文 hold 到判定结束再发,避免闪两次。
|
||||
2. 无 `composeAnswer` 的一般 / 窗口路径:不另开一轮模型,直接二次落地。
|
||||
3. 非 agentic 的 `streamTextResponse` 旧路径不再套恒等壳,也不在流上改写。日期因此能出来;保证句在这条旧路径上没有模型重写。
|
||||
4. `exact-timing` 在 `general_no_birth_time` 不记 observe、也不拦——产品表只给有盘 / 窗口模式观察日期。
|
||||
|
||||
## 断言三栏(既有测试)
|
||||
|
||||
| 测试 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| `MAX_CONSULTATION_DOMAINS` | 3 | 2 | 31s/领域,墙钟 65s 只能付 2 个 |
|
||||
| `executableDomainPlan` 5 个领域 | 执行 3 | 执行 2 | 同上 |
|
||||
| `domainFitsRunBudget(42_000, 2)` | true(按 21s) | 改为 31s 口径的 0/1/2 组 | 预算公式跟新时长 |
|
||||
| 超限计划 | schema 失败、execute 0 | schema 接受 ≤6,execute ≥1,`omitted_domains` 非空 | BUG-945 |
|
||||
| 未校正 / 分钟敏感日期 | `[具体时间已省略]` | 原文保留 + `pass4-observe:exact-timing` | BUG-948 产品授权 |
|
||||
| 无分钟个人盘 | 半句替换或恒等 | 二次整段 `GENERAL_NO_BIRTH_TIME_REFUSAL` | 不得半句替换 |
|
||||
| 1 域 thinkingSections JSON | 1200–2500 | 900–1300(实测 1053) | 四标题计划更小 |
|
||||
| 2/3 域 thinkingSections JSON | 1800–3500 / 2400–4500 | 1100–1600(实测 1267,12 步封顶同长) | 同上 |
|
||||
| 19 轮旧口径字符 | > 200,000 | 170k–190k(实测 177,973) | 分节变小后 19 轮不再必然撞旧额度 |
|
||||
| 19/50 轮详情字节 | 540k–590k / 1.45M–1.51M | 520k–550k / 1.38M–1.43M(533,113 / 1,402,384) | 同上;比例仍约 2.63 |
|
||||
|
||||
## 测试
|
||||
|
||||
| 项 | 结果 |
|
||||
| --- | --- |
|
||||
| `tsc --noEmit` | 0 错 |
|
||||
| `npm run lint` | 0 error(121 warning,与基线同量级) |
|
||||
| 原 12 条红 | 全绿(见上表) |
|
||||
| 全量 `npm test`(本机 Windows) | tests 3449 / pass 3371 / fail 78。多出来的失败是本机 symlink/EPERM、bash、无 Docker 的既有缺口,不是本单 12 条 |
|
||||
| 本单新增 | Pass 4 观察/退回/拒绝合同、范围用户日期合同、分片 assembler、容量上下界 |
|
||||
|
||||
Linux 门禁才是验收数字:目标 fail 回到 31,总数 ≥ 3484。本机无法跑 skill symlink 的两条 Agent 探针(`personal Agent exposes…` / `general agent runtime has no Jyotish skill package…`),CI Linux 上应仍绿。
|
||||
@@ -136,7 +136,7 @@
|
||||
| `TASK-session-list-single-source-fix-20260917.md` | `PROGRESS-session-list-single-source-fix-20260917.md` | 验收修复单:F1 四条源码合同搬到 `(app)/layout.tsx` 两端对断(BUG-933);F2 两条陈旧 Python 入口断言(BUG-934,既有欠账);F3 无活跃会话时输入框静默吞发送(BUG-935);交付前必须跑全量测试 | 待验收 | `codex/session-list-single-source-fix-20260917` |
|
||||
| — | `PROGRESS-birth-time-journey-page-path-20260918.md` | **P0 门禁**:`test_birth_time_journey_contract` 仍读已搬走的 `app/page.tsx`(BUG-939);修好后 run 2764 又露出 5 条校正守卫后的前端源码合同(BUG-940)。均复发自 BUG-933 | 已合入 | `39a0d7a9` / `0378d9e0` |
|
||||
| `TASK-consult-three-channels-20260918.md` | `PROGRESS-consult-three-channels-20260918.md` | 咨询运行时三通道:进度 / 思考 / 正文生成时分离。设计分支误用 BUG-939/940/941,落地改号 942–944 | 验收未通过(见修复单) | `94c1e81f` |
|
||||
| `TASK-consult-three-channels-fix-20260918.md` | — | 验收修复单:领域上限 3→2 且超限被 zod 整次拒绝、三领域问题零执行(BUG-945 P0);21s→31s 后 6 条预算断言未跟(946);校正思考分片被条目门整条丢弃(947);时间 / 保证 / 个人盘三类检测器无生产调用方 → 按模式分开处置:日期照出不删字(含出生范围用户)、保证句与无出生时间下的个人盘断言退回重写(948,产品 09-18 授权,推翻分钟敏感主题一律套精确时间守卫的旧红线);容量算术两条红(949)。基线 `7ae3aa9a`,npm test 43 红 vs 基线 31 红 | 待领取 | — |
|
||||
| `TASK-consult-three-channels-fix-20260918.md` | `PROGRESS-consult-three-channels-fix-20260918.md` | 验收修复单:领域上限解耦(945)、31s 预算断言(946)、校正思考分片门(947)、Pass 4 按模式分流(948)、容量算术(949) | 待验收 | `codex/consult-three-channels-fix-20260918` |
|
||||
| `TASK-first-paint-dead-screen-fallback-20260917.md` | — | 真机:首页永远停在「正在载入账户」,兜底全在没跑起来的 bundle 里(BUG-936 investigating)。根 layout 加与 bundle 无关的内联兜底 + 去掉本仓正则后行断言 | 待领取 | — |
|
||||
| `TASK-consultation-answer-start-anchor-20260917.md` | `PROGRESS-consultation-answer-start-anchor-20260917.md` | 主会话回答落在结尾:`useConversationScrollAnchor` 是贴底跟随,流式期间视口钉在最后一个字,回答开头滚出视口;改为发送后问题钉顶、回答向下长、长出视口显示「跳到最新」、末尾动态留白;产品追加拍板:校正面同一语义(推翻 BUG-041/048 贴底),本轮开头 = 用户行或新助手行。BUG 段 930 起 | 已验收(经修复单) | `worktree/green-harbor-5be3` |
|
||||
| `TASK-consultation-answer-start-anchor-fix-20260917.md` | `PROGRESS-consultation-answer-start-anchor-fix-20260917.md` | 验收修复单:F1 头就是留白行时留白按整视口算(BUG-931);F2 留白只在钉住期间存在(BUG-932);前置:先修 e4e73f56 的两处 TS 错否则门禁不过 | 已验收 | `cc1a8980`(Claude 验收:tsc 0 / lint 0 error / npm test 3457 条 39 红与 11c0028d 逐条一致、新增 2 条绿 / `next build --webpack` 通过、`/` Static、首屏 gzip 591,242(较 09-16 基线 582,800 +1.45%,含会话列表单)/ Chrome 真实布局 S1–S6 全部通过,S6 新助手行距顶 16px 且增高不动,S5 不再写留白);真机六条欠 |
|
||||
|
||||
Reference in New Issue
Block a user