diff --git a/docs/tasks/PROGRESS-rectification-set-focus-tool-failed-20260912.md b/docs/tasks/PROGRESS-rectification-set-focus-tool-failed-20260912.md index 1503ebd1..8a56cfae 100644 --- a/docs/tasks/PROGRESS-rectification-set-focus-tool-failed-20260912.md +++ b/docs/tasks/PROGRESS-rectification-set-focus-tool-failed-20260912.md @@ -38,6 +38,12 @@ Staging 容器日志(`deploy@118.26.111.127`,密钥 `~/.ssh/jyotisha-staging - 未跑 `next build` / 首屏 gzip - 未部署 staging 真机走查 +## 门禁跟进 + +- Independent Staging Quality Gate run 2573 (`073a45b7`) validate 失败:`npm test` **fail 1 / 3136** +- 失败项:`compare failure copy and receipt detail stay user-visible without PII` 仍锁 compare catch 内联 `engine_message: engineMessageForReceipt`;BUG-659 已抽到 `failReceipt` +- 源码锁改为断言 helper 写 `engine_message` 且 compare catch 调用 `failReceipt` + ## 未做 - 未 push、未部署。真机:开场说两件学业,本轮不得出现 `tool_failed`;兜底或模型正文日期不重复。 diff --git a/frontend/tests/rectification-stale-compare-fix-20260907.test.ts b/frontend/tests/rectification-stale-compare-fix-20260907.test.ts index de5bc8ce..9ab04d9a 100644 --- a/frontend/tests/rectification-stale-compare-fix-20260907.test.ts +++ b/frontend/tests/rectification-stale-compare-fix-20260907.test.ts @@ -223,7 +223,12 @@ test("compare failure copy and receipt detail stay user-visible without PII", () assert.match(agentRun, /withCompareFailedRetryNotice/); assert.match(agentRun, /rectification-compare-candidates/); const tools = readFileSync(new URL("../src/mastra/rectification-v9-tools.ts", import.meta.url), "utf8"); - assert.match(tools, /engine_message: engineMessageForReceipt/); + // 原值: /engine_message: engineMessageForReceipt/ 写在 compare catch 里 + // 新值: failReceipt 统一写 engine_message,compare catch 调用它 + // 原因: BUG-659 失败回执抽成共享 helper,源码锁仍要保住脱敏原文 + assert.match(tools, /const message = engineMessageForReceipt\(error\)/); + assert.match(tools, /engine_message: message/); + assert.match(tools, /failReceipt\("rectification-compare-candidates"/); }); test("idle persist on a stale snapshot calls candidate score once", async () => {