Files
zhuyongxin 38f781b157 feat(harness): complete protocol repair stop and archive ISS-016
Add repairable INVALID_PROGRESS_PROTOCOL observations, independent
PROGRESS_PROTOCOL_VIOLATED saturation, and controlled release paths.
Archive the OpenSpec change after syncing main specs and devflow.
2026-07-27 19:10:07 +08:00

2.3 KiB
Raw Permalink Blame History

Diagnosis 信息增益停止契约 Brief

背景

  • 用户目标:未知问题、空证据或缺少查询条件时,Diagnosis 能以正常业务 Fallback 结束,而不是空转到预算耗尽或 INTERNAL_FAILURE。
  • 当前问题:停止主要依赖模型自觉结束或硬预算;缺少信息增益回传、确定性饱和停止、协议修复反馈和统一 Release。
  • 关联 OpenSpec:openspec/changes/diagnosis-information-gain-stop-contract/(归档后见 openspec/changes/archive/2026-07-27-diagnosis-information-gain-stop-contract/)
  • 关联 Issue:ISS-016(承接 ISS-015 阶段 1 硬停止)
  • devflow 分档:complex
  • 接口影响:L3(模型可见 Tool Envelope 有意变更;公开 HTTP/SSE 与业务 Tool backend 不变)

范围

本次要做

  • Run 内二值信息增益 GAINED / NO_GAIN、连续无增益阈值与 COLLECTING / SATURATED。
  • 服务端注册的 Tool Call Envelope:previous_observation + input。
  • 确定性 NO_GAIN(NO_EVIDENCE、重复 tool_name + normalized_scope)。
  • 一次 STOP_REQUIRED 收尾机会与受控停止异常。
  • Canonical 控制视图 / 模型白名单观察双视图;RAG 保留 relevance_level。
  • Tool loop 结束时一次性投影 ProgressSnapshot。
  • DiagnosisReleaseUseCase 统一有结论、无结论、信息饱和、预算终止、协议违规停止的发布。
  • 可修正 INVALID_PROGRESS_PROTOCOL observation,以及独立 PROGRESS_PROTOCOL_VIOLATED 兜底停止。
  • 模型 Token 组件/轮次审计与 TOOL_REQUEST_REJECTED 安全 Trace。
  • Prompt、配置、focused/回归测试与真实 named SSE E2E。

本次不做

  • new_count、next_action、多级质量分数、独立 Judge。
  • 自然语言语义去重。
  • 第二套诊断生命周期状态。
  • 公开 HTTP/SSE 字段或前端进度协议新增。
  • ISS-015 Reasoning 原文审计治理与 Evidence Repair Schema 注入。

影响区域

  • harness.progress、HarnessToolInterceptor、HarnessEvidenceTools
  • DiagnosisAgentUseCase / Prompt / Release / Application 预算兜底迁移
  • Trace 审计、配置绑定、ISS-015/016 与架构文档

OpenSpec 对齐

  • proposal 覆盖状态:已覆盖
  • specs 覆盖状态:已覆盖(6 个 capability delta,已同步 main specs)
  • tasks 覆盖状态:已覆盖(37/37 完成)