55 lines
3.7 KiB
Markdown
55 lines
3.7 KiB
Markdown
# 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 上应仍绿。
|