approve: 修复当前迭代 2 个功能 Bug(pbls-初始迭代)

This commit is contained in:
agent.develop 2026-09-30 18:15:34 +08:00
parent b54ff004af
commit 65bb1ae6a8

View File

@ -31,7 +31,10 @@ else:
_M11B_IMPORT_ERROR = None
MODULE = "pbl_runtime_ext"
EXPECTED_TABLES = 3
# [r13-start3 修复] 原值 3 是陈旧硬编码:tables.py(单一真源)为 4 表——
# M11a 新增 pbl_runtime_idempotency 后本常量未同步,导致 fail-closed 拒启。
# 期望表数以 tables.TABLES 为准,此处仅做漂移哨兵。
EXPECTED_TABLES = 4
# M11b 必须在 ServerEnv 上注册的名字(dspy 裸全局名调用);自检据此核对「三处同步」
M11A_ENV_REGISTRATIONS = (
@ -303,9 +306,12 @@ def load_pbl_runtime_ext(env=None):
for m in msgs:
_log(srv, m)
if not ok:
# [r13-start3 修复] 原过滤 "FAIL" in m:失败行(如"表数=4 应为 3")不含 FAIL
# → 报错正文恒为空,不可行动。改为取全部非 PASS 行,仍为空则回显全量尾部。
_failed = [m for m in msgs if "PASS" not in m] or msgs[-6:]
raise RuntimeError(
"%s self_check FAILED(fail-closed,拒绝启动):%s"
% (MODULE, "; ".join([m for m in msgs if "FAIL" in m][:6]))
% (MODULE, "; ".join(_failed[:6]))
)
# 注册完整性同样 fail-closed:漏一个 dspy 契约名字就拒绝挂载(防上线 NameError)