fix(consult): BUG-954~956/958 窗口方法块、abort 分码、合同降级
窗口 Agent 注入不含本命骨架的方法块;tripwire abort 走 skill_binding_failed; 无工具但有正文降级交付;应期问题仍先调工具。BUG-957 等窗口线验证后再做。
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# PROGRESS · 申报时段咨询修复(2026-09-18 第四轮)
|
||||
|
||||
工作树:`.worktrees/window-consult-contract-20260918`
|
||||
分支:`codex/window-consult-contract-20260918`
|
||||
基线:`origin/staging` @ `e5b2ad14`(任务书写 `9cdcf96b`,其后纯文档已快进到改写后的任务书)
|
||||
合入提交:`8e3e5c73`
|
||||
任务书:`docs/tasks/TASK-window-consult-contract-20260918.md`
|
||||
|
||||
## 任务状态
|
||||
|
||||
| 任务 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| BUG-954 窗口指令注入带 marker 的方法块 | 完成 | 选方案 (a) |
|
||||
| BUG-955 abort 与合同未完成分码 | 完成 | 内部码 `skill_binding_failed`,公开码不变 |
|
||||
| BUG-956 合同未绿不得丢正文 | 完成 | 零次计算 + 有正文 → 降级交付 |
|
||||
| BUG-957 服务端预跑 | 未做 | 按任务书等 954 真实环境验证后再单开 |
|
||||
| BUG-958 应期仍先调工具 | 完成 | 窗口指令补一句 + 源码断言 |
|
||||
|
||||
## 954 选型
|
||||
|
||||
选 **(a)**。抽出 `jyotishSkillMethodCoreBlock`(方法主体 + marker),本命 Level 2 报告骨架留在 `jyotishSkillMethodBlock` 作为可选后缀。窗口不加骨架。另加一句窗口口径优先于方法块里的报告模板 / 应期表述,避免 SKILL.md 摘录把 Level 2 又带回来。不选 (b):完整方法块再逐条覆盖,会把本命应期口径先写进去再否定,窗口线刚活过来时更脆。
|
||||
|
||||
## 断言三栏(既有测试)
|
||||
|
||||
| 测试 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| 无工具 + 有正文 | `run.failed`,不发 `answer.delta` | 交付正文 + 降级说明,`run.completed`,回执 `contract-degraded` | BUG-956 |
|
||||
| 被拒 tool 的回执 status | `["completed", "failed"]` | 多一拍 `runtime-contract-incomplete` | BUG-955 |
|
||||
| schema 拒收后 `state.steps` | `skill + tool:failed` | 再加 `validation:failed` | BUG-955 |
|
||||
| 已记录的 tool 失败数 | 全部 failed 步 === 1 | tool failed 仍为 1;另有合同未完成步 | BUG-955 不得把 tool 失败再记一次 |
|
||||
| 失败回执 durationMs | `[undefined, 20936]` | 多一拍无 duration | BUG-955 |
|
||||
| 上述 used | 2 | 3 | 同上 |
|
||||
|
||||
## 测试
|
||||
|
||||
| 项 | 结果 |
|
||||
| --- | --- |
|
||||
| `tsc --noEmit` | 0 错 |
|
||||
| `npm run lint` | 0 error(120 warning,与基线同量级,未顺手修) |
|
||||
| 定向(workflow-contract / agentic-runtime / observability / voice / birth-time-mode) | 116 pass / 2 fail。2 条是本机 Windows `EPERM` 无法为 live skill 建 symlink(`personal Agent exposes…` / `general agent runtime has no Jyotish skill package…`),与基线缺口同类,不是本单引入 |
|
||||
| 本单新增 | 遍历 attach `jyotishSkillBinding()` 的 Agent 必须含 marker;窗口 `getInstructions` 后处理器不 abort;tripwire vs 空流回执步骤名不同;无工具+有正文降级;无工具+无正文仍 incomplete;窗口应期仍先调工具 |
|
||||
|
||||
Linux 门禁才是验收数字:目标 fail 回到 31,总数 ≥ 3495。窗口 Agent 运行测试在 `skill-binding.test.ts`,依赖 live skill symlink,CI Linux 上应绿。
|
||||
|
||||
## 部署后欠
|
||||
|
||||
任务书验收:staging 真发一轮申报时段提问,`/api/health` SHA 对得上,回执里有 `run-jyotish-window-consultation` 的 completed 步。本机无登录态、无 Chrome,写在这里不写成通过。
|
||||
@@ -138,7 +138,7 @@
|
||||
| `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` | `PROGRESS-consult-three-channels-fix-20260918.md` | 验收修复单:领域上限解耦(945)、31s 预算断言(946)、校正思考分片门(947)、Pass 4 按模式分流(948)、容量算术(949) | 已验收通过(Claude:tsc 0 / lint 0 error / npm test 3491 条 31 红且与基线 `742ffbc6` 同一组、原 12 条红全绿 / `/` 仍 Static / 首屏 js gzip 468,388 B 较基线 +0.02%);review 另出 BUG-950~953 见下一行 | `e32ce624` |
|
||||
| `TASK-consult-pass4-streaming-20260918.md` | `PROGRESS-consult-pass4-streaming-20260918.md` | 验收 review 三轮:Pass 4 一 hold 正文就整段蹦出、逐字流式消失(BUG-950 产品拍板按句放行);无出生分钟模式整段被一句拒绝顶掉、一般知识句一起丢(951 改按句丢弃);该模式下日期不留痕(952);校正流 token 级 thinking 是死链,按 P2 删除并把测试翻转成否定合同(953)。基线 `1e553976` | 待验收 | `cd4775ae` |
|
||||
| `TASK-window-consult-contract-20260918.md` | — | **P0 线上**:申报时段模式**自 2026-08-21 起每轮秒败**(69ms、0 token、模型从未被调用)。服务端日志实证根因:窗口 Agent attach 了 `jyotishSkillBinding()`,但 `windowJyotishInstructions` 从来不含方法块 marker,输入处理器直接 abort(BUG-954)。abort 与「模型没调工具」同码,是它藏四周的原因(955);另含合同未绿不得丢正文(956)、计算不该由模型触发(957,须等 954 上线后另轮)、窗口指令应期冲突(958)。基线 `9cdcf96b` | 待领取 | — |
|
||||
| `TASK-window-consult-contract-20260918.md` | `PROGRESS-window-consult-contract-20260918.md` | **P0 线上**:申报时段模式**自 2026-08-21 起每轮秒败**(69ms、0 token、模型从未被调用)。服务端日志实证根因:窗口 Agent attach 了 `jyotishSkillBinding()`,但 `windowJyotishInstructions` 从来不含方法块 marker,输入处理器直接 abort(BUG-954)。abort 与「模型没调工具」同码,是它藏四周的原因(955);另含合同未绿不得丢正文(956)、计算不该由模型触发(957,须等 954 上线后另轮)、窗口指令应期冲突(958)。基线 `9cdcf96b` | 待验收 | `8e3e5c73` |
|
||||
| `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