1.2 KiB
1.2 KiB
type, node_id, title, date
| type | node_id | title | date |
|---|---|---|---|
| design | design:m3-ocr | M3 OCR 端口族设计 | 2026-07-21 |
M3 OCR 端口族设计
全文见 2026-07-21-m3-ocr-design.md。
- 选定方案: A——独立治理循环
OcrClient(EmbeddingClient/M2 §7 G2 同款先例),复用 QuotaGate/BreakerGate/退避公式/错误四分类/TelemetryEmitter/选源器;新增OcrTransport端口 +transports/monkey_ocr.py双端点实现。 - 关键理由: OCR 不需要 chat 循环的 429 免预算/AIMD/流式看门狗/缓存/结构化重问,强行合一才是复制;不触碰 M2.5 刚验收的 retry.py。
- 被否决备选: B 泛化治理核心(需重构 M2.5 六机制为开关化,回归风险大收益低);C OCR 伪装 ChatRequest 走既有洋葱(类型语义崩坏,中间件空转旁路)。
- 随带销账: G1(errors.py 字段 M1/M2 已落地,核实+文档销账)、R9(trust_env 配置面已存在,transport 尊重即可)、R10(check_health 逐源 dict[str,bool])。
- 实况取证: /parse 的 download_url 为相对路径;
para_blocks统一元素列表与tablesbbox 一致(4 样本核实),elements 全量提取无损覆盖 CHS 首表路径。