docs(harness): annotate progress core classes and add code-level learning notes
- Annotate DiagnosisProgressTracker, HarnessToolInterceptor, DiagnosisProgressProjector, DiagnosisReleaseUseCase, ToolBoundary, ToolBoundaryResult, CanonicalToolInvocation - Add progress code learning note: interceptor gates, tracker state machine, canonical lifecycle, execution gate, projection/release pipeline - Update learning roadmap: progress marked as deeply learned, next is tool domain
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
|
||||
### 0.4 当前会话的起始上下文(供追溯)
|
||||
|
||||
本次学习从 Harness 入口文档开始,已完整走过:入口导读 → 面试速查 → RunContext → 执行控制(budget/cancel/lifecycle/checkActive)→ 取消广播与打断机制 → RunBudget 深挖 → retry(设计+实现+超时+幂等性)→ 状态流预备(枚举归属)。当前停在「执行控制面已闭环,下一步 progress」的位置。
|
||||
本次学习从 Harness 入口文档开始,已完整走过:入口导读 → 面试速查 → RunContext → 执行控制(budget/cancel/lifecycle/checkActive)→ 取消广播与打断机制 → RunBudget 深挖 → retry(设计+实现+超时+幂等性)→ progress(设计+代码双视角,含 ToolBoundary/canonical/Release 衔接)。当前停在「progress ✅ 已完成,下一步 tool」的位置。
|
||||
|
||||
### 0.5 面试准备策略(学习目标)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
| `guard` | **验证分离**:EvidenceGuard 机械验引用真实性 + SemanticGuard 隔离判结论支持度 | ⬜ 部分 | GuardModelCall(预算/超时/取消订阅) | — |
|
||||
| `release` | **唯一发布点**:SUCCESS / FALLBACK 裁决,EvidenceRepair 只修引用,SafeFallback 确定性构造 | ⬜ 部分 | DiagnosisReleaseResult(结果类型) | — |
|
||||
| `tool` | **证据边界**:ToolBoundary 统一执行规则、canonical 保存真相、projector 有界投影、MySQL 只读沙箱 | ⬜ 空白 | JdbcMysqlReadOnlyExecutor(取消订阅) | — |
|
||||
| `progress` | **收敛控制**:信息增益(GAINED/NO_GAIN)、重复检测、饱和停止(预算之外的第二套停止机制) | ⬜ 空白 | — | — |
|
||||
| `progress` | **收敛控制**:信息增益(GAINED/NO_GAIN)、重复检测、饱和停止(预算之外的第二套停止机制) | ✅ 深入 | 设计动机、Tracker 双计数/pending/软硬停止、拦截器五道门、canonical 生命周期、Projector 投影、Release 消费 | [代码学习笔记](Harness progress 代码学习笔记-从拦截器五道门到唯一发布点.md)(与[设计视角](Harness信息增益停止-让无证据诊断正常收敛.md)配套) |
|
||||
|
||||
图例:✅ 深入 = 已完整学透,能面试讲 2 分钟;⬜ 部分 = 接触过但没系统学;⬜ 空白 = 未开始
|
||||
|
||||
@@ -100,13 +100,15 @@
|
||||
| [Harness 执行控制笔记-终态检查与取消广播](Harness执行控制笔记-终态检查与取消广播.md) | RunContext / checkActive / 两个 CAS / 取消广播 / 打断机制 | ✅ 已沉淀 |
|
||||
| [RunBudget 预算流程-一次 Run 的资源门禁时序图](RunBudget预算流程-一次Run的资源门禁时序图.md) | RunBudget 时序图 / 字段组件 / 异常终态 / 三要素 | ✅ 已沉淀 |
|
||||
| [Retry 重试机制-显式可计量的 attempt 循环](Retry重试机制-显式可计量的attempt循环.md) | Retry 设计动机 / 分类裁决 / 剩余超时 / 幂等性 | ✅ 已沉淀 |
|
||||
| [Harness 信息增益停止-让无证据诊断正常收敛](Harness信息增益停止-让无证据诊断正常收敛.md) | progress 设计视角:双停止机制 / 三方判断权 / 状态机 / 协议 / 真实问题 | ✅ 已沉淀(设计视角) |
|
||||
| [Harness progress 代码学习笔记-从拦截器五道门到唯一发布点](Harness%20progress%20代码学习笔记-从拦截器五道门到唯一发布点.md) | progress 代码视角:类地图 / 五道门 / Tracker 状态机 / canonical 生命周期 / 门禁 / 投影发布 / 易错点 / 面试话术 | ✅ 已沉淀(代码视角) |
|
||||
|
||||
## 3. 一次请求的完整学习主线
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["core<br/>执行控制 ✅"] --> B["retry<br/>重试 ✅"]
|
||||
B --> C["progress<br/>信息增益 ⬜"]
|
||||
B --> C["progress<br/>信息增益 ✅"]
|
||||
C --> D["tool<br/>事实边界 ⬜"]
|
||||
D --> E["guard<br/>验证 ⬜"]
|
||||
E --> F["release<br/>发布 ⬜"]
|
||||
@@ -117,13 +119,15 @@ flowchart LR
|
||||
## 4. 下一步规划
|
||||
|
||||
```text
|
||||
下一个:progress(信息增益停止)——14 个文件,小而独立
|
||||
和刚学完的预算组成"双停止机制":预算管"能不能花",信息增益管"继续查有没有价值"
|
||||
progress ✅ 已完成(设计+代码双视角笔记沉淀,代码核心类全部加注释)
|
||||
|
||||
下一个:tool(49 个文件,按四层理解:Boundary → Canonical → Projector → Adapter)
|
||||
—— 已在 progress 学习中顺带摸过 ToolBoundary / CanonicalInvocationStore / Adapter / Projector
|
||||
—— 正式系统学时按四层主线走,把投影器、JPA store、MySQL 沙箱补齐
|
||||
|
||||
之后顺序:
|
||||
tool(49 个文件,按四层理解:Boundary → Canonical → Projector → Adapter)
|
||||
guard(15 个文件:EvidenceGuard + SemanticGuard)
|
||||
release(6 个文件,小而关键:唯一发布点)
|
||||
release(6 个文件,小而关键:唯一发布点——已接触 DiagnosisReleaseUseCase)
|
||||
补 application(路由/执行器/SSE 收尾)和 audit(Trace 回放)
|
||||
最后状态流(RunState ↔ ReleaseOutcome ↔ SseOutcome 正交全景)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user