33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# Brief: single-react-harness-run-context
|
||
|
||
## 背景
|
||
|
||
旧 Chat/AIOps 通过多个 ThreadLocal 和业务方法内状态机传播 session/run/token/retry,无法成为后续 Tool、Agent、Guard 和新入口的稳定共同边界。Spring AI 默认 10 attempts 还会制造未被 Harness 记录的隐藏重试。
|
||
|
||
## 目标
|
||
|
||
- 建立显式、结构不可变、可异步传播的 RunContext。
|
||
- 集中实现 deadline、协作式取消、线程安全预算和唯一 Run 终态。
|
||
- 实现类型化、最多两次 attempt、逐 attempt 记录的 Harness retry。
|
||
- 提供阶段 3A 可直接使用的 Tool Call Key Factory 和单 Run 容量计数器。
|
||
- 将 Spring AI 底层 retry 压为一次。
|
||
|
||
## 范围
|
||
|
||
- 新增 Harness Core/Retry/Tool Store foundation 类型和 focused Fake tests。
|
||
- 更新 `application.yml` 的 Spring AI retry 配置。
|
||
- 更新 glossary 和 OpenSpec/devflow 档案。
|
||
|
||
## 非目标
|
||
|
||
- 不接入旧 ChatService/AiOpsService/Controller/SSE。
|
||
- 不读写现有 ThreadLocal,不删除旧实现。
|
||
- 不写 `diagnosis_run` 或 Redis,不实现 Tool projection。
|
||
|
||
## 元数据
|
||
|
||
- 分档:complex
|
||
- 接口影响:L2;另有关闭旧 SDK 隐式 retry 的有意内部行为变化
|
||
- 关联 Issue:ISS-014 阶段 2
|
||
- 关联 OpenSpec:`openspec/changes/single-react-harness-run-context`
|