Files
Agent-System/.doc/audit/2026-09-13-document-revision-quality-gate-self-pollution.md
T
weichenandCursor 900af79e14 fix(docgov): quality gate self-pollution, server repair budget, quality_failed UI
受控小队任务服务端启用修复预算;否定性自检引用不再误报;quality_failed 保持失败且不激活未过门禁稿。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 15:00:50 +00:00

2.2 KiB
Raw Blame History

title, status, created, updated, severity
title status created updated severity
质量门禁自污染与 auto_repair 未启用导致 quality_failed in_progress 2026-09-13 2026-09-13 high

质量门禁自污染与 auto_repair 未启用导致 quality_failed

现象

同一整改范围真实 run(与 SSE/幂等现场同源):

  • workspace=data/dev/workspaces/bizdev/intake_1789308825666278807
  • run 于 14:17:51 结束为 quality_failed(仅 1 个 task_runs)
  • 质量门禁事件:score=40,命中 不做展开 / 篇幅有限 / 从略
  • output.md 第204行终稿自检表:无"不做展开""从略""篇幅有限"等敷衍套话 → 门禁 strings.Contains 自污染误报
  • 请求体未带 auto_repair;虽存在 EnsureQualityOrRepair,实际 maxRetries=0
  • chat_messages 同 client_turn 两对(1131/1132 正常;1133/1134 重连误写)——与 SSE 幂等缺陷同源,另案处理

根因

项 说明
A 修复预算依赖客户端 auto_repair(浏览器可省略,默认 false)
B 生成指令与自检表原样引用禁词;检测无否定/元语境豁免
C FE 将 quality_failed 映射为 completed,并在断线 catch 路径同步受控文档
D 缺真实失败形态单测

整改(同分支 fix/document-revision-sse-idempotency)

  • A:有 TaskKey 的受控小队任务服务端强制 DefaultMaxRepairRounds;handlers 产品契约 AutoRepair: true
  • B:prompt 去原词;containsProhibitedUsage + 否定/元语境;违规文案与修复 TASK 不回写禁词
  • C:TerminalStatus 优先 quality;Materialize 仅 Passed;FE quality_failed 独立失败态且不同步激活
  • D:现场 L204 / repair budget / TerminalStatus / FE 映射单测

证据

关联