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.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 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 完成)
|
||||
Reference in New Issue
Block a user