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.
2.3 KiB
2.3 KiB
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_PROTOCOLobservation,以及独立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、HarnessEvidenceToolsDiagnosisAgentUseCase/ Prompt / Release / Application 预算兜底迁移- Trace 审计、配置绑定、ISS-015/016 与架构文档
OpenSpec 对齐
- proposal 覆盖状态:已覆盖
- specs 覆盖状态:已覆盖(6 个 capability delta,已同步 main specs)
- tasks 覆盖状态:已覆盖(37/37 完成)