# PROGRESS · 申报时段咨询修复(2026-09-18 第四轮) 工作树:`.worktrees/window-consult-contract-20260918` 分支:`codex/window-consult-contract-20260918` 基线:`origin/staging` @ `e5b2ad14`(任务书写 `9cdcf96b`,其后纯文档已快进到改写后的任务书) 合入提交:`5b6abc23` 任务书:`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,写在这里不写成通过。