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

46 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 完成)