42 lines
2.6 KiB
Markdown
42 lines
2.6 KiB
Markdown
# 进度 · 咨询第 0 步 required 修复单(2026-09-17)
|
||
|
||
工作树:`.worktrees/consult-followup-tool-contract-fix-20260917`
|
||
分支:`codex/consult-followup-tool-contract-fix-20260917`
|
||
基线:`origin/staging` @ `b51e7aff`(含 §2b:`gpt-5.6-luna` 接受 required,T2 第一优先)
|
||
合入提交:`8b11ae7d`
|
||
|
||
## 任务状态
|
||
|
||
| 任务 | 状态 | 说明 |
|
||
| --- | --- | --- |
|
||
| T2 / BUG-938 识别 Mastra `error` 块 | 完成 | 先做。`consumeAttempt` 遇 `error` 立即结束 attempt,内部码 `thinking_tool_choice_unsupported` / `provider_error`,公开码 `calculation_failed`,不进合同 retry |
|
||
| T1 / BUG-937 第 0 步撤回 required | 完成 | `activeTools` + `toolChoice: "auto"`。跨供应商防护;§2b 反证该模型接受 required,不推翻 T1 |
|
||
| T3 记录 | 完成 | BUG-937/938、BUG-923 防复发改写、CHANGELOG、本文件、README、走查清单 |
|
||
| T4 部署后取证 | 环境缺口 | 无登录态 / 无模型凭据 / 无 VPS。清单在 `docs/testing/consult-followup-tool-contract-fix-20260917.md` |
|
||
|
||
未改 `page.tsx`、Python、Skill、`contractReady()`。
|
||
|
||
## 断言三栏
|
||
|
||
| 位置 | 原值 | 新值 | 原因 |
|
||
| --- | --- | --- | --- |
|
||
| `consultationNatalPrepareStep` 第 0 步 `toolChoice` | `"required"` | `"auto"` | BUG-282 至少一个 thinking 供应商拒收 required;BUG-937 |
|
||
| `consultationWindowPrepareStep` 第 0 步 `toolChoice` | `"required"` | `"auto"` | 同上 |
|
||
|
||
## 测试
|
||
|
||
| 项 | 结果 |
|
||
| --- | --- |
|
||
| `tsc --noEmit` | 0 错 |
|
||
| `npm run lint` | 0 error(118 warning,未动) |
|
||
| `consultation-workflow-contract` | 含新契约 `prepareStep never sends required or named toolChoice` **绿** |
|
||
| `agent-observability` | `provider_error` / `thinking_tool_choice_unsupported` 原样落日志 **绿** |
|
||
| BUG-938 两条假流 | 隔离跑 **2 passed**(公开码 `calculation_failed`、无 `loading-method`、retry 不调用、`onError` 内部码)。整文件 `consultation-agentic-runtime.test.ts` 因 Windows `EPERM` skill symlink 无法加载,Linux 门禁不受影响 |
|
||
| 全量 `npm test` | 本机 Windows **2541 / pass 2374 / fail 152 / skip 15**。失败以 Docker、`G:\G:\...` 双盘符 ENOENT、skill `EPERM` symlink 为主。任务点名的契约测试不在新增红里 |
|
||
| `next build` | 本单未改客户端 bundle,gzip 预期 0。本机未重量(Windows worktree 构建常撞 skill symlink `EPERM`) |
|
||
| Python | 未改 |
|
||
|
||
## §2b
|
||
|
||
同日 `gpt-5.6-luna` 本命路线接受过 `required`。T2 仍是第一优先:其它失败必须能从 `[consult-provider-error]` 看见原文。T1 保留,因为模型可切换,BUG-282 已实证过拒收。
|