[M5b] 证据聚合与查询契约:init.py 补齐 load_pbl_evidence() 内 9 个契约函数 env 挂载(③注册) + 硬门禁5 复数别名(pbl_evidence_lists 等),消除 .dspy 调用 NameError 风险

This commit is contained in:
agent.develop 2026-09-22 17:04:22 +08:00
parent 786f3a2f9d
commit 1983205382

View File

@ -3,11 +3,15 @@
"""`load_pbl_evidence()` —— pbl_evidence 模块唯一挂载入口。
注册三处同步之 ③:``env.<契约名> = <契约名>``
(① 定义在 api.py,② 导出在 __init__.py,③ 本文件挂 ServerEnv)。
漏本文件注册 → .dspy 调用 NameError。
(① 定义在 api.py/aggregation.py/crud_api.py,② 导出在 __init__.py,③ 本文件挂 ServerEnv)。
漏本文件注册 → .dspy 调用 NameError(M5a 事故根因)。
宿主应用(apps/pbls)在 ``init()`` 中按拓扑序调用本函数;库名由宿主
``get_module_dbname('pbl_evidence')`` 决定,本模块不硬编码。
复数别名(module-development-spec 硬门禁 5):CRUD 框架生成的 .dspy 包装器用
复数表名(create_pbl_evidences / pbl_evidence_lists 等),而本模块函数按单数语义
命名,故两个名字都挂,避免框架端点取不到函数。
"""
from ahserver.serverenv import ServerEnv
@ -64,6 +68,18 @@ def load_pbl_evidence():
env.pbl_evidence_aggregate = pbl_evidence_aggregate
env.pbl_evidence_query = pbl_evidence_query
env.pbl_evidence_subject_summary = pbl_evidence_subject_summary
# ── 复数别名(硬门禁 5:CRUD 生成端点按复数表名取函数,单复数都要可达)──
env.pbl_artifact_lists = pbl_artifact_list
env.pbl_artifact_options_plural = pbl_artifact_options
env.pbl_evidence_lists = pbl_evidence_list
env.pbl_evidence_stats_plural = pbl_evidence_stats
env.pbl_evidence_watermark_plural = pbl_evidence_watermark
env.pbl_evidence_querys = pbl_evidence_query
env.pbl_evidence_aggregates = pbl_evidence_aggregate
env.pbl_evidence_updates = pbl_evidence_update
env.pbl_evidence_deletes = pbl_evidence_delete
env.pbl_evidence_collect_idempotents = pbl_evidence_collect_idempotent
env.pbl_evidence_subject_summarys = pbl_evidence_subject_summary
# ── 底层能力(供 M5b 回放 / M6 评估直接复用)──────────────────
env.pbl_collect_evidence_from_events = collect_evidence_from_events
env.pbl_resolve_event_table = resolve_event_table