feat(_stopping): 落成停止判定四档,0008 转已接受
四个纯函数各管一档,顺序本身由主循环走:预算准入(A)、提示词规模(B)、连续解析失败(D)、 完成判定(G)。加一个不可变的三计数结构。 三处刻意钉死的边界,都写了测试: - 两个预算上界同时耗尽报步数那一个。理由是兼容性不是原理(某下游按步数耗尽的占比告警), 正因为推不出来才必须被测试钉死。 - 预算「达到即拦」用 >=,提示词规模「超过才拦」用 >。两处不是同一件事:一个数已经用掉 几个额度,一个量一个东西有多大。 - 环境故障排在完成判定前面;未执行不做完成判定;完成信号恒为假不是故障(初稿在这里 写错过,会让某个下游的每一次运行都在第一步终止)。 不 import polyloop.tools,五个逻辑层模块互不 import,所以「这次执行的工具被标了完成标记吗」 由调用方查好注册表传一个布尔进来。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Design 0008 · 工具的实现怎么挂进注册表
|
||||
|
||||
**日期** 2026-08-10 · **状态** 待确认
|
||||
**日期** 2026-08-10 · **状态** 已接受(2026-08-10 项目负责人确认)
|
||||
|
||||
**补充** `0006-public-names-and-signatures.md` 决策六。那一条定了 `ToolSpec` 的五个字段与
|
||||
`ToolRegistry` 的五个方法,本文补上其中缺的那一样:工具本身的实现挂在哪里。
|
||||
|
||||
Reference in New Issue
Block a user